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_extractionforModwireExtraction.modwire_extraction.codeforCodeMap,QueryableCodeMap, and query result types.modwire_extraction.dependencyfor dependency graph helpers.modwire_extraction.extractorsfor 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8bc5baa618ab8227840d42a501353afa9893f15157d0290e882adc52f74b6fb
|
|
| MD5 |
5bbb330c425cb37b7bfde190f8924ce5
|
|
| BLAKE2b-256 |
45c4598f371bfe75c6c8071aa6f980f716484f0f69fe26cc380ff7b2621dacd9
|
Provenance
The following attestation bundles were made for modwire_extraction-1.0.0.tar.gz:
Publisher:
release.yml on 9orky/modwire-extraction
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
modwire_extraction-1.0.0.tar.gz -
Subject digest:
a8bc5baa618ab8227840d42a501353afa9893f15157d0290e882adc52f74b6fb - Sigstore transparency entry: 2024123147
- Sigstore integration time:
-
Permalink:
9orky/modwire-extraction@952e6ea91a24312545e4ba7b8c8901c2877fce69 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/9orky
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@952e6ea91a24312545e4ba7b8c8901c2877fce69 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file modwire_extraction-1.0.0-py3-none-any.whl.
File metadata
- Download URL: modwire_extraction-1.0.0-py3-none-any.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4eb48c2e8c8b59d6e75413d9bdd0f71dca9dcb3be372aa2590e76914345970c
|
|
| MD5 |
4f7e9121b9fe6f78106a1f981912c832
|
|
| BLAKE2b-256 |
702e7e7c25097e53ff563b32c1d50e6706c30a7c893742a217beb0704b09a600
|
Provenance
The following attestation bundles were made for modwire_extraction-1.0.0-py3-none-any.whl:
Publisher:
release.yml on 9orky/modwire-extraction
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
modwire_extraction-1.0.0-py3-none-any.whl -
Subject digest:
b4eb48c2e8c8b59d6e75413d9bdd0f71dca9dcb3be372aa2590e76914345970c - Sigstore transparency entry: 2024123200
- Sigstore integration time:
-
Permalink:
9orky/modwire-extraction@952e6ea91a24312545e4ba7b8c8901c2877fce69 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/9orky
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@952e6ea91a24312545e4ba7b8c8901c2877fce69 -
Trigger Event:
workflow_dispatch
-
Statement type: