Skip to main content

No project description provided

Project description

repo-mapper-rs ๐Ÿฆ€

Rust implementation of repo_mapper.

What it does:

A CLI tool to scan a code repository and generate a structured file tree map, inserted into your README.md written in Rust. The map is fenced inside a markdown code block under a # Repo map section, if one exists the existing one is replaced, else it is appended to the bottom of the README.md.

Supported functionality:

  • .gitignore
  • file extension filtering
  • directory exclusion
  • ignore hidden files

Installation

pip install repo-mapper-rs

Or

uv add repo-mapper-rs

Example usage:

python -m repo_mapper \
  --repo-root "/path/to/my_repo" \
  --readme-path "/path/to/my_repo/README.md" \
  --gitignore-path "/path/to/my_repo/.gitignore" \
  --allowed-exts "py,rs,toml" \
  --ignore-dirs ".venv,target" \
  --ignore-hidden

This command:

  • Traverses /path/to/my_repo
  • Respects files excluded in .gitignore or listed in --ignore-dirs
  • Includes only files with extensions .py, .rs, .toml. It's recommended to use this parameter to avoid unexpected files being added to the map.
  • Skips hidden files and directories (those starting with a dot)
  • Inserts or updates the # Repo map section in the README

Args

Argument Type Required Default Description
--repo-root str โœ… Path to the root of the repository to scan
--readme-path str โŒ './README.md' Path to the README file that will be modified
--gitignore-path str โŒ './.gitignore' Path to the .gitignore file
--allowed-exts Comma-separated str โŒ 'py,md,toml,lock,yaml,ipynb' Extensions to include (e.g. 'py,rs,md'). Note this is overruled by the .gitignore.
--ignore-dirs Comma-separated str โŒ '.git,.venv,build,dist' Directories to exclude (e.g. '.venv,target'). If not supplied, all directories will be evaluated. Note this is overruled by the .gitignore.
--output-mode str โŒ 'readme' Output mode to display the tree: choices=['readme', 'shell'].
--ignore-hidden Flag (no value) โŒ If set, hidden files and directories will be ignored
--dirs-only Flag (no value) โŒ If set, only directories and subdirectories will be mapped (useful with larger codebases).

Repo map

โ”œโ”€โ”€ .github
โ”‚   โ””โ”€โ”€ workflows
โ”‚       โ”œโ”€โ”€ ci.yaml
โ”‚       โ””โ”€โ”€ publish.yaml
โ”œโ”€โ”€ python
โ”‚   โ””โ”€โ”€ repo_mapper
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ””โ”€โ”€ __main__.py
โ”œโ”€โ”€ src
โ”‚   โ”œโ”€โ”€ core
โ”‚   โ”‚   โ”œโ”€โ”€ adapters.rs
โ”‚   โ”‚   โ”œโ”€โ”€ converters.rs
โ”‚   โ”‚   โ”œโ”€โ”€ domain.rs
โ”‚   โ”‚   โ”œโ”€โ”€ mod.rs
โ”‚   โ”‚   โ”œโ”€โ”€ parsing.rs
โ”‚   โ”‚   โ””โ”€โ”€ test_utils.rs
โ”‚   โ”œโ”€โ”€ api.rs
โ”‚   โ””โ”€โ”€ lib.rs
โ”œโ”€โ”€ tests
โ”‚   โ””โ”€โ”€ integration_tests.rs
โ”œโ”€โ”€ .pre-commit-config.yaml
โ”œโ”€โ”€ Cargo.lock
โ”œโ”€โ”€ Cargo.toml
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ pyproject.toml
โ””โ”€โ”€ uv.lock
::

Ret codes

RetCode int description
NoModification 0 The Repo Map reflects the current state of the repo.
ModifiedReadme 1 The README was updated.
FailedParsingFile 2 Failed to read the file to string.
FailedToWriteReadme 3 Failed to write the modified README to file.
InvalidFilename 4 The given README.md or .gitignore path does not match the expected basename.

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

repo_mapper_rs-0.3.0.tar.gz (23.7 kB view details)

Uploaded Source

Built Distributions

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

repo_mapper_rs-0.3.0-cp313-cp313-win_amd64.whl (787.9 kB view details)

Uploaded CPython 3.13Windows x86-64

