Official UMF Python support
umf-core provides the umf import namespace for the current UMF language.
The authored spec/metamodel/umf.yaml generates the packaged JSON Schemas,
portable constraint programs and Python shape data. Pydantic provides access
models; it does not define a competing format. Consumer extensions and execution
policies remain in consumer repositories.
Install the qualified release wheel:
pip install https://github.com/DocumentDrivenDX/umf/releases/download/umf-v0.5.1/umf_core-0.10.0-py3-none-any.whl
For development, use pip install ./python from a checkout. PyPI publication
is not configured; the GitHub release and its checksums identify the distributed
wheel. The separately distributed experimental umf_access host adapter is
not required to read or validate UMF documents.
from umf import read_document, validate_document, write_document
document = read_document('''
umf: "0.10.0"
id: orders
vocabularies: {}
modules: []
''', format="yaml")
result = validate_document(document)
assert result.valid and result.complete
# Unknown or unregistered extension meaning can instead make complete false.
text = write_document(document, format="yaml")
assert read_document(text, format="yaml").to_dict() == document.to_dict()
Use canonical camelCase property names when constructing models. to_dict()
preserves unknown content and field presence; checked_copy() revalidates
mutable model state. Current APIs accept core 0.10.0; retired core dispatch and
upgrade/rollback paths are removed. Structural checks and ordered core semantic
constraints use generated data through bounded generic interpreters. Installed
Python and TypeScript share 139 frozen conformance vectors; this is not a claim
of parity for every TypeScript adapter or native execution API.
Unknown vocabulary versions, labels and qualifiers remain serializable and make interpretation incomplete. Consumers must refuse execution when their binding cannot interpret required semantics. Exact numeric token carriers, UUID/128-bit carriers, explicit null and omission retain their separate meanings.
Extensions register explicitly through Registry and Extension with exact
versions, permitted scopes, a JSON Schema and optional semantic callback.
Callbacks receive copies; schema references must be local. Documents never
authorize loading code or fetching schemas. schema_validator() is reusable
for consumer-owned schemas and honors their declared dialect.
Run python -m pytest python/tests from the repository root. Build with
uv build --project python. The source distribution includes the current
generated resources and supports building a wheel without the repository.
Release checks install the actual wheel in an isolated environment, compare
its packaged resource bytes and replay the shared core conformance corpus.
Metadata
Release files for umf-core 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| umf_core-0.10.0.tar.gz | 481.9 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| umf_core-0.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 553.2 kB
Release files / umf_core-0.10.0.tar.gz
| Download URL | umf_core-0.10.0.tar.gz |
|---|---|
| Size | 481.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6b3ad653f95ed5321d5cec69fcaa08037ce1546386b76cbc4e52d1abf19cb19d
|
|
BLAKE2b-256 checksum How to use checksums |
503b84a212ecaa81d974db8a9a9d1027db77881d711b985dae3effa3a513285c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.
Transparency logRelease files / umf_core-0.10.0-py3-none-any.whl
| Download URL | umf_core-0.10.0-py3-none-any.whl |
|---|---|
| Size | 71.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49633924b45a3c8499d4fcc1a24c30d5a8fcb34d974ab019bbda987cb47da0f9
|
|
BLAKE2b-256 checksum How to use checksums |
bfcee811584a62318594012ad533e32882e92eeac1859996ac045e8a7b9ae516
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.
Transparency logSecurity for umf-core 0.10.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for umf_core-0.10.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.