worph
worph is a public project at wordlift/worph, forked from morph-kgc. It keeps compatibility with retained morph_kgc imports while evolving the primary implementation under src/worph/.
Table of Contents
- Overview
- Repository Layout
- Quick Start
- CLI Commands
- Testing
- Compatibility
- Documentation
- Release
- License
Overview
worph provides RML/YARRRML materialization flows with compatibility for existing morph_kgc consumers. The codebase includes regression suites and compatibility shims used in CI to validate behavior against retained tests.
Repository Layout
src/worph/: primary package implementation.ci_shims/morph_kgc/: compatibility shim re-exporting fromworphtest/: regression and issue-driven test suitesexamples/: runnable configs and sample scriptsspecs/: compatibility, playbook, and agent-guidance documentsspecs/agents/: specialist subagent briefs used during planning/reviewdocs/: operational documentation
Quick Start
uv sync --extra test
uv run python -m worph examples/csv/config.ini
CLI Commands
Run using the package entrypoint:
uv run worph examples/json/config.ini
Equivalent module form:
uv run python -m worph examples/xml/config.ini
Testing
Run full CI-aligned tests with shim compatibility enabled:
PYTHONPATH=.ci_shims:src uv run pytest -q
Run the explicit shim validation test:
PYTHONPATH=.ci_shims:src uv run pytest -q test/test_ci_shim_uses_worph.py
Compatibility
Some retained tests still import morph_kgc. CI sets PYTHONPATH=.ci_shims:src so imports resolve to .ci_shims/morph_kgc first, then delegate to worph.
XPath note (breaking change):
worphno longer auto-rewrites non-standard XPath shorthand attribute syntax.- Mappings must use standard XPath syntax (for example
foo/@bar, notfoo@bar). - Migration examples:
country@name->country/@nameneighbor@name->neighbor/@name
Documentation
Release
Publishing to PyPI is handled inside .github/workflows/ci.yml.
- Trigger: push a version tag like
0.1.11orv0.1.11 - Gate:
publishjob runs only aftertest-and-examplessucceeds - Auth: PyPI Trusted Publisher (OIDC)
Trusted Publisher settings on pypi.org:
- Owner:
wordlift - Repository:
worph - Workflow name:
ci.yml - Environment: empty (unless you add one in GitHub)
License
All code and documentation in this repository are licensed under the Apache License 2.0.
Metadata
Release files for worph 0.1.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| worph-0.1.11.tar.gz | 568.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| worph-0.1.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 612.6 kB
Release files / worph-0.1.11.tar.gz
| Download URL | worph-0.1.11.tar.gz |
|---|---|
| Size | 568.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3cf72c052878ac5f86b1fa529366c45299b0daf7ff50cfc76cce8949a5bebd87
|
|
BLAKE2b-256 checksum How to use checksums |
26868707a8cefbc847000bd72c9e012672a6fbb0d9054018a93de259fd7e5e70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 13, 2026.
Transparency logRelease files / worph-0.1.11-py3-none-any.whl
| Download URL | worph-0.1.11-py3-none-any.whl |
|---|---|
| Size | 43.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
762096452af64fb3175129aa5d05542dc7a02073b14a62bde4228d04d8d13eee
|
|
BLAKE2b-256 checksum How to use checksums |
b82765826dabcc4be73fd6de54661c272746b2e39aca8536cc74e42a09932c25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 13, 2026.
Transparency log