Skip to content

Commit 5ebca7c

Browse files
Merge remote-tracking branch 'origin/develop' into HEAD
2 parents a2e7f59 + d3b92a9 commit 5ebca7c

File tree

125 files changed

+5976
-787
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+5976
-787
lines changed

.github/workflows/main.yml

Lines changed: 37 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,11 @@ jobs:
7272
steps:
7373
- name: Print home directory
7474
run: echo Home directory inside container $HOME
75-
75+
- name: Setup cmake
76+
if: matrix.os == 'macos-latest'
77+
uses: jwlawson/[email protected]
78+
with:
79+
cmake-version: '3.29.x'
7680
- name: Cache .hunter folder
7781
if: matrix.os != 'windows-latest'
7882
uses: actions/cache@v3
@@ -132,8 +136,12 @@ jobs:
132136
needs: build-docstrings
133137
strategy:
134138
matrix:
135-
rpi-os: [rpi-buster, rpi-bullseye]
139+
rpi-os: [rpi-buster, rpi-bullseye, rpi-bookworm]
136140
runs-on: ${{ matrix.rpi-os }}
141+
env:
142+
# workaround required for cache@v3, https://github.com/actions/cache/issues/1428
143+
# to be removed when upgrading the manylinux image
144+
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
137145
steps:
138146
- name: Print home directory
139147
run: echo Home directory inside container $HOME
@@ -152,10 +160,10 @@ jobs:
152160
if: startsWith(github.ref, 'refs/tags/v') != true
153161
run: echo "BUILD_COMMIT_HASH=${{github.sha}}" >> $GITHUB_ENV
154162
- name: Building wheel
155-
run: python3 -m pip wheel . -w ./wheelhouse/ --verbose
163+
run: CMAKE_ARGS='-DDEPTHAI_ENABLE_CURL=OFF' python3 -m pip wheel . -w ./wheelhouse/ --verbose
156164
- name: Auditing wheels and adding armv6l tag (Running on RPi, binaries compiled as armv6l)
157165
run: |
158-
python3 -m pip install -U wheel auditwheel
166+
# python3 -m pip install -U wheel auditwheel # Called once when setting up the runner
159167
for whl in wheelhouse/*.whl; do auditwheel repair "$whl" --plat linux_armv7l -w wheelhouse/preaudited/; done
160168
for whl in wheelhouse/preaudited/*.whl; do python3 -m wheel tags --platform-tag +linux_armv6l "$whl"; done
161169
mkdir -p wheelhouse/audited/
@@ -180,7 +188,7 @@ jobs:
180188
runs-on: windows-latest
181189
strategy:
182190
matrix:
183-
python-version: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11']
191+
python-version: [3.7, 3.8, 3.9, '3.10', '3.11', '3.12']
184192
python-architecture: [x64, x86]
185193
fail-fast: false
186194
steps:
@@ -203,6 +211,8 @@ jobs:
203211
- name: Select Windows SDK
204212
run: echo "CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=${{ env.CMAKE_WINDOWS_SDK_VERSION }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
205213

214+
- name: Install dependencies
215+
run: choco install strawberryperl
206216
- name: Set up Python ${{ matrix.python-version }}
207217
uses: actions/setup-python@v4
208218
with:
@@ -230,13 +240,13 @@ jobs:
230240
ARTIFACTORY_PASS: ${{ secrets.ARTIFACTORY_PASS }}
231241

232242
# This job builds wheels for macOS x86_64 arch
233-
build-macos-x86_64:
243+
build-macos:
234244
needs: build-docstrings
235-
runs-on: macos-latest
236245
strategy:
237246
matrix:
238-
python-version: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11']
239-
fail-fast: false
247+
python-version: [3.8, 3.9, '3.10', '3.11', '3.12']
248+
os: [macos-13, macos-14] # macos-13 is x64, macos-14 is arm64
249+
runs-on: ${{ matrix.os }}
240250
steps:
241251
- name: Cache .hunter folder
242252
uses: actions/cache@v3
@@ -290,69 +300,16 @@ jobs:
290300
ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }}
291301
ARTIFACTORY_PASS: ${{ secrets.ARTIFACTORY_PASS }}
292302

293-
# This job builds wheels for macOS arm64 arch
294-
build-macos-arm64:
295-
needs: build-docstrings
296-
runs-on: [self-hosted, macOS, ARM64]
297-
steps:
298-
# Cached locally on runner
299-
# - name: Cache .hunter folder
300-
# uses: actions/cache@v3
301-
# with:
302-
# path: ~/.hunter
303-
# key: hunter-macos-latest
304-
- name: List .hunter cache directory
305-
run: |
306-
ls -a -l ~/.hunter/_Base/ || true
307-
echo "PATH=$PATH"
308-
309-
- uses: actions/checkout@v3
310-
with:
311-
submodules: 'recursive'
312-
313-
- uses: actions/download-artifact@v3
314-
with:
315-
name: 'docstrings'
316-
path: docstrings
317-
- name: Specify docstring to use while building the wheel
318-
run: echo "DEPTHAI_PYTHON_DOCSTRINGS_INPUT=$PWD/docstrings/depthai_python_docstring.hpp" >> $GITHUB_ENV
319-
320-
- name: Append build hash if not a tagged commit
321-
if: startsWith(github.ref, 'refs/tags/v') != true
322-
run: echo "BUILD_COMMIT_HASH=${{github.sha}}" >> $GITHUB_ENV
323-
324-
# - name: Build and install depthai-core
325-
# run: |
326-
# echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> $GITHUB_ENV
327-
# cmake -S depthai-core/ -B build_core -D CMAKE_BUILD_TYPE=Release -D CMAKE_TOOLCHAIN_FILE=$PWD/cmake/toolchain/pic.cmake
328-
# cmake --build build_core --target install --parallel 4
329-
# echo "DEPTHAI_INSTALLATION_DIR=$PWD/build_core/install/" >> $GITHUB_ENV
330-
331-
- name: Build wheels
332-
run: for PYBIN in {9..11}; do "python3.${PYBIN}" -m pip wheel . -w wheelhouse/ --verbose; done
333-
334-
- name: Auditing wheels
335-
run: delocate-wheel -v -w wheelhouse/audited wheelhouse/*.whl
336-
337-
- name: Archive wheel artifacts
338-
uses: actions/upload-artifact@v3
339-
with:
340-
name: audited-wheels
341-
path: wheelhouse/audited/
342-
- name: Deploy wheels to artifactory (if not a release)
343-
if: startsWith(github.ref, 'refs/tags/v') != true
344-
run: bash ./ci/upload-artifactory.sh
345-
env:
346-
ARTIFACTORY_URL: ${{ secrets.ARTIFACTORY_URL }}
347-
ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }}
348-
ARTIFACTORY_PASS: ${{ secrets.ARTIFACTORY_PASS }}
349-
350303
# This job builds wheels for x86_64 arch
351304
build-linux-x86_64:
352305
needs: build-docstrings
353306
runs-on: ubuntu-latest
307+
env:
308+
# workaround required for cache@v3, https://github.com/actions/cache/issues/1428
309+
# to be removed when upgrading the manylinux image
310+
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
354311
container:
355-
image: quay.io/pypa/manylinux2014_x86_64:2022-10-30-402504a
312+
image: quay.io/pypa/manylinux2014_x86_64:latest
356313
env:
357314
PLAT: manylinux2014_x86_64
358315
steps:
@@ -365,7 +322,7 @@ jobs:
365322
with:
366323
submodules: 'recursive'
367324
- name: Installing libusb1-devel dependency
368-
run: yum install -y --disableplugin=fastestmirror libusb1-devel
325+
run: yum install -y --disableplugin=fastestmirror libusb1-devel perl-core
369326
- name: Installing cmake dependency
370327
run: |
371328
/opt/python/cp38-cp38/bin/python3.8 -m pip install cmake
@@ -395,7 +352,7 @@ jobs:
395352
/opt/python/cp38-cp38/bin/python3.8 setup.py sdist --formats=gztar
396353
mv dist/* wheelhouse/audited/
397354
- name: Build wheels
398-
run: for PYBIN in /opt/python/cp3{6..11}*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
355+
run: for PYBIN in /opt/python/cp3{7..12}*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
399356
- name: Audit wheels
400357
run: for whl in wheelhouse/*.whl; do auditwheel repair "$whl" --plat $PLAT -w wheelhouse/audited/; done
401358
- name: Archive wheel artifacts
@@ -415,8 +372,12 @@ jobs:
415372
build-linux-arm64:
416373
needs: build-docstrings
417374
runs-on: [self-hosted, linux, ARM64]
375+
env:
376+
# workaround required for cache@v3, https://github.com/actions/cache/issues/1428
377+
# to be removed when upgrading the manylinux image
378+
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
418379
container:
419-
image: quay.io/pypa/manylinux2014_aarch64:2022-10-30-402504a
380+
image: quay.io/pypa/manylinux2014_aarch64:latest
420381
env:
421382
PLAT: manylinux2014_aarch64
422383
# Mount local hunter cache directory, instead of transfering to Github and back
@@ -427,7 +388,7 @@ jobs:
427388
with:
428389
submodules: 'recursive'
429390
- name: Installing libusb1-devel dependency
430-
run: yum install -y --disableplugin=fastestmirror libusb1-devel
391+
run: yum install -y --disableplugin=fastestmirror libusb1-devel perl-core
431392
- name: Installing cmake dependency
432393
run: |
433394
/opt/python/cp38-cp38/bin/python3.8 -m pip install cmake
@@ -452,7 +413,7 @@ jobs:
452413
if: startsWith(github.ref, 'refs/tags/v') != true
453414
run: echo "BUILD_COMMIT_HASH=${{github.sha}}" >> $GITHUB_ENV
454415
- name: Building wheels
455-
run: for PYBIN in /opt/python/cp3{6..11}*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
416+
run: for PYBIN in /opt/python/cp3{7..12}*/bin; do "${PYBIN}/pip" wheel . -w ./wheelhouse/ --verbose; done
456417
- name: Auditing wheels
457418
run: for whl in wheelhouse/*.whl; do auditwheel repair "$whl" --plat $PLAT -w wheelhouse/audited/; done
458419
- name: Archive wheel artifacts
@@ -470,7 +431,7 @@ jobs:
470431

471432
release:
472433
if: startsWith(github.ref, 'refs/tags/v')
473-
needs: [pytest, build-linux-armhf, build-windows-x86_64, build-macos-x86_64, build-macos-arm64, build-linux-x86_64, build-linux-arm64]
434+
needs: [pytest, build-linux-armhf, build-windows-x86_64, build-macos, build-linux-x86_64, build-linux-arm64]
474435
runs-on: ubuntu-latest
475436

476437
steps:
@@ -531,18 +492,6 @@ jobs:
531492
ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }}
532493
ARTIFACTORY_PASS: ${{ secrets.ARTIFACTORY_PASS }}
533494

534-
notify_robothub:
535-
if: startsWith(github.ref, 'refs/tags/v')
536-
needs: [release]
537-
runs-on: ubuntu-latest
538-
steps:
539-
- name: Repository Dispatch
540-
uses: peter-evans/repository-dispatch@v2
541-
with:
542-
token: ${{ secrets.REPO_ACCESS_TOKEN }}
543-
repository: luxonis/robothub-apps
544-
event-type: depthai-python-release
545-
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
546495

547496
# notify_hil_workflow_linux_x86_64:
548497
# needs: [build-linux-x86_64]
@@ -556,8 +505,8 @@ jobs:
556505
# event-type: python-hil-event
557506
# client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
558507

559-
notify_hil_workflow_linux_x86_64:
560-
needs: [build-linux-x86_64]
508+
notify_hil_workflow:
509+
needs: [build-linux-armhf, build-linux-x86_64]
561510
runs-on: ubuntu-latest
562511
steps:
563512
- name: Dispatch an action and get the run ID
@@ -573,4 +522,4 @@ jobs:
573522
workflow_timeout_seconds: 300 # was 120 Default: 300
574523

575524
- name: Release
576-
run: echo "https://github.com/luxonis/depthai-core-hil-tests/actions/runs/${{steps.return_dispatch.outputs.run_id}}" >> $GITHUB_STEP_SUMMARY
525+
run: echo "https://github.com/luxonis/depthai-core-hil-tests/actions/runs/${{steps.return_dispatch.outputs.run_id}}" >> $GITHUB_STEP_SUMMARY

.github/workflows/test-install-dependencies.yml

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
runs-on: ubuntu-latest
1717
strategy:
1818
matrix:
19-
container_image: ["fedora:34", "fedora:35", "fedora:36", "ubuntu:18.04", "ubuntu:20.04", "ubuntu:22.04", "ubuntu:22.10"]
19+
container_image: ["fedora:34", "fedora:35", "fedora:36", "ubuntu:20.04", "ubuntu:22.04", "ubuntu:24.04", "ubuntu:rolling"]
2020
container:
2121
image: ${{ matrix.container_image }}
2222
steps:
@@ -32,33 +32,51 @@
3232
ln -snf /usr/share/zoneinfo/UTC /etc/localtime && echo UTC > /etc/timezone # Otherwise tzdata installer prompts for user input
3333
sed '/udevadm control --reload-rules && sudo udevadm trigger/d' docs/source/_static/install_dependencies.sh > tmp_script.sh # Doesn't work on docker
3434
bash tmp_script.sh
35+
- name: Create a virtual environment
36+
if: endsWith(matrix.container_image, 'rolling') == true
37+
run: |
38+
sudo apt-get install -y python3-venv
39+
python3 -m venv .env
40+
. .env/bin/activate
41+
pip install --upgrade pip
42+
python3 examples/install_requirements.py
43+
shell: bash
3544
- name: Install example requirements
45+
if: endsWith(matrix.container_image, 'rolling') == false
3646
run: |
3747
python3 examples/install_requirements.py
3848
test_macos:
3949
strategy:
4050
matrix:
41-
os: ["macos-11", "macos-12"]
51+
os: ["macos-12", "macos-13", "macos-14"]
4252
runs-on: ${{ matrix.os }}
4353
steps:
4454
- uses: actions/checkout@v3
4555
- name: Install dependencies
4656
run: |
4757
sed '/udevadm control --reload-rules && sudo udevadm trigger/d' docs/source/_static/install_dependencies.sh > tmp_script.sh
4858
bash tmp_script.sh
49-
- name: Install example requirements
59+
- name: Create a virtual environment
5060
run: |
61+
python3 -m venv .env
62+
. .env/bin/activate
63+
pip install --upgrade pip
5164
python3 examples/install_requirements.py
65+
shell: bash
5266
test_windows:
5367
runs-on: windows-latest
5468
steps:
5569
- uses: actions/checkout@v3
70+
- uses: actions/setup-python@v4
71+
with:
72+
python-version: "3.10"
5673
- name: Download chocolatey
5774
shell: pwsh
5875
run: Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
59-
- name: Install dependencies
76+
- name: Install pycharm-community dependency
6077
shell: pwsh
61-
run: choco install cmake git python --version 3.10 -y
62-
- name: Install example requrirements
78+
run: choco install pycharm-community -y
79+
- name: Install example requirements
6380
run: |
6481
python examples/install_requirements.py
82+

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ depthai-core/build/
2222

2323
# builds
2424
_builds/
25-
25+
.cache/
2626
#git
2727
*.orig
2828
*_REMOTE_*
@@ -44,4 +44,4 @@ env.bak/
4444
venv.bak/
4545

4646
# PyCharm
47-
.idea/
47+
.idea/

CMakeLists.txt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generated/Hunter/config.cmake ${final_hun
2323

2424
include("cmake/HunterGate.cmake")
2525
HunterGate(
26-
URL "https://github.com/cpp-pm/hunter/archive/v0.23.322.tar.gz"
27-
SHA1 "cb0ea1f74f4a2c49a807de34885743495fccccbe"
26+
URL "https://github.com/cpp-pm/hunter/archive/9d9242b60d5236269f894efd3ddd60a9ca83dd7f.tar.gz"
27+
SHA1 "16cc954aa723bccd16ea45fc91a858d0c5246376"
2828
FILEPATH ${CMAKE_CURRENT_BINARY_DIR}/generated/Hunter/config.cmake # Combined config
2929
)
3030

@@ -129,9 +129,11 @@ pybind11_add_module(${TARGET_NAME}
129129
src/pipeline/node/WarpBindings.cpp
130130
src/pipeline/node/UVCBindings.cpp
131131
src/pipeline/node/ToFBindings.cpp
132+
src/pipeline/node/PointCloudBindings.cpp
132133
src/pipeline/node/SyncBindings.cpp
133134
src/pipeline/node/MessageDemuxBindings.cpp
134-
135+
src/pipeline/node/CastBindings.cpp
136+
src/pipeline/node/ImageAlignBindings.cpp
135137
src/pipeline/datatype/ADatatypeBindings.cpp
136138
src/pipeline/datatype/AprilTagConfigBindings.cpp
137139
src/pipeline/datatype/AprilTagsBindings.cpp
@@ -154,7 +156,9 @@ pybind11_add_module(${TARGET_NAME}
154156
src/pipeline/datatype/SystemInformationBindings.cpp
155157
src/pipeline/datatype/TrackedFeaturesBindings.cpp
156158
src/pipeline/datatype/TrackletsBindings.cpp
157-
159+
src/pipeline/datatype/PointCloudConfigBindings.cpp
160+
src/pipeline/datatype/PointCloudDataBindings.cpp
161+
src/pipeline/datatype/ImageAlignConfigBindings.cpp
158162
)
159163

160164
if(WIN32)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
44
[![](https://img.shields.io/pypi/v/depthai.svg)](https://pypi.org/project/depthai/)
5-
[![Python Wheel CI](https://github.com/luxonis/depthai-python/actions/workflows/main.yml/badge.svg?branch=gen2_develop)](https://github.com/luxonis/depthai-python/actions/workflows/main.yml)
5+
[![Python Wheel CI](https://github.com/luxonis/depthai-python/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/luxonis/depthai-python/actions/workflows/main.yml)
66

77
Python bindings for C++ depthai-core library
88

cmake/Hunter/config.cmake

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Pybind11 2.9.2
1+
# Pybind11 2.12.0
22
hunter_config(
33
pybind11
4-
VERSION "2.9.2"
5-
URL "https://github.com/pybind/pybind11/archive/refs/tags/v2.9.2.tar.gz"
6-
SHA1 "5e05583a210282c3251281b6ee5677915f0cbf95"
4+
VERSION "2.12.0"
5+
URL "https://github.com/pybind/pybind11/archive/refs/tags/v2.12.0.tar.gz"
6+
SHA1 "e70610cba7b6b7d7a57827d5357c016ad2155c0f"
77
)

depthai-core

Submodule depthai-core updated 78 files

depthai_cli/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)