Hello-world nanobind extension built against pymergetic.easybind (import pymergetic.cppdantic)
Project description
cppdantic
Small demo that builds against pymergetic.easybind from PyPI (pymergetic-easybind). PyPI distribution: pymergetic-cppdantic. Import: pymergetic.cppdantic. The repo directory stays packages/cppdantic/ in the os-sdk monorepo.
PyPI: pymergetic-cppdantic (when published). Versioning and tags: RELEASING.md.
Platforms: CI publishes manylinux and Windows amd64 wheels (CPython 3.11–3.14). Install with pip install pymergetic-cppdantic on those platforms once wheels exist for your release.
Bumping pymergetic-easybind~=…: pymergetic-pin-pyproject --project-root . (from pymergetic-common devtools on PyPI). Default = latest v* tag on GitHub. Use --from-pypi for PyPI’s published latest instead — see RELEASING.md.
Build / test
You need pymergetic-easybind installed (matching the pin in pyproject.toml), plus CMake ≥ 3.25, Ninja, and a C++20 compiler on PATH:
python -m pip install -U pip
python -m pip install "pymergetic-easybind~=0.2.15" # align with pyproject.toml
python -m pip install -e '.[test]'
python -m pytest tests -q
CMake loads easybind/cmake/easybind_pip.cmake from the installed pymergetic.easybind package. PyPI must ship the cmake/ tree for the version you pin.
os-sdk workspace (editable easybind)
From the os-sdk repo root:
uv sync
python -m pytest packages/cppdantic/tests -q
Or install only pymergetic-cppdantic after syncing pymergetic-common[easybind] in a venv with editable easybind (standalone checkout).
uv
From the cppdantic repo root:
uv pip install "pymergetic-easybind~=0.2.15"
uv pip install -e ".[test]"
(pyproject.toml sets [tool.uv] no-build-isolation-package = ["pymergetic-cppdantic"] so editable builds use your venv.)
If uv pip install fails with Metadata mismatch in METADATA (setuptools-scm version differs between build phases), clear stale artifacts and install pymergetic-easybind first, then pymergetic-cppdantic:
rm -rf build dist *.egg-info src/pymergetic/cppdantic/*.egg-info
uv pip install -e ../easybind # monorepo sibling, or pymergetic-easybind from PyPI
uv pip install -e ".[test]"
Ensure src/pymergetic/cppdantic/_version.py is not tracked by git (it is gitignored).
Tagging
Create an annotated v* tag on main after your pins commit (see RELEASING.md).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pymergetic_cppdantic-0.0.10.tar.gz.
File metadata
- Download URL: pymergetic_cppdantic-0.0.10.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
568075a8c4a45826b255f7f8b027a106fb5f868d37ef12dd393fcf4c22a71724
|
|
| MD5 |
1f4b63a11a889965fc824fa254cf9495
|
|
| BLAKE2b-256 |
3a1dde61718008431198bbff4087ac64276331fdd47d4c6ae928e303d8734b73
|
File details
Details for the file pymergetic_cppdantic-0.0.10-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: pymergetic_cppdantic-0.0.10-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 392.6 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6169ee0163924c4d91a3933a4994eb89731f934a24ea99b575c6cc73c1981c3
|
|
| MD5 |
72aa799c9ea781a1602567035600d6ff
|
|
| BLAKE2b-256 |
f71ab675e73081a0b8327d090ca56610d68f2452885d2a772c8156c78d79eaa8
|
File details
Details for the file pymergetic_cppdantic-0.0.10-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pymergetic_cppdantic-0.0.10-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 249.6 kB
- Tags: CPython 3.14, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae42329d1e65ae4a2aefce663835a8e5266a060df7d45efa277e0ba920f01b31
|
|
| MD5 |
8585c6bebe6f9f3eb999fde252d4b355
|
|
| BLAKE2b-256 |
f586aa74b203eb9458b7cfcb43609e234b0a6cb7e120b78392614817b06f92aa
|
File details
Details for the file pymergetic_cppdantic-0.0.10-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: pymergetic_cppdantic-0.0.10-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 383.3 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89cb788598b076f9fd20566b0ab1b918b130403d41483ed3029acde9140f1277
|
|
| MD5 |
8f9ce6a8c24e21d63c870aae4805b0c7
|
|
| BLAKE2b-256 |
e175be48df3e259bed283c4a54f279dabfe36fedc563c56b0697ce3e291fbf40
|
File details
Details for the file pymergetic_cppdantic-0.0.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pymergetic_cppdantic-0.0.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 249.5 kB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31ca3004dc063b5890a5cbbb127cd8148d6a19edbae82c7d58586938fa64e01b
|
|
| MD5 |
53e3a3db14574141a5fc9898383b0aa8
|
|
| BLAKE2b-256 |
28504920fcfa95e930f746b3d25872b6d9d48e7a77a0d67298b8925709269929
|
File details
Details for the file pymergetic_cppdantic-0.0.10-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: pymergetic_cppdantic-0.0.10-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 383.7 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
928ab8108c1bb84e25145a7cb40e69d9d824cad19d200d30d63c616f5745dd75
|
|
| MD5 |
582db1d3a4a6405b5d200c88ea386185
|
|
| BLAKE2b-256 |
6422a3a584aea19cca52dc95521b23c16f735afb812c4452d3794ffc74da70f8
|
File details
Details for the file pymergetic_cppdantic-0.0.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pymergetic_cppdantic-0.0.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 249.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3727c4dcc418ae1255d01efe85b16a6617de91fb5caa77390f3f0942530a7032
|
|
| MD5 |
7ed3a33790eb5ced344726ad340b23e1
|
|
| BLAKE2b-256 |
4393eff3aceca2216e29718b1293ef58a09911b045caa4b8104beec46e58408f
|
File details
Details for the file pymergetic_cppdantic-0.0.10-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: pymergetic_cppdantic-0.0.10-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 384.4 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c124dc0f110eabf40bbaa60b0ced5a4910d3999a4a93a141610553bfc0d58058
|
|
| MD5 |
ada3e2effd05247107fd7adb489260d5
|
|
| BLAKE2b-256 |
b98c5b0287d5d9d1f9c2a65d1ea48865d75e445a8e7a084c3e484ab37d3d7dfb
|
File details
Details for the file pymergetic_cppdantic-0.0.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pymergetic_cppdantic-0.0.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 250.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0051f35afdb0df6cc3a28f22ca1764593f33de0bec022d470a0ecd07f09cf29a
|
|
| MD5 |
b079c673066ce045ae56e04dd34ffa07
|
|
| BLAKE2b-256 |
59240eb359568b0a931d40805eceb02c778c3a9d43e98d91a202400a73749200
|