Skip to main content

modwire-extraction

Extraction implementation for Modwire.

The primary API starts from ModwireExtraction:

from pathlib import Path

from modwire_extraction import ModwireExtraction, QueryableCodeMap

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

Public data and query helpers are exported from:

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

Compatibility notes

Version 2 uses extension-bearing physical file IDs, separate logical module IDs, and dependency edges resolved to tracked files. Original and normalized import specifiers remain available with an explicit resolution state.

See Migrating to modwire-extraction 2 for the complete breaking-contract guide.

Serialized CodeMap JSON remains a same-major interchange contract. Regenerate 1.x maps before loading them with version 2.

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/*

For local verification, build a fresh distribution from the current Git state:

python -m build
twine check dist/*

Releases use strict SemVer tags. Create and push the tag first, then publish its GitHub Release. That release invokes the shared build and asset workflows before trusted publishing sends the same distributions to PyPI.

git tag -a v2.0.0 -m "v2.0.0"
git push origin v2.0.0
gh release create v2.0.0 --verify-tag --generate-notes --title v2.0.0

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-2.1.1.tar.gz (2.4 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-2.1.1-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: modwire_extraction-2.1.1.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for modwire_extraction-2.1.1.tar.gz
Algorithm Hash digest
SHA256 c937eb7afbdb9c709abfb75f0502c77168664dbb5bfc5857937eca031ba9294b
MD5 00f069fc6f19c1e1497e88cfc8f6d6d3
BLAKE2b-256 c85d62ccc4963ffb63bd2d62497a99a9317006d4b107bdd13a97d2ddc3b77345

See more details on using hashes here.

Provenance

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

Publisher: release.yml on modwire/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-2.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for modwire_extraction-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 57caa01c8dabd3a3dead75b7b18ed8f6a08401d6208180dd6461572cc5d94fbf
MD5 bb1bf339d446f6623ed5aeca4e85a38a
BLAKE2b-256 abbfbf5109eab25d8a4a068596b83a924b1b086f8a4a62f2c433dc3903b03e69

See more details on using hashes here.

Provenance

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

Publisher: release.yml on modwire/modwire-extraction

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

Release history Release notifications | RSS feed

This release

2.1.1 This release

2 files

2.1.0

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.0.3

2 files

1.0.2

2 files

1.0.0

2 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