uv is an altermative to pip and offer better performance as well as being written in Rust it makes dora ecosystem in python with ruff fully rust based which increase the overall security and deployability of dora.tags/v0.3.9-rc1
| @@ -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 | |||
| @@ -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 | |||
| @@ -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 | |||
| @@ -10,30 +10,31 @@ pip install dora-rs | |||
| 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 | |||
| @@ -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 | |||
| @@ -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"] | |||
| @@ -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] | |||
| @@ -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" | |||
| @@ -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 | |||
| @@ -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 <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| "Félix Huang <felix.huang.net@gmail.com>", | |||
| { 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" | |||
| @@ -1,35 +1,29 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-distil-whisper" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,26 +1,19 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-echo" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,32 +1,32 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-internvl" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,27 +1,25 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-keyboard" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -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" } | |||
| @@ -1,27 +1,25 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-microphone" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,33 +1,32 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-openai-server" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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"] | |||
| @@ -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 <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| "Félix Huang <felix.huang.net@gmail.com>", | |||
| { 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" | |||
| @@ -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" | |||
| @@ -1,31 +1,31 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-parler" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,24 +1,16 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-piper" | |||
| version = "0.3.8" | |||
| authors = ["Haixuan Xavier Tao <tao.xavier@outlook.com>"] | |||
| 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" | |||
| @@ -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" | |||
| @@ -1,25 +1,20 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-pyorbbecksdk" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Xiang Yang <Ryu-Yang@qq.com>", | |||
| { 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" | |||
| @@ -1,27 +1,22 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-pyrealsense" | |||
| version = "0.3.8" | |||
| authors = ["Haixuan Xavier Tao <tao.xavier@outlook.com>"] | |||
| 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" | |||
| @@ -1,33 +1,33 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-qwenvl" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,48 +1,49 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-rdt-1b" | |||
| version = "0.3.8" | |||
| authors = ["Haixuan Xavier Tao <tao.xavier@outlook.com>"] | |||
| 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" | |||
| @@ -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", | |||
| @@ -1,20 +1,17 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-ugv" | |||
| version = "0.3.6" | |||
| authors = ["Haixuan Xavier Tao <tao.xavier@outlook.com>"] | |||
| 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" | |||
| @@ -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 <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| "Félix Huang <felix.huang.net@gmail.com>", | |||
| ] | |||
| 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" | |||
| @@ -1,24 +1,19 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "dora-yolo" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,24 +1,23 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "llama-factory-recorder" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,24 +1,19 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "opencv-plot" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,24 +1,19 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "opencv-video-capture" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,26 +1,20 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "pyarrow-assert" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,26 +1,21 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "pyarrow-sender" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||
| @@ -1,26 +1,21 @@ | |||
| [tool.poetry] | |||
| [project] | |||
| name = "terminal-input" | |||
| version = "0.3.8" | |||
| authors = [ | |||
| "Haixuan Xavier Tao <tao.xavier@outlook.com>", | |||
| "Enzo Le Van <dev@enzo-le-van.fr>", | |||
| { 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" | |||