Skip to main content

Binding for wood project that is compiled into a binding using nanobind and scikit-build

Project description

wood_nano

Python bindings for the wood C++ library using nanobind.

CI status
Build Build
Release Release

Quick Start

pip install wood_nano
import wood_nano as m
print(m.add(1, 2))

Build from Source

All C++ dependencies (CGAL, Boost, Eigen, etc.) are downloaded automatically by CMake.

Windows

git clone --recursive https://github.com/petrasvestartas/wood_nano.git
cd wood_nano
pip install uv
uv venv .venv
.venv\Scripts\activate
uv pip install -r requirements-dev.txt
uv pip install --no-build-isolation -ve .

macOS

git clone --recursive https://github.com/petrasvestartas/wood_nano.git
cd wood_nano
pip install uv
uv venv .venv
source .venv/bin/activate
uv pip install -r requirements-dev.txt
uv pip install --no-build-isolation -ve .

Linux

git clone --recursive https://github.com/petrasvestartas/wood_nano.git
cd wood_nano
pip install uv
uv venv .venv
source .venv/bin/activate
uv pip install -r requirements-dev.txt
uv pip install --no-build-isolation -ve .

Test

python -c "import wood_nano as m; print(m.add(1, 2))"

PyPI Release

Releases are automated via GitHub Actions using trusted publishing.

One-time setup (PyPI):

  1. Go to https://pypi.org/manage/account/publishing/
  2. Add pending publisher:
    • Project: wood_nano
    • Owner: petrasvestartas
    • Repository: wood_nano
    • Workflow: release.yml

To publish a new version:

  1. Update the version number in src/wood_nano/__init__.py:

    __version__ = "0.3.0"  # Change to new version
    
  2. Commit the version change:

    git add src/wood_nano/__init__.py
    git commit -m "Bump version to 0.3.0"
    git push
    
  3. Create and push the tag:

    git tag v0.3.0
    git push origin v0.3.0
    

This triggers the release workflow which builds wheels for all platforms and publishes to PyPI.

Development

Update wood submodule:

git submodule update --init --recursive

Clean rebuild:

rm -rf build .deps
pip install --no-build-isolation -ve .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

wood_nano-0.3.1-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

wood_nano-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

wood_nano-0.3.1-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

wood_nano-0.3.1-cp310-cp310-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.10Windows x86-64

wood_nano-0.3.1-cp310-cp310-manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

wood_nano-0.3.1-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file wood_nano-0.3.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: wood_nano-0.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wood_nano-0.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 347b510b22368e9ca5bc6e8d783175f78dae0c3167a889a2db8c26ed8a7b1768
MD5 9646015c90453fe66c95fa2690cf0596
BLAKE2b-256 539176213a6bf727f616d593d9c5484b4d6208fe0f2fb1295352f19885e9a0fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for wood_nano-0.3.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on petrasvestartas/wood_nano

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wood_nano-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wood_nano-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ca1b95f88cba62bd8e609778cb22823cf271c262f1fc9e72a5cfc8c30277343c
MD5 4760d5368311ecff49ab34bc4f4d2538
BLAKE2b-256 4e59a60321b105c9be4ff883a403cd175b78ebb4e3e1e8fc7b6e8a2481e6fc0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wood_nano-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: release.yml on petrasvestartas/wood_nano

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wood_nano-0.3.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wood_nano-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 282ee97d8ce21b0286ef0d6fdb0c1f836e2b4a1f52bcc8adffbae7db8900c797
MD5 7e092c65f6c66f87b49a045c8a1f1019
BLAKE2b-256 f14cc66cce1f83595fd31d9720b16fa6e482cfe010d76ffd38de66444d16af19

See more details on using hashes here.

Provenance

The following attestation bundles were made for wood_nano-0.3.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on petrasvestartas/wood_nano

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wood_nano-0.3.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: wood_nano-0.3.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wood_nano-0.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 412164a248e4e9b2d894ac8d535b831bdf69fb105f608a9c0a5ad460d6116d37
MD5 4fa2ff63d05f4ed88ee545c46525f342
BLAKE2b-256 252ba6f7dafcff447db5e75dad8a57730eda54f94cdfe667d4bc6b94f2a5d761

See more details on using hashes here.

Provenance

The following attestation bundles were made for wood_nano-0.3.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on petrasvestartas/wood_nano

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wood_nano-0.3.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wood_nano-0.3.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d150a92056f37859341d26cd29538cfbda8c67ced0c4893c4881190b72636d1f
MD5 55f039a57c3dec44ed4d7f9a8412dc11
BLAKE2b-256 ca22791af6f46aa15abdb06aed585eea282d88dae7b1fca99feff6873d627bcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for wood_nano-0.3.1-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: release.yml on petrasvestartas/wood_nano

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wood_nano-0.3.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wood_nano-0.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f6dc2c350dbd4bb5276e212bf5e0239196c076ab38b2138abba83899a811c1b4
MD5 9e89fd2de2b79e6b1fca4c0db9c948f4
BLAKE2b-256 8cdd3e75bb657d2b2abbbec2ecec57ca497968fda11e65add36e11d352eecc6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for wood_nano-0.3.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on petrasvestartas/wood_nano

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page