Skip to main content

Extraction implementation for modwire.

Project description

modwire-extraction

Extraction implementation for Modwire.

The primary API starts from ModwireExtraction:

from pathlib import Path

from modwire_extraction import ModwireExtraction

queryable_map = ModwireExtraction(Path("src")).generate_queryable_map("python")
print(queryable_map.source_ids())

Public data and query helpers are exported from:

  • modwire_extraction for ModwireExtraction.
  • modwire_extraction.code for CodeMap, QueryableCodeMap, and query result types.
  • modwire_extraction.dependency for dependency graph helpers.
  • modwire_extraction.extractors for extractor loading.

Compatibility notes

The public Python import paths listed above are the supported API surface for 1.0.0.

Dependency graph edges use normalized import strings. Imports such as domain/model/user are not represented as the source ID src/domain/model/user.

Serialized CodeMap JSON is intended for same-version interchange in 1.0.0. Do not treat the JSON shape as a cross-version compatibility contract yet.

TypeScript and PHP helper build files are included as package data because they are part of the bundled extractor runtimes and reproducible maintenance path.

Install

pip install modwire-extraction

Python extraction works with the active Python interpreter. TypeScript, JavaScript, TSX, and JSX extraction require node on PATH. PHP extraction requires php on PATH.

Development

python -m pip install -e ".[dev]"
pytest
python -m build
twine check dist/*

Before publishing manually, choose the release version in pyproject.toml, remove stale local artifacts, build a fresh distribution, and upload only the expected version files:

rm -rf build dist src/*.egg-info
python -m build
twine check dist/*
twine upload dist/modwire_extraction-1.0.0*

The preferred release path is GitHub Actions. Publish a GitHub Release tagged vX.Y.Z or X.Y.Z after configuring PyPI Trusted Publishing for workflow workflow.yml and GitHub Environment pypi. The release workflow sets the package version from the release tag before building.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modwire_extraction-1.0.0.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

modwire_extraction-1.0.0-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file modwire_extraction-1.0.0.tar.gz.

File metadata

  • Download URL: modwire_extraction-1.0.0.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for modwire_extraction-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a8bc5baa618ab8227840d42a501353afa9893f15157d0290e882adc52f74b6fb
MD5 5bbb330c425cb37b7bfde190f8924ce5
BLAKE2b-256 45c4598f371bfe75c6c8071aa6f980f716484f0f69fe26cc380ff7b2621dacd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for modwire_extraction-1.0.0.tar.gz:

Publisher: release.yml on 9orky/modwire-extraction

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file modwire_extraction-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for modwire_extraction-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b4eb48c2e8c8b59d6e75413d9bdd0f71dca9dcb3be372aa2590e76914345970c
MD5 4f7e9121b9fe6f78106a1f981912c832
BLAKE2b-256 702e7e7c25097e53ff563b32c1d50e6706c30a7c893742a217beb0704b09a600

See more details on using hashes here.

Provenance

The following attestation bundles were made for modwire_extraction-1.0.0-py3-none-any.whl:

Publisher: release.yml on 9orky/modwire-extraction

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page