pymergetic-common
pymergetic-common is the PymergeticOS foundation package.
It centralizes:
- Python dependency groups (extras) used across Pymergetic packages
- Shared low-level Python utilities (e.g., header/impl wiring)
C++ extension builds use pymergetic-easybind via the easybind extra below.
Dependency groups (extras)
Install with pip install pymergetic-common[GROUP] or uv pip install -e "packages/common[GROUP]".
| Extra | Purpose |
|---|---|
config |
pydantic, pydantic-settings, pyyaml (included in base install) |
api |
fastapi, httpx (HTTP API smoke tests) |
console |
fire, rich, textual |
objects |
pyzmq |
pki |
cryptography |
builder |
pyinstaller |
nanobind |
nanobind~=… pin |
bind |
nanobind + scikit-build stack (no pymergetic-easybind — for building easybind itself) |
easybind |
bind + pymergetic-easybind~=… — C++ extension consumer stack |
test |
pytest, pytest-asyncio |
release |
build, twine |
all |
all of the above |
dev |
alias for all |
Other packages should re-export these groups instead of duplicating pins, e.g.:
[project.optional-dependencies]
dev = ["pymergetic-common[dev]"]
C++ extension packages (pymergetic-cppdantic, synapse, axon): use pymergetic-common[easybind].
os-sdk workspace install
From the os-sdk repo root:
uv sync
Or:
./scripts/dev-install.sh
Standalone package install:
uv pip install -e "packages/common[dev]"
Releasing
Versioning, tagging, and PyPI CI mirror pymergetic-easybind. See RELEASING.md.
pymergetic-release-tag --project-root packages/common --dry-run
pymergetic-release-tag --project-root packages/common
Dev CLIs (install pymergetic-common[release] from PyPI, or uv sync in os-sdk). Use --project-root when not cd'd into the package repo:
pymergetic-release-tag— nextv*tag + pushpymergetic-pin-pyproject— bump{distribution}~=…pinspymergetic-wait-pypi— poll until a pinned release is on PyPI
Implementation: pymergetic.common.devtools. See RELEASING.md.
Metadata
Release files for pymergetic-common 0.0.22
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_common-0.0.22.tar.gz | 54.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pymergetic_common-0.0.22-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 83.4 kB
Release files / pymergetic_common-0.0.22.tar.gz
| Download URL | pymergetic_common-0.0.22.tar.gz |
|---|---|
| Size | 54.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6d65abbe8ea25def5ad53e8f1ff682aea1d11530c95071a11f5ae8e349707ddb
|
|
BLAKE2b-256 checksum How to use checksums |
daf39c89a69fca79174be1c7b479098f25124133cb2505040f6065b306b2c016
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / pymergetic_common-0.0.22-py3-none-any.whl
| Download URL | pymergetic_common-0.0.22-py3-none-any.whl |
|---|---|
| Size | 29.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2c87b8442e8bc878dfcc4dc386b41a019afa3ed535fc164eb6975c85476d0a41
|
|
BLAKE2b-256 checksum How to use checksums |
5ba1f85938dadeeb99746abf0cfd696797d45335ecc625bd26dcd8336ce43eb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|