Skip to main content

worph logo

worph

CI PyPI version Python License: Apache-2.0

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

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 from worph
  • test/: regression and issue-driven test suites
  • examples/: runnable configs and sample scripts
  • specs/: compatibility, playbook, and agent-guidance documents
  • specs/agents/: specialist subagent briefs used during planning/review
  • docs/: 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):

  • worph no longer auto-rewrites non-standard XPath shorthand attribute syntax.
  • Mappings must use standard XPath syntax (for example foo/@bar, not foo@bar).
  • Migration examples:
    • country@name -> country/@name
    • neighbor@name -> neighbor/@name

Documentation

Release

Publishing to PyPI is handled inside .github/workflows/ci.yml.

  • Trigger: push a version tag like 0.1.11 or v0.1.11
  • Gate: publish job runs only after test-and-examples succeeds
  • 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)

Source distribution for worph 0.1.11
File Size Uploaded
worph-0.1.11.tar.gz 568.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for worph 0.1.11
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.11 This release

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page