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).
Metadata
Release files for pymergetic-cppdantic 0.0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pymergetic_cppdantic-0.0.10.tar.gz | 11.6 kB | Details |
Built distributions (wheels)
Total release size: 2.6 MB
Release files / pymergetic_cppdantic-0.0.10.tar.gz
| Download URL | pymergetic_cppdantic-0.0.10.tar.gz |
|---|---|
| Size | 11.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
568075a8c4a45826b255f7f8b027a106fb5f868d37ef12dd393fcf4c22a71724
|
|
BLAKE2b-256 checksum How to use checksums |
3a1dde61718008431198bbff4087ac64276331fdd47d4c6ae928e303d8734b73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / pymergetic_cppdantic-0.0.10-cp314-cp314-win_amd64.whl
| Download URL | pymergetic_cppdantic-0.0.10-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 392.6 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d6169ee0163924c4d91a3933a4994eb89731f934a24ea99b575c6cc73c1981c3
|
|
BLAKE2b-256 checksum How to use checksums |
f71ab675e73081a0b8327d090ca56610d68f2452885d2a772c8156c78d79eaa8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / pymergetic_cppdantic-0.0.10-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pymergetic_cppdantic-0.0.10-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 249.6 kB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
ae42329d1e65ae4a2aefce663835a8e5266a060df7d45efa277e0ba920f01b31
|
|
BLAKE2b-256 checksum How to use checksums |
f586aa74b203eb9458b7cfcb43609e234b0a6cb7e120b78392614817b06f92aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / pymergetic_cppdantic-0.0.10-cp313-cp313-win_amd64.whl
| Download URL | pymergetic_cppdantic-0.0.10-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 383.3 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
89cb788598b076f9fd20566b0ab1b918b130403d41483ed3029acde9140f1277
|
|
BLAKE2b-256 checksum How to use checksums |
e175be48df3e259bed283c4a54f279dabfe36fedc563c56b0697ce3e291fbf40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / pymergetic_cppdantic-0.0.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pymergetic_cppdantic-0.0.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 249.5 kB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
31ca3004dc063b5890a5cbbb127cd8148d6a19edbae82c7d58586938fa64e01b
|
|
BLAKE2b-256 checksum How to use checksums |
28504920fcfa95e930f746b3d25872b6d9d48e7a77a0d67298b8925709269929
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / pymergetic_cppdantic-0.0.10-cp312-cp312-win_amd64.whl
| Download URL | pymergetic_cppdantic-0.0.10-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 383.7 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
928ab8108c1bb84e25145a7cb40e69d9d824cad19d200d30d63c616f5745dd75
|
|
BLAKE2b-256 checksum How to use checksums |
6422a3a584aea19cca52dc95521b23c16f735afb812c4452d3794ffc74da70f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / pymergetic_cppdantic-0.0.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pymergetic_cppdantic-0.0.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 249.5 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3727c4dcc418ae1255d01efe85b16a6617de91fb5caa77390f3f0942530a7032
|
|
BLAKE2b-256 checksum How to use checksums |
4393eff3aceca2216e29718b1293ef58a09911b045caa4b8104beec46e58408f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / pymergetic_cppdantic-0.0.10-cp311-cp311-win_amd64.whl
| Download URL | pymergetic_cppdantic-0.0.10-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 384.4 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c124dc0f110eabf40bbaa60b0ced5a4910d3999a4a93a141610553bfc0d58058
|
|
BLAKE2b-256 checksum How to use checksums |
b98c5b0287d5d9d1f9c2a65d1ea48865d75e445a8e7a084c3e484ab37d3d7dfb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / pymergetic_cppdantic-0.0.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pymergetic_cppdantic-0.0.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 250.0 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
0051f35afdb0df6cc3a28f22ca1764593f33de0bec022d470a0ecd07f09cf29a
|
|
BLAKE2b-256 checksum How to use checksums |
59240eb359568b0a931d40805eceb02c778c3a9d43e98d91a202400a73749200
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|