Skip to main content

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


Download files

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

Source Distribution

pymergetic_cppdantic-0.0.10.tar.gz (11.6 kB view details)

Uploaded Source

Built Distributions

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

pymergetic_cppdantic-0.0.10-cp314-cp314-win_amd64.whl (392.6 kB view details)

Uploaded CPython 3.14Windows x86-64

pymergetic_cppdantic-0.0.10-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (249.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pymergetic_cppdantic-0.0.10-cp313-cp313-win_amd64.whl (383.3 kB view details)

Uploaded CPython 3.13Windows x86-64

pymergetic_cppdantic-0.0.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (249.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pymergetic_cppdantic-0.0.10-cp312-cp312-win_amd64.whl (383.7 kB view details)

Uploaded CPython 3.12Windows x86-64

pymergetic_cppdantic-0.0.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (249.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pymergetic_cppdantic-0.0.10-cp311-cp311-win_amd64.whl (384.4 kB view details)

Uploaded CPython 3.11Windows x86-64

pymergetic_cppdantic-0.0.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (250.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

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

Hashes for pymergetic_cppdantic-0.0.10.tar.gz
Algorithm Hash digest
SHA256 568075a8c4a45826b255f7f8b027a106fb5f868d37ef12dd393fcf4c22a71724
MD5 1f4b63a11a889965fc824fa254cf9495
BLAKE2b-256 3a1dde61718008431198bbff4087ac64276331fdd47d4c6ae928e303d8734b73

See more details on using hashes here.

File details

Details for the file pymergetic_cppdantic-0.0.10-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pymergetic_cppdantic-0.0.10-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d6169ee0163924c4d91a3933a4994eb89731f934a24ea99b575c6cc73c1981c3
MD5 72aa799c9ea781a1602567035600d6ff
BLAKE2b-256 f71ab675e73081a0b8327d090ca56610d68f2452885d2a772c8156c78d79eaa8

See more details on using hashes here.

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

File hashes

Hashes for pymergetic_cppdantic-0.0.10-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ae42329d1e65ae4a2aefce663835a8e5266a060df7d45efa277e0ba920f01b31
MD5 8585c6bebe6f9f3eb999fde252d4b355
BLAKE2b-256 f586aa74b203eb9458b7cfcb43609e234b0a6cb7e120b78392614817b06f92aa

See more details on using hashes here.

File details

Details for the file pymergetic_cppdantic-0.0.10-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pymergetic_cppdantic-0.0.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 89cb788598b076f9fd20566b0ab1b918b130403d41483ed3029acde9140f1277
MD5 8f9ce6a8c24e21d63c870aae4805b0c7
BLAKE2b-256 e175be48df3e259bed283c4a54f279dabfe36fedc563c56b0697ce3e291fbf40

See more details on using hashes here.

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

File hashes

Hashes for pymergetic_cppdantic-0.0.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 31ca3004dc063b5890a5cbbb127cd8148d6a19edbae82c7d58586938fa64e01b
MD5 53e3a3db14574141a5fc9898383b0aa8
BLAKE2b-256 28504920fcfa95e930f746b3d25872b6d9d48e7a77a0d67298b8925709269929

See more details on using hashes here.

File details

Details for the file pymergetic_cppdantic-0.0.10-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pymergetic_cppdantic-0.0.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 928ab8108c1bb84e25145a7cb40e69d9d824cad19d200d30d63c616f5745dd75
MD5 582db1d3a4a6405b5d200c88ea386185
BLAKE2b-256 6422a3a584aea19cca52dc95521b23c16f735afb812c4452d3794ffc74da70f8

See more details on using hashes here.

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

File hashes

Hashes for pymergetic_cppdantic-0.0.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3727c4dcc418ae1255d01efe85b16a6617de91fb5caa77390f3f0942530a7032
MD5 7ed3a33790eb5ced344726ad340b23e1
BLAKE2b-256 4393eff3aceca2216e29718b1293ef58a09911b045caa4b8104beec46e58408f

See more details on using hashes here.

File details

Details for the file pymergetic_cppdantic-0.0.10-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pymergetic_cppdantic-0.0.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c124dc0f110eabf40bbaa60b0ced5a4910d3999a4a93a141610553bfc0d58058
MD5 ada3e2effd05247107fd7adb489260d5
BLAKE2b-256 b98c5b0287d5d9d1f9c2a65d1ea48865d75e445a8e7a084c3e484ab37d3d7dfb

See more details on using hashes here.

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

File hashes

Hashes for pymergetic_cppdantic-0.0.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0051f35afdb0df6cc3a28f22ca1764593f33de0bec022d470a0ecd07f09cf29a
MD5 b079c673066ce045ae56e04dd34ffa07
BLAKE2b-256 59240eb359568b0a931d40805eceb02c778c3a9d43e98d91a202400a73749200

See more details on using hashes here.

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