repo_mapper_rs-0.3.0-cp313-cp313-manylinux_2_34_x86_64.whl (921.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

repo_mapper_rs-0.3.0-cp313-cp313-macosx_11_0_arm64.whl (776.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

repo_mapper_rs-0.3.0-cp312-cp312-win_amd64.whl (788.8 kB view details)

Uploaded CPython 3.12Windows x86-64

repo_mapper_rs-0.3.0-cp312-cp312-manylinux_2_34_x86_64.whl (922.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

repo_mapper_rs-0.3.0-cp312-cp312-macosx_11_0_arm64.whl (776.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

repo_mapper_rs-0.3.0-cp311-cp311-win_amd64.whl (789.3 kB view details)

Uploaded CPython 3.11Windows x86-64

repo_mapper_rs-0.3.0-cp311-cp311-manylinux_2_34_x86_64.whl (924.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

repo_mapper_rs-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (780.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

repo_mapper_rs-0.3.0-cp310-cp310-win_amd64.whl (789.3 kB view details)

Uploaded CPython 3.10Windows x86-64

repo_mapper_rs-0.3.0-cp310-cp310-manylinux_2_34_x86_64.whl (924.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

repo_mapper_rs-0.3.0-cp310-cp310-macosx_11_0_arm64.whl (780.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file repo_mapper_rs-0.3.0.tar.gz.

File metadata

  • Download URL: repo_mapper_rs-0.3.0.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for repo_mapper_rs-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c319087a78930977a53a4322c58c90cd1c016fc2bb2a6b2b097efd2c2cf71297
MD5 e212c9d1331c3f5c8393b3b6a356be26
BLAKE2b-256 97887025225dc64f08218a15e1f36a3da694f0b513b88a04132fca356f60ba67

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0.tar.gz:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c0815eff543c46a051b93247e98bad42213333d47415367b4d0716b4a01e88ef
MD5 40d2fcfa81e23fd48983d03265662c22
BLAKE2b-256 1b14dedd1b243fdc2a16b291d9b3a664ee593bff997f1dcb5eaffedf5b776ade

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp313-cp313-win_amd64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e73c9335348aac980e7f25f44d4ba1be87b065855151411a0402cb720c564b61
MD5 ad5840f42af8268b516cf475bee66506
BLAKE2b-256 0a729fafdee20f496a8cc71b622c7c3dbbc9231423e7f4e0a0f43218f78b7fc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 80588563197422068cbb5b0c3cb23811f7dc4fc04ab03d5bcada2fe19c010700
MD5 a557a1cf22554599a68e365defca7c6b
BLAKE2b-256 4f45200104e672f43d263b15b1107314d999ebf7145bea148f0cd102c289480f

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e961b3a4b17d615a3ac0b9e55308c3fe51ad0159ee97217ee145d5e2439a2ca0
MD5 8b2a3a216a5062837405c4a0cfc9b88d
BLAKE2b-256 3fada3de567a59cf3f4cce6b52b9ef8ae289a39502b9e71d4242cff16a4754db

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp312-cp312-win_amd64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7cd2373714a0901c53d7d85cb657a020e385d13c0781bcc7b5cd4dfc490969d0
MD5 84e5b3cd19dc0371546698523c2a8bef
BLAKE2b-256 48e85af0af9be629fad4ed76747346e815c707baa1b243d387d7fd79b064c2d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 354504aef5d2eeefffc50a267146a6a0120ec35b37864772a5ef6c594a15ad70
MD5 58d65b508e86a1e149b89e1887ebc229
BLAKE2b-256 375eb82d2a4235fd0c7bc75cf04fd688f80f39b52c485443f6aabafa8ffd1049

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2bf513347169cd3d6b8ecbd4c2aed9fd359239ff301bb387075fde327e6726a5
MD5 9b6ffeb5f077c36adf0a4d9358db53aa
BLAKE2b-256 f3a38dd90828132bace409078acad5492b6fb595a12b657a0e2803dc3af401e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp311-cp311-win_amd64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a45e0605fe01794981523a6e4a50a5cd08da88e7b2e58dc18ad583bb8625477d
MD5 ada728f1d7cd37f63fd98c9b620a03a2
BLAKE2b-256 afb82f26675ca29f65b74d63084db912b4c2bae9519f8ba4e2d7fe3919ce1930

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2de9ed724adbec2bf1d4cd6851bfea2908f268bfbf68cb9ec89348e02a22ed9a
MD5 004941a42b533862b0d89330152ff4aa
BLAKE2b-256 f66c286c9735bc7da077a4ddd263ae99f92f3cddaec055968f1ae427b45c5d34

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d420b8b9a59f67d7b437aa3257c8957a4d52fc6d07839cf88aafe16511fa56cc
MD5 e2452e731e10d1d3777b147937a09658
BLAKE2b-256 dd9ee9758b661147a3327d5166915be4fc88c877e698a207ee95d0c31e1ca479

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp310-cp310-win_amd64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ffa756932d5cb1e71e231aec375e49a8f48f270c59e98e61e16d1c5b299ff7d4
MD5 fb3a657b092092c4dcaaf54c6afba082
BLAKE2b-256 d908c9a80f13a59375e2b3e84934c4973e77b4f3305238429a1c6bbf41548f80

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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

File details

Details for the file repo_mapper_rs-0.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for repo_mapper_rs-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f044b9d78ab1d8f357d0515ed6e724741d7585c8bbc93e4d2cc511fddc24097c
MD5 bc49b62790aad684810232e0f8a3e654
BLAKE2b-256 f6315a306af5cb4d79e26524ff0f69377074eb2278cff0c1e86201eb429f40a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for repo_mapper_rs-0.3.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yaml on second-ed/repo-mapper-rs

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