diff --git a/.github/workflows/node-hub-ci-cd.yml b/.github/workflows/node-hub-ci-cd.yml index 02977d7b2..dd02e7141 100644 --- a/.github/workflows/node-hub-ci-cd.yml +++ b/.github/workflows/node-hub-ci-cd.yml @@ -81,12 +81,11 @@ jobs: with: python-version: "3.10" - - name: Set up Poetry + - name: Set up UV if: runner.os == 'Linux' || github.event_name == 'workflow_dispatch' || (github.event_name == 'release' && startsWith(github.ref, 'refs/tags/')) run: | - curl -sSL https://install.python-poetry.org | python3 - + curl -LsSf https://astral.sh/uv/install.sh | sh echo "$HOME/.local/bin" >> $GITHUB_PATH - pip install ruff pytest - name: Set up Rust if: runner.os == 'Linux' || github.event_name == 'workflow_dispatch' || (github.event_name == 'release' && startsWith(github.ref, 'refs/tags/')) @@ -139,9 +138,9 @@ jobs: with: python-version: "3.10" - - name: Set up Poetry + - name: Set up UV run: | - curl -sSL https://install.python-poetry.org | python3 - + curl -LsSf https://astral.sh/uv/install.sh | sh echo "$HOME/.local/bin" >> $GITHUB_PATH - name: Set up Rust @@ -152,7 +151,7 @@ jobs: - name: Publish Projects env: MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_PASS }} - POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_PASS }} + UV_PUBLISH_TOKEN: ${{ secrets.PYPI_PASS }} CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} run: | dir=$(pwd) @@ -165,7 +164,7 @@ jobs: if [[ -f "Cargo.toml" && -f "pyproject.toml" ]]; then echo "Publishing $dir using maturin..." if [[ "${{ runner.os }}" == "Linux" ]]; then - pip3 install "maturin[zig]" + pip install "maturin[zig]" ## The CI/CD is sequential to limit the number of workers used. @@ -181,13 +180,14 @@ jobs: maturin publish --target armv7-unknown-linux-musleabihf --zig --skip-existing else - pip3 install maturin + pip install maturin maturin publish --skip-existing fi else if [ -f "pyproject.toml" ]; then - echo "Publishing $dir using Poetry..." - poetry publish --build --skip-existing + echo "Publishing $dir using UV..." + uv build + uv publish fi if [ -f "Cargo.toml" ]; then diff --git a/.github/workflows/node_hub_test.sh b/.github/workflows/node_hub_test.sh index fa083fdc7..171ca6ab0 100755 --- a/.github/workflows/node_hub_test.sh +++ b/.github/workflows/node_hub_test.sh @@ -22,7 +22,7 @@ else cargo build cargo test - pip3 install "maturin[zig]" + pip install "maturin[zig]" maturin build --zig # aarch64-unknown-linux-gnu @@ -41,10 +41,13 @@ else cargo test else if [ -f "$dir/pyproject.toml" ]; then - echo "Running linting and tests for Python project in $dir..." - pip install . - ruff check . - poetry run pytest + echo "CI: Installing in $dir..." + uv venv + uv pip install . + echo "CI: Running Linting in $dir..." + uv run ruff check . + echo "CI: Running Pytest in $dir..." + uv run pytest fi fi fi diff --git a/.gitignore b/.gitignore index a1bb9947e..fd4fd7a63 100644 --- a/.gitignore +++ b/.gitignore @@ -129,7 +129,7 @@ ipython_config.py # PEP 582; used by e.g. github.com/David-OConnor/pyflow __pypackages__/ - +.ruff_cache # Celery stuff celerybeat-schedule celerybeat.pid diff --git a/apis/python/node/dora/__init__.py b/apis/python/node/dora/__init__.py index 354d9ad40..a574bef66 100644 --- a/apis/python/node/dora/__init__.py +++ b/apis/python/node/dora/__init__.py @@ -10,30 +10,31 @@ from enum import Enum from .dora import * - from .dora import ( Node, Ros2Context, + Ros2Durability, + Ros2Liveliness, Ros2Node, Ros2NodeOptions, - Ros2Topic, Ros2Publisher, + Ros2QosPolicies, Ros2Subscription, - start_runtime, - __version__, + Ros2Topic, __author__, - Ros2QosPolicies, - Ros2Durability, - Ros2Liveliness, + __version__, + start_runtime, ) class DoraStatus(Enum): """Dora status to indicate if operator `on_input` loop should be stopped. + Args: Enum (u8): Status signaling to dora operator to stop or continue the operator. + """ CONTINUE = 0 diff --git a/apis/python/node/dora/cuda.py b/apis/python/node/dora/cuda.py index 1858a7bbe..fdd6fba73 100644 --- a/apis/python/node/dora/cuda.py +++ b/apis/python/node/dora/cuda.py @@ -1,19 +1,18 @@ import pyarrow as pa -# To install pyarrow.cuda, run `conda install pyarrow "arrow-cpp-proc=*=cuda" -c conda-forge` -import pyarrow.cuda as cuda - # Make sure to install torch with cuda import torch +from numba.cuda import to_device # Make sure to install numba with cuda from numba.cuda.cudadrv.devicearray import DeviceNDArray -from numba.cuda import to_device + +# To install pyarrow.cuda, run `conda install pyarrow "arrow-cpp-proc=*=cuda" -c conda-forge` +from pyarrow import cuda def torch_to_ipc_buffer(tensor: torch.TensorType) -> tuple[pa.array, dict]: - """ - Converts a Pytorch tensor into a pyarrow buffer containing the IPC handle and its metadata. + """Converts a Pytorch tensor into a pyarrow buffer containing the IPC handle and its metadata. Example Use: ```python @@ -34,8 +33,7 @@ def torch_to_ipc_buffer(tensor: torch.TensorType) -> tuple[pa.array, dict]: def ipc_buffer_to_ipc_handle(handle_buffer: pa.array) -> cuda.IpcMemHandle: - """ - Converts a buffer containing a serialized handler into cuda IPC MemHandle. + """Converts a buffer containing a serialized handler into cuda IPC MemHandle. example use: ```python @@ -57,8 +55,7 @@ def ipc_buffer_to_ipc_handle(handle_buffer: pa.array) -> cuda.IpcMemHandle: def cudabuffer_to_numba(buffer: cuda.CudaBuffer, metadata: dict) -> DeviceNDArray: - """ - Converts a pyarrow CUDA buffer to numba. + """Converts a pyarrow CUDA buffer to numba. example use: ```python @@ -74,7 +71,6 @@ def cudabuffer_to_numba(buffer: cuda.CudaBuffer, metadata: dict) -> DeviceNDArra numba_tensor = cudabuffer_to_numbda(cudabuffer, event["metadata"]) ``` """ - shape = metadata["shape"] strides = metadata["strides"] dtype = metadata["dtype"] @@ -83,8 +79,7 @@ def cudabuffer_to_numba(buffer: cuda.CudaBuffer, metadata: dict) -> DeviceNDArra def cudabuffer_to_torch(buffer: cuda.CudaBuffer, metadata: dict) -> torch.Tensor: - """ - Converts a pyarrow CUDA buffer to a torch tensor. + """Converts a pyarrow CUDA buffer to a torch tensor. example use: ```python @@ -100,7 +95,6 @@ def cudabuffer_to_torch(buffer: cuda.CudaBuffer, metadata: dict) -> torch.Tensor torch_tensor = cudabuffer_to_torch(cudabuffer, event["metadata"]) # on cuda ``` """ - device_arr = cudabuffer_to_numba(buffer, metadata) torch_tensor = torch.as_tensor(device_arr, device="cuda") return torch_tensor diff --git a/apis/python/node/pyproject.toml b/apis/python/node/pyproject.toml index d1f79b9c3..1cbc74cae 100644 --- a/apis/python/node/pyproject.toml +++ b/apis/python/node/pyproject.toml @@ -6,7 +6,13 @@ build-backend = "maturin" name = "dora-rs" dynamic = ["version"] # Install pyarrow at the same time of dora-rs +requires-python = ">=3.7" +license = { text = "MIT" } +readme = "README.md" dependencies = ['pyarrow'] +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] + [tool.maturin] features = ["pyo3/extension-module"] diff --git a/binaries/cli/pyproject.toml b/binaries/cli/pyproject.toml index 295e9bc10..f8bb29143 100644 --- a/binaries/cli/pyproject.toml +++ b/binaries/cli/pyproject.toml @@ -5,8 +5,9 @@ build-backend = "maturin" [project] name = "dora-rs-cli" dynamic = ["version"] - scripts = { "dora" = "dora_cli:py_main" } +license = { text = "MIT" } +requires-python = ">=3.8" dependencies = ['dora-rs'] [tool.maturin] diff --git a/binaries/cli/src/template/python/__node-name__/pyproject.toml b/binaries/cli/src/template/python/__node-name__/pyproject.toml index 6e01f1cf5..d5c38af45 100644 --- a/binaries/cli/src/template/python/__node-name__/pyproject.toml +++ b/binaries/cli/src/template/python/__node-name__/pyproject.toml @@ -1,27 +1,16 @@ -[tool.poetry] +[project] name = "__node-name__" version = "0.0.0" -authors = ["author"] +authors = [{ name = "Your Name", email = "email@email.com" }] description = "Node Name" -license = "MIT License" -homepage = "https://github.com/dora-rs/dora.git" -documentation = "https://github.com/dora-rs/dora/blob/main/node-hub/__node-name__/README.md" +license = { text = "MIT" } readme = "README.md" -packages = [{ include = "__node_name__" }] +requires-python = ">=3.8" -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -pyarrow = ">= 15.0.0" -python = "^3.7" +dependencies = ["dora-rs >= 0.3.6"] -[tool.poetry.dev-dependencies] -pytest = ">= 6.3.4" -ruff = ">= 0.9.1" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.scripts] +[project.scripts] __node-name__ = "__node_name__.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/README.md b/node-hub/README.md index 9e59bc162..aa35bc609 100644 --- a/node-hub/README.md +++ b/node-hub/README.md @@ -27,28 +27,21 @@ def main(): And then you will need to adapt the following `pyproject.toml` file: ```toml -[tool.poetry] +[project] name = "[name of the node e.g. video-encoder, with '-' to replace spaces]" version = "0.1" -authors = ["[Pseudo/Name] <[email]>"] +authors = [{ name = "[Pseudo/Name]", email = "[email]" }] description = "Dora Node for []" readme = "README.md" +license = { text = "MIT" } -packages = [ - { include = "main.py", to = "[name of the node with '_' to replace spaces]" } +dependencies = [ + "dora-rs >= 0.3.8", ] -[tool.poetry.dependencies] -python = "^3.11" -dora-rs = "0.3.5" -... [add your dependencies here] ... - -[tool.poetry.scripts] +[project.scripts] [name of the node with '-' to replace spaces] = "[name of the node with '_' to replace spaces].main:main" -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" ``` Finally, the README.md file should explicit all inputs/outputs of the node and how to configure it in the YAML file. @@ -56,7 +49,7 @@ Finally, the README.md file should explicit all inputs/outputs of the node and h # Example ```toml -[tool.poetry] +[project] name = "opencv-plot" version = "0.1" authors = [ @@ -65,22 +58,18 @@ authors = [ ] description = "Dora Node for plotting data with OpenCV" readme = "README.md" +license = { text = "MIT" } +requires-python = ">=3.7" -packages = [ - { include = "main.py", to = "opencv_plot" } +dependencies = [ + "dora-rs >= 0.3.8", ] +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.dependencies] -python = "^3.11" -dora-rs = "^0.3.5" -opencv-python = "^4.10.0.84" - -[tool.poetry.scripts] +[project.scripts] opencv-plot = "opencv_plot.main:main" -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" ``` ## License diff --git a/node-hub/dora-argotranslate/pyproject.toml b/node-hub/dora-argotranslate/pyproject.toml index 7a4cfb909..9dd712f60 100644 --- a/node-hub/dora-argotranslate/pyproject.toml +++ b/node-hub/dora-argotranslate/pyproject.toml @@ -1,25 +1,20 @@ -[tool.poetry] +[project] name = "dora-argotranslate" version = "0.3.8" description = "Dora Node for Text translating using Argostranslate" -readme = "README.md" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", - "Félix Huang ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, + { name = "Félix Huang", email = "felix.huang.net@gmail.com" }, ] +license = { text = "MIT" } +readme = "README.md" +requires-python = ">=3.8" -packages = [{ include = "dora_argotranslate" }] +dependencies = ["dora-rs >= 0.3.6", "numpy < 2.0.0", "argostranslate >= 1.9.6"] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -python = "^3.7" -argostranslate = "^1.9.6" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.scripts] +[project.scripts] dora-argotranslate = "dora_argotranslate.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/dora-distil-whisper/pyproject.toml b/node-hub/dora-distil-whisper/pyproject.toml index c170c5b72..f2fd138a3 100644 --- a/node-hub/dora-distil-whisper/pyproject.toml +++ b/node-hub/dora-distil-whisper/pyproject.toml @@ -1,35 +1,29 @@ -[tool.poetry] +[project] name = "dora-distil-whisper" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora dora-distil-whisper" -license = "MIT License" -homepage = "https://github.com/dora-rs/dora.git" -documentation = "https://github.com/dora-rs/dora/blob/main/node-hub/dora-distil-whisper/README.md" +license = { text = "MIT" } readme = "README.md" -packages = [{ include = "dora_distil_whisper" }] +requires-python = ">=3.8" -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -pyarrow = ">= 5.0.0" -transformers = "^4.0.0" -accelerate = "^0.29.2" -torch = "^2.2.0" -python = "^3.7" -modelscope = "^1.18.1" -lightning-whisper-mlx = { version = "^0.0.10", platform = "darwin" } +dependencies = [ + "dora-rs >= 0.3.6", + "numpy < 2.0.0", + "pyarrow >= 5.0.0", + "transformers >= 4.0.0", + "accelerate >= 0.29.2", + "torch >= 2.2.0", + "modelscope >= 1.18.1", + "lightning-whisper-mlx >= 0.0.10; sys_platform == 'darwin'", +] -[tool.poetry.scripts] -dora-distil-whisper = "dora_distil_whisper.main:main" -[tool.poetry.dev-dependencies] -pytest = ">= 6.3.4" -ruff = ">= 0.9.1" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[project.scripts] +dora-distil-whisper = "dora_distil_whisper.main:main" diff --git a/node-hub/dora-echo/pyproject.toml b/node-hub/dora-echo/pyproject.toml index e7a169c2c..8ba6c9d32 100644 --- a/node-hub/dora-echo/pyproject.toml +++ b/node-hub/dora-echo/pyproject.toml @@ -1,26 +1,19 @@ -[tool.poetry] +[project] name = "dora-echo" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora echo" -license = "MIT License" -homepage = "https://github.com/dora-rs/dora.git" -documentation = "https://github.com/dora-rs/dora/blob/main/node-hub/dora-echo/README.md" +license = { text = "MIT" } readme = "README.md" -packages = [{ include = "dora_echo" }] +requires-python = ">=3.8" -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -pyarrow = ">= 5.0.0" -python = "^3.7" +dependencies = ["dora-rs >= 0.3.6", "numpy < 2.0.0", "pyarrow >= 5.0.0"] -[tool.poetry.scripts] -dora-echo = "dora_echo.main:main" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[project.scripts] +dora-echo = "dora_echo.main:main" diff --git a/node-hub/dora-internvl/pyproject.toml b/node-hub/dora-internvl/pyproject.toml index d8cdb1667..444cfe93c 100644 --- a/node-hub/dora-internvl/pyproject.toml +++ b/node-hub/dora-internvl/pyproject.toml @@ -1,32 +1,32 @@ -[tool.poetry] +[project] name = "dora-internvl" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora Node for VLM" +license = { text = "MIT" } readme = "README.md" +requires-python = ">=3.8" -packages = [{ include = "dora_internvl" }] +dependencies = [ -[tool.poetry.dependencies] -python = "^3.7" -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -torch = "^2.2.0" -torchvision = "^0.17" -transformers = "^4.11.3" -pillow = "^10.0.0" -bitsandbytes = "^0.41.0" -einops = "^0.6.1" -einops-exts = "^0.0.4" -timm = "^0.9.12" -sentencepiece = "^0.1.99" + "dora-rs >= 0.3.6", + "numpy < 2.0.0", + "torch >= 2.2.0", + "torchvision >= 0.17", + "transformers >= 4.11.3", + "pillow >= 10.0.0", + "bitsandbytes >= 0.41.0", + "einops >= 0.6.1", + "einops-exts >= 0.0.4", + "timm >= 0.9.12", + "sentencepiece >= 0.1.99", +] -[tool.poetry.scripts] -dora-internvl = "dora_internvl.main:main" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[project.scripts] +dora-internvl = "dora_internvl.main:main" diff --git a/node-hub/dora-keyboard/pyproject.toml b/node-hub/dora-keyboard/pyproject.toml index ecf508e8a..6eac8259e 100644 --- a/node-hub/dora-keyboard/pyproject.toml +++ b/node-hub/dora-keyboard/pyproject.toml @@ -1,27 +1,25 @@ -[tool.poetry] +[project] name = "dora-keyboard" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora dora-keyboard" -license = "MIT License" -homepage = "https://github.com/dora-rs/dora.git" -documentation = "https://github.com/dora-rs/dora/blob/main/node-hub/dora-keyboard/README.md" +license = { text = "MIT" } readme = "README.md" -packages = [{ include = "dora_keyboard" }] +requires-python = ">=3.8" -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -pyarrow = ">= 5.0.0" -pynput = "^1.6.0" -python = "^3.7" +dependencies = [ + "dora-rs >= 0.3.6", + "numpy < 2.0.0", + "pyarrow >= 5.0.0", + "pynput >= 1.6.0", -[tool.poetry.scripts] -dora-keyboard = "dora_keyboard.main:main" +] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] + +[project.scripts] +dora-keyboard = "dora_keyboard.main:main" diff --git a/node-hub/dora-kit-car/pyproject.toml b/node-hub/dora-kit-car/pyproject.toml index 5c42027aa..e8176c575 100644 --- a/node-hub/dora-kit-car/pyproject.toml +++ b/node-hub/dora-kit-car/pyproject.toml @@ -7,7 +7,9 @@ name = "dora-kit-car" dynamic = ["version"] authors = [{ name = "Leon", email = "echo_ai@foxmail.com" }] description = "Dora Node for dora kit car" +license = { text = "MIT" } readme = "README.md" +requires-python = ">=3.8" scripts = { "dora-kit-car" = "dora_kit_car:py_main" } diff --git a/node-hub/dora-microphone/pyproject.toml b/node-hub/dora-microphone/pyproject.toml index c5b67246e..a701fe6d2 100644 --- a/node-hub/dora-microphone/pyproject.toml +++ b/node-hub/dora-microphone/pyproject.toml @@ -1,27 +1,25 @@ -[tool.poetry] +[project] name = "dora-microphone" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora dora-microphone" -license = "MIT License" -homepage = "https://github.com/dora-rs/dora.git" -documentation = "https://github.com/dora-rs/dora/blob/main/node-hub/dora-microphone/README.md" +license = { text = "MIT" } readme = "README.md" -packages = [{ include = "dora_microphone" }] +requires-python = ">=3.8" -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -pyarrow = ">= 5.0.0" -sounddevice = "^0.4.6" -python = "^3.7" +dependencies = [ + "dora-rs >= 0.3.6", + "numpy < 2.0.0", + "pyarrow >= 5.0.0", + "sounddevice >= 0.4.6", -[tool.poetry.scripts] -dora-microphone = "dora_microphone.main:main" +] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] + +[project.scripts] +dora-microphone = "dora_microphone.main:main" diff --git a/node-hub/dora-openai-server/pyproject.toml b/node-hub/dora-openai-server/pyproject.toml index 0decc0371..c828f859a 100644 --- a/node-hub/dora-openai-server/pyproject.toml +++ b/node-hub/dora-openai-server/pyproject.toml @@ -1,33 +1,32 @@ -[tool.poetry] +[project] name = "dora-openai-server" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora OpenAI API Server" -license = "MIT License" -homepage = "https://github.com/dora-rs/dora.git" -documentation = "https://github.com/dora-rs/dora/blob/main/node-hub/dora-openai-server/README.md" +license = { text = "MIT" } readme = "README.md" -packages = [{ include = "dora_openai_server" }] +requires-python = ">=3.8" -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -pyarrow = ">= 5.0.0" -python = "^3.7" -fastapi = "^0.115" -asyncio = "^3.4" -uvicorn = "^0.31" -pydantic = "^2.9" +dependencies = [ + "dora-rs >= 0.3.6", + "numpy < 2.0.0", + "pyarrow >= 5.0.0", -[tool.poetry.scripts] + "fastapi >= 0.115", + "asyncio >= 3.4", + "uvicorn >= 0.31", + "pydantic >= 2.9", +] + +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] + +[project.scripts] dora-openai-server = "dora_openai_server.main:main" -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" [tool.ruff.lint] extend-select = ["I"] diff --git a/node-hub/dora-opus/pyproject.toml b/node-hub/dora-opus/pyproject.toml index 89d627d1e..98bc6d54a 100644 --- a/node-hub/dora-opus/pyproject.toml +++ b/node-hub/dora-opus/pyproject.toml @@ -1,28 +1,29 @@ -[tool.poetry] +[project] name = "dora-opus" version = "0.3.8" description = "Dora Node for Text translating using Opus" -readme = "README.md" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", - "Félix Huang ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, + { name = "Félix Huang", email = "felix.huang.net@gmail.com" }, ] -packages = [{ include = "dora_opus" }] +license = { text = "MIT" } +readme = "README.md" +requires-python = ">=3.8" -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -python = "^3.7" -transformers = "^4.45" -modelscope = "^1.18.1" -sentencepiece = "^0.1.99" -torch = "^2.2.0" +dependencies = [ + "dora-rs >= 0.3.6", + "numpy < 2.0.0", -[tool.poetry.scripts] -dora-opus = "dora_opus.main:main" + "transformers >= 4.45", + "modelscope >= 1.18.1", + "sentencepiece >= 0.1.99", + "torch >= 2.2.0", +] + +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[project.scripts] +dora-opus = "dora_opus.main:main" diff --git a/node-hub/dora-outtetts/pyproject.toml b/node-hub/dora-outtetts/pyproject.toml index 4b299a6b0..6ca297b9b 100644 --- a/node-hub/dora-outtetts/pyproject.toml +++ b/node-hub/dora-outtetts/pyproject.toml @@ -2,31 +2,21 @@ name = "dora-outtetts" version = "0.0.0" authors = [] -license = "MIT License" description = "dora-outtetts" +license = { text = "MIT" } readme = "README.md" requires-python = ">=3.10" -[tool.poetry] -homepage = "https://github.com/dora-rs/dora.git" -documentation = "https://github.com/dora-rs/dora/blob/main/node-hub/dora-outtetts/README.md" -packages = [{ include = "dora_outtetts" }] +dependencies = [ + "dora-rs >= 0.3.6", + "numpy < 2.0.0", + "pyarrow >= 5.0.0", + "outetts >= 0.2.3", + "llama-cpp-python >= 0.3.5", +] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -pyarrow = ">= 5.0.0" -python = "^3.10" -outetts = "^0.2.3" -llama-cpp-python = "^0.3.5" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.dev-dependencies] -pytest = ">= 6.3.4" -ruff = ">= 0.9.1" - -[tool.poetry.scripts] +[project.scripts] dora-outtetts = "dora_outtetts.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/dora-parler/pyproject.toml b/node-hub/dora-parler/pyproject.toml index 5433eba45..06331db4b 100644 --- a/node-hub/dora-parler/pyproject.toml +++ b/node-hub/dora-parler/pyproject.toml @@ -1,31 +1,31 @@ -[tool.poetry] +[project] name = "dora-parler" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora Node for Text to speech with dora Parler-TTS" +license = { text = "MIT" } readme = "README.md" +requires-python = ">=3.8" -packages = [{ include = "dora_parler" }] +dependencies = [ + "dora-rs >= 0.3.6", + "numpy < 2.0.0", + "torch >= 2.2.0", + "torchaudio >= 2.2.2", + "sentencepiece >= 0.1.99", + "pyaudio >= 0.2.14", + "modelscope >= 1.18.1", + "transformers >=4.43.0,<=4.43.3", +] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" +[tool.uv.sources] parler_tts = { git = "https://github.com/huggingface/parler-tts.git" } -transformers = ">=4.43.0,<=4.43.3" -torch = "^2.2.0" -torchaudio = "^2.2.2" -sentencepiece = "^0.1.99" -python = "^3.7" -pyaudio = "^0.2.14" -modelscope = "^1.18.1" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.scripts] +[project.scripts] dora-parler = "dora_parler.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/dora-piper/pyproject.toml b/node-hub/dora-piper/pyproject.toml index d5c1009e4..b57220916 100644 --- a/node-hub/dora-piper/pyproject.toml +++ b/node-hub/dora-piper/pyproject.toml @@ -1,24 +1,16 @@ -[tool.poetry] +[project] name = "dora-piper" version = "0.3.8" -authors = ["Haixuan Xavier Tao "] +authors = [{ name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }] description = "Dora Node for using Agilex piper" +license = { text = "MIT" } readme = "README.md" +requires-python = ">=3.8" -packages = [{ include = "dora_piper" }] +dependencies = ["dora-rs >= 0.3.6", "piper_sdk >= 0.0.8", "numpy < 2.0.0"] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -python = "^3.7" -piper_sdk = "^0.0.8" -numpy = "< 2.0.0" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.dev-dependencies] -pytest = "^8.3.4" - -[tool.poetry.scripts] +[project.scripts] dora-piper = "dora_piper.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/dora-pyaudio/pyproject.toml b/node-hub/dora-pyaudio/pyproject.toml index 261c18fd4..137cb98a4 100644 --- a/node-hub/dora-pyaudio/pyproject.toml +++ b/node-hub/dora-pyaudio/pyproject.toml @@ -1,29 +1,21 @@ -[tool.poetry] +[project] name = "dora-pyaudio" -version = "0.0.0" -authors = ["author"] -description = "dora-pyaudio" -license = "MIT License" -homepage = "https://github.com/dora-rs/dora.git" -documentation = "https://github.com/dora-rs/dora/blob/main/node-hub/dora-pyaudio/README.md" +version = "0.0.1" +authors = [{ name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }] +license = { text = "MIT" } readme = "README.md" -packages = [{ include = "dora_pyaudio" }] - -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = ">= 1.0.0" -pyarrow = ">= 5.0.0" -python = ">= 3.8" -pyaudio = ">= 0.1.0" +requires-python = ">=3.8" +description = "dora-pyaudio" -[tool.poetry.dev-dependencies] -pytest = ">= 6.3.4" -ruff = ">= 0.9.1" +dependencies = [ + "dora-rs >= 0.3.6", + "numpy >= 1.0.0", + "pyarrow >= 5.0.0", + "pyaudio >= 0.1.0", +] +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.scripts] +[project.scripts] dora-pyaudio = "dora_pyaudio.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/dora-pyorbbecksdk/pyproject.toml b/node-hub/dora-pyorbbecksdk/pyproject.toml index 2755a2deb..471d064b4 100644 --- a/node-hub/dora-pyorbbecksdk/pyproject.toml +++ b/node-hub/dora-pyorbbecksdk/pyproject.toml @@ -1,25 +1,20 @@ -[tool.poetry] +[project] name = "dora-pyorbbecksdk" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Xiang Yang ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Xiang Yang", email = "Ryu-Yang@qq.com" }, ] description = "Dora Node for capturing video with PyOrbbeck SDK" +license = { text = "MIT" } readme = "README.md" +requires-python = ">=3.8" -packages = [{ include = "dora_pyorbbecksdk" }] +dependencies = ["dora-rs >= 0.3.6", "numpy < 2.0.0", "opencv-python >= 4.1.1"] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -python = "^3.7" -numpy = "< 2.0.0" -opencv-python = ">= 4.1.1" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.scripts] +[project.scripts] dora-pyorbbecksdk = "dora_pyorbbecksdk.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/dora-pyrealsense/pyproject.toml b/node-hub/dora-pyrealsense/pyproject.toml index d6663c958..1409ba086 100644 --- a/node-hub/dora-pyrealsense/pyproject.toml +++ b/node-hub/dora-pyrealsense/pyproject.toml @@ -1,27 +1,22 @@ -[tool.poetry] +[project] name = "dora-pyrealsense" version = "0.3.8" -authors = ["Haixuan Xavier Tao "] +authors = [{ name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }] description = "Dora Node for capturing video with Pyrealsense" +license = { text = "MIT" } readme = "README.md" +requires-python = ">=3.8" -packages = [{ include = "dora_pyrealsense" }] - -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -opencv-python = ">= 4.1.1" -python = "^3.7" -pyrealsense2 = [ - { version = "2.54.1.5216", platform = "linux" }, - { version = "2.54.1.5216", platform = "windows" }, +dependencies = [ + "dora-rs >= 0.3.6", + "numpy < 2.0.0", + "opencv-python >= 4.1.1", + "pyrealsense2-macosx >= 2.54.2; sys_platform == 'darwin'", + "pyrealsense2 == 2.54.1.5216; sys_platform == 'linux'", + "pyrealsense2 == 2.54.1.5216; sys_platform == 'windows'", ] -pyrealsense2-macosx = { version = "2.54.2", platform = "darwin" } - +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.scripts] +[project.scripts] dora-pyrealsense = "dora_pyrealsense.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/dora-qwenvl/pyproject.toml b/node-hub/dora-qwenvl/pyproject.toml index 346c5f9f3..9b95ac230 100644 --- a/node-hub/dora-qwenvl/pyproject.toml +++ b/node-hub/dora-qwenvl/pyproject.toml @@ -1,33 +1,33 @@ -[tool.poetry] +[project] name = "dora-qwenvl" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora Node for VLM" +license = { text = "MIT" } readme = "README.md" +requires-python = ">=3.8" -packages = [{ include = "dora_qwenvl" }] +dependencies = [ + "dora-rs >= 0.3.6", + "numpy < 2.0.0", + "torch >= 2.2.0", + "torchvision >= 0.20", + "transformers >= 4.45", + "qwen-vl-utils >= 0.0.2", + "accelerate >= 0.33", + "opencv-python >= 4.1.1", + "modelscope >= 1.18.1", + "peft == 0.13.2", +] -[tool.poetry.dependencies] -python = "^3.7" -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -torch = "^2.2.0" -torchvision = "^0.20" -transformers = "^4.45" -qwen-vl-utils = "^0.0.2" -accelerate = "^0.33" -opencv-python = ">= 4.1.1" -modelscope = "^1.18.1" -peft = "0.13.2" # flash_attn = "^2.6.1" # Install using: pip install -U flash-attn --no-build-isolation -[tool.poetry.scripts] -dora-qwenvl = "dora_qwenvl.main:main" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[project.scripts] +dora-qwenvl = "dora_qwenvl.main:main" diff --git a/node-hub/dora-rdt-1b/pyproject.toml b/node-hub/dora-rdt-1b/pyproject.toml index c75657bdd..1bf012f5a 100644 --- a/node-hub/dora-rdt-1b/pyproject.toml +++ b/node-hub/dora-rdt-1b/pyproject.toml @@ -1,48 +1,49 @@ -[tool.poetry] +[project] name = "dora-rdt-1b" version = "0.3.8" -authors = ["Haixuan Xavier Tao "] +authors = [{ name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }] description = "Dora Node for RDT 1B" +license = { text = "MIT" } readme = "README.md" +requires-python = ">=3.9" + +dependencies = [ + "dora-rs >= 0.3.6", + "numpy > 1.24.4", + "torch >= 2.4.0", + "torchvision >= 0.19", + "transformers >= 4.45", + "qwen-vl-utils >= 0.0.2", + "accelerate >= 0.33", + "opencv-python >= 4.1.1", + "modelscope >= 1.18.1", + "packaging == 24.0", + "wandb == 0.17.0", + "diffusers == 0.27.2", + "timm == 1.0.3", + "sentencepiece == 0.2.0", + "h5py == 3.11.0", + "imgaug == 0.4.0", + "huggingface_hub == 0.23.5", +] -packages = [{ include = "dora_rdt_1b" }] - -[tool.poetry.dependencies] -python = "^3.7" -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -torch = "^2.4.0" -torchvision = "^0.19" -transformers = "^4.45" -qwen-vl-utils = "^0.0.2" -accelerate = "^0.33" -opencv-python = ">= 4.1.1" -modelscope = "^1.18.1" -packaging = "24.0" -wandb = "0.17.0" -diffusers = "0.27.2" -timm = "1.0.3" -sentencepiece = "0.2.0" -h5py = "3.11.0" -imgaug = "0.4.0" -huggingface_hub = "0.23.5" # flash_attn = "^2.6.1" # Install using: pip install -U flash-attn --no-build-isolation -[tool.poetry.dev-dependencies] -pytest = "^8.3.4" -ruff = ">= 0.9.1" - [tool.black] extend-exclude = 'dora_rdt_1b/RoboticsDiffusionTransformer' -[tool.poetry.scripts] +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] + +[project.scripts] dora-rdt-1b = "dora_rdt_1b.main:main" -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" [tool.ruff] exclude = ["dora_rdt_1b/RoboticsDiffusionTransformer"] + +[build-system] +requires = ["poetry-core>=1.8.0"] +build-backend = "poetry.core.masonry.api" diff --git a/node-hub/dora-rerun/pyproject.toml b/node-hub/dora-rerun/pyproject.toml index be5c29fa7..e6b3de96b 100644 --- a/node-hub/dora-rerun/pyproject.toml +++ b/node-hub/dora-rerun/pyproject.toml @@ -5,6 +5,9 @@ build-backend = "maturin" [project] name = "dora-rerun" dynamic = ["version"] +license = { text = "MIT" } +requires-python = ">=3.7" + dependencies = [ 'rerun_sdk==0.21.0', # "rerun-loader-urdf @ git+https://github.com/rerun-io/rerun-loader-python-example-urdf.git", diff --git a/node-hub/dora-ugv/pyproject.toml b/node-hub/dora-ugv/pyproject.toml index dd1ed7ff7..25fb99f13 100644 --- a/node-hub/dora-ugv/pyproject.toml +++ b/node-hub/dora-ugv/pyproject.toml @@ -1,20 +1,17 @@ -[tool.poetry] +[project] name = "dora-ugv" version = "0.3.6" -authors = ["Haixuan Xavier Tao "] +authors = [{ name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }] description = "Dora Node for using Agilex UGV" +license = { text = "MIT" } readme = "README.md" +requires-python = ">=3.8" -packages = [{ include = "dora_ugv" }] +dependencies = ["dora-rs >= 0.3.6"] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -python = "^3.7" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.scripts] +[project.scripts] dora-ugv = "dora_ugv.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/dora-vad/pyproject.toml b/node-hub/dora-vad/pyproject.toml index ce87d1c8c..17fa4da47 100644 --- a/node-hub/dora-vad/pyproject.toml +++ b/node-hub/dora-vad/pyproject.toml @@ -1,26 +1,17 @@ -[tool.poetry] +[project] name = "dora-vad" version = "0.3.8" description = "Dora Node for Text translating using Argostranslate" +authors = [{ name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }] +license = { text = "MIT" } readme = "README.md" -authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", - "Félix Huang ", -] +requires-python = ">=3.8" -packages = [{ include = "dora_vad" }] +dependencies = ["dora-rs >= 0.3.6", "numpy < 2.0.0", "silero-vad >= 5.1"] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -python = "^3.7" -silero-vad = "^5.1" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.scripts] +[project.scripts] dora-vad = "dora_vad.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/dora-yolo/pyproject.toml b/node-hub/dora-yolo/pyproject.toml index 2f4a6ac86..84e2022e2 100644 --- a/node-hub/dora-yolo/pyproject.toml +++ b/node-hub/dora-yolo/pyproject.toml @@ -1,24 +1,19 @@ -[tool.poetry] +[project] name = "dora-yolo" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora Node for object detection with dora YOLOv8" +license = { text = "MIT" } readme = "README.md" +requires-python = ">=3.8" -packages = [{ include = "dora_yolo" }] +dependencies = ["dora-rs >= 0.3.6", "numpy < 2.0.0", "ultralytics >= 8.3.24"] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -ultralytics = "^8.3.24" -python = "^3.7" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.scripts] +[project.scripts] dora-yolo = "dora_yolo.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/llama-factory-recorder/pyproject.toml b/node-hub/llama-factory-recorder/pyproject.toml index 1a3d153f3..6fc48834c 100644 --- a/node-hub/llama-factory-recorder/pyproject.toml +++ b/node-hub/llama-factory-recorder/pyproject.toml @@ -1,24 +1,23 @@ -[tool.poetry] +[project] name = "llama-factory-recorder" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora Node for VLM" -readme = "README.md" -packages = [{ include = "llama_factory_recorder" }] -[tool.poetry.dependencies] -python = "^3.7" -dora-rs = "^0.3.6" -pillow = "^10.4.0" -opencv-python = ">= 4.1.1" +requires-python = ">=3.8" -[tool.poetry.scripts] -llama-factory-recorder = "llama_factory_recorder.main:main" +dependencies = [ + "dora-rs >= 0.3.6", + "pillow >= 10.4.0", + "opencv-python >= 4.1.1", +] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] + +[project.scripts] +llama-factory-recorder = "llama_factory_recorder.main:main" diff --git a/node-hub/opencv-plot/pyproject.toml b/node-hub/opencv-plot/pyproject.toml index ccd00c03e..7d56b925c 100644 --- a/node-hub/opencv-plot/pyproject.toml +++ b/node-hub/opencv-plot/pyproject.toml @@ -1,24 +1,19 @@ -[tool.poetry] +[project] name = "opencv-plot" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora Node for plotting text and bbox on image with OpenCV" -readme = "README.md" -packages = [{ include = "opencv_plot" }] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -opencv-python = ">= 4.1.1" -python = "^3.7" +requires-python = ">=3.8" -[tool.poetry.scripts] -opencv-plot = "opencv_plot.main:main" +dependencies = ["dora-rs >= 0.3.6", "numpy < 2.0.0", "opencv-python >= 4.1.1"] + +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[project.scripts] +opencv-plot = "opencv_plot.main:main" diff --git a/node-hub/opencv-video-capture/pyproject.toml b/node-hub/opencv-video-capture/pyproject.toml index c75fac7b5..fe294882e 100644 --- a/node-hub/opencv-video-capture/pyproject.toml +++ b/node-hub/opencv-video-capture/pyproject.toml @@ -1,24 +1,19 @@ -[tool.poetry] +[project] name = "opencv-video-capture" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora Node for capturing video with OpenCV" +license = { text = "MIT" } readme = "README.md" +requires-python = ">=3.8" -packages = [{ include = "opencv_video_capture" }] +dependencies = ["dora-rs >= 0.3.6", "numpy < 2.0.0", "opencv-python >= 4.1.1"] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -opencv-python = ">= 4.1.1" -python = "^3.7" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[tool.poetry.scripts] +[project.scripts] opencv-video-capture = "opencv_video_capture.main:main" - -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" diff --git a/node-hub/pyarrow-assert/pyproject.toml b/node-hub/pyarrow-assert/pyproject.toml index 24b8a4520..c69146076 100644 --- a/node-hub/pyarrow-assert/pyproject.toml +++ b/node-hub/pyarrow-assert/pyproject.toml @@ -1,26 +1,20 @@ -[tool.poetry] +[project] name = "pyarrow-assert" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora Node for plotting text and bbox on image with OpenCV" -license = "MIT License" -homepage = "https://github.com/dora-rs/dora.git" -documentation = "https://github.com/dora-rs/dora/blob/main/node-hub/pyarrow-assert/README.md" +license = { text = "MIT" } readme = "README.md" -packages = [{ include = "pyarrow_assert" }] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -pyarrow = ">= 5.0.0" -python = "^3.7" +requires-python = ">=3.8" -[tool.poetry.scripts] -pyarrow-assert = "pyarrow_assert.main:main" +dependencies = ["dora-rs >= 0.3.6", "numpy < 2.0.0", "pyarrow >= 5.0.0"] + +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[project.scripts] +pyarrow-assert = "pyarrow_assert.main:main" diff --git a/node-hub/pyarrow-sender/pyproject.toml b/node-hub/pyarrow-sender/pyproject.toml index dd51c86a0..0e97033ec 100644 --- a/node-hub/pyarrow-sender/pyproject.toml +++ b/node-hub/pyarrow-sender/pyproject.toml @@ -1,26 +1,21 @@ -[tool.poetry] +[project] name = "pyarrow-sender" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora pyarrow Sender" -license = "MIT License" -homepage = "https://github.com/dora-rs/dora.git" -documentation = "https://github.com/dora-rs/dora/blob/main/node-hub/pyarrow-sender/README.md" +license = { text = "MIT" } readme = "README.md" -packages = [{ include = "pyarrow_sender" }] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -pyarrow = ">= 5.0.0" -python = "^3.7" -[tool.poetry.scripts] -pyarrow-sender = "pyarrow_sender.main:main" +requires-python = ">=3.8" + +dependencies = ["dora-rs >= 0.3.6", "numpy < 2.0.0", "pyarrow >= 5.0.0"] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] + +[project.scripts] +pyarrow-sender = "pyarrow_sender.main:main" diff --git a/node-hub/terminal-input/pyproject.toml b/node-hub/terminal-input/pyproject.toml index 25dbd268f..60a3a3a41 100644 --- a/node-hub/terminal-input/pyproject.toml +++ b/node-hub/terminal-input/pyproject.toml @@ -1,26 +1,21 @@ -[tool.poetry] +[project] name = "terminal-input" version = "0.3.8" authors = [ - "Haixuan Xavier Tao ", - "Enzo Le Van ", + { name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }, + { name = "Enzo Le Van", email = "dev@enzo-le-van.fr" }, ] description = "Dora terminal input" -license = "MIT License" -homepage = "https://github.com/dora-rs/dora.git" -documentation = "https://github.com/dora-rs/dora/blob/main/node-hub/terminal-input/README.md" +license = { text = "MIT" } readme = "README.md" -packages = [{ include = "terminal_input" }] -[tool.poetry.dependencies] -dora-rs = "^0.3.6" -numpy = "< 2.0.0" -pyarrow = ">= 5.0.0" -python = "^3.7" -[tool.poetry.scripts] -terminal-input = "terminal_input.main:main" +requires-python = ">=3.8" + +dependencies = ["dora-rs >= 0.3.6", "numpy < 2.0.0", "pyarrow >= 5.0.0"] -[build-system] -requires = ["poetry-core>=1.8.0"] -build-backend = "poetry.core.masonry.api" +[dependency-groups] +dev = ["pytest >=8.1.1", "ruff >=0.9.1"] + +[project.scripts] +terminal-input = "terminal_input.main:main"