Skip to main content

repo-mapper-rs 🦀

PyPI Downloads

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).

New Features:

0.4.0

  • repo-map-desc:
    • adding repo-map-desc: to a line will treat everything after repo-map-desc: up to the end of the line as a file description.
    • that description is added to the corresponding file in the repo map
    • it will ignore any characters before repo-map-desc: (e.g. comments or code)
    • only apply to the first matching line per file

0.5.0

  • .repo-map-desc files
    • add a .repo-map-desc file in a directory with text matching the repo-map-desc: prefix to the file
    • that description is then added to the dir on the repo-map
    • only apply to the first matching line per file

Example

(in root/some_dir/.repo-map-desc)

repo-map-desc: this is the description that shows up in the repo map for the some_dir directory

Repo map

├── benches
│   └── repo_mapper_rs_benchmark.rs
├── python
│   └── repo_mapper                  # the python CLI interface that calls the rust core
│       ├── __init__.py
│       └── __main__.py              # Main CLI entry point
├── src
│   ├── core                         # the core rust code that does the work
│   │   ├── domain                   # main domain objects handles pure transformations of the files
│   │   │   ├── file_tree.rs
│   │   │   ├── mod.rs
│   │   │   ├── repo_entry.rs        # simple implementation of a repo object
│   │   │   ├── ret_codes.rs
│   │   │   ├── transform.rs         # Where the file tree is generated
│   │   │   └── utils.rs
│   │   ├── parsing                  # convert interactions with the outside world into something useful
│   │   │   ├── args.rs
│   │   │   ├── context.rs
│   │   │   ├── file_text.rs
│   │   │   ├── gitignore.rs
│   │   │   ├── mod.rs
│   │   │   └── readme.rs
│   │   ├── adapters.rs
│   │   └── mod.rs
│   ├── api.rs                       # The translation layer between python and rust
│   └── lib.rs
├── tests
│   └── integration_tests.rs         # component level integration tests using FakeFileSystem
├── Cargo.lock
├── Cargo.toml
├── LICENSE
├── README.md                        # Installation and simple docs
├── pyproject.toml
└── uv.lock

(generated with repo-mapper-rs)
::

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.

Release files for repo-mapper-rs 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for repo-mapper-rs 0.5.0
File Size Uploaded
repo_mapper_rs-0.5.0.tar.gz 32.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for repo-mapper-rs 0.5.0
File
repo_mapper_rs-0.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
repo_mapper_rs-0.5.0-cp313-cp313-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ x86-64 Details
repo_mapper_rs-0.5.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
repo_mapper_rs-0.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
repo_mapper_rs-0.5.0-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details
repo_mapper_rs-0.5.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
repo_mapper_rs-0.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
repo_mapper_rs-0.5.0-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details
repo_mapper_rs-0.5.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
repo_mapper_rs-0.5.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
repo_mapper_rs-0.5.0-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details
repo_mapper_rs-0.5.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 7.3 MB

Release files / repo_mapper_rs-0.5.0.tar.gz

Download URL repo_mapper_rs-0.5.0.tar.gz
Size 32.5 kB
Tags Source
SHA-256 checksum
How to use checksums
5c89e9b37ecf098ef34d5f65c2ffb073cb647229f588da572ef5ef9cc2253a80
BLAKE2b-256 checksum
How to use checksums
bf0ac6752e1f520f831d3e57bffebcb7053a627b8a728d193b5450ed6559c8cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp313-cp313-win_amd64.whl

Download URL repo_mapper_rs-0.5.0-cp313-cp313-win_amd64.whl
Size 563.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4ac01e66ac3e3753adf441395cb745da0a4308950494b385c1ed292d5d2b3621
BLAKE2b-256 checksum
How to use checksums
31842b13382dae8307173180fa5f5018e060ecc21f6f2482221e29fc5ff9697f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp313-cp313-manylinux_2_34_x86_64.whl

Download URL repo_mapper_rs-0.5.0-cp313-cp313-manylinux_2_34_x86_64.whl
Size 681.3 kB
Tags CPython 3.13 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
9eb98f3d8161cc001f49ed5f2538e9e63065344685b44c7a762b76daafee0626
BLAKE2b-256 checksum
How to use checksums
1a2020352720446ef9d5a5227509b64b12fdc6a91de73a7b796e2aa25ef2bfb8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL repo_mapper_rs-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
Size 581.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
785037f4e002f9d2b8026910bf96fe77d27d93462996ca6ce8483aba3483f327
BLAKE2b-256 checksum
How to use checksums
133e59b1d5591dd891ea4e440ea6d4a31ea103c8b5438fcd8c60a9075264cd20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp312-cp312-win_amd64.whl

Download URL repo_mapper_rs-0.5.0-cp312-cp312-win_amd64.whl
Size 564.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
3bf43769d00466501e135a2721fe7775a84ebfb510bad542fa155b2c04c8a165
BLAKE2b-256 checksum
How to use checksums
131026b4b05e8bed820d47eb559d3748ae604f14df7f4db11b9d66309affa649
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL repo_mapper_rs-0.5.0-cp312-cp312-manylinux_2_34_x86_64.whl
Size 681.5 kB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
5f1c438a0c9476890a0a1cc5717e7839eec2c17e299378303f836f1f2e00a7de
BLAKE2b-256 checksum
How to use checksums
120f5bd36f6b94fa27cd141f888d0fc84b9407387809137aeaf0b33192d55794
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL repo_mapper_rs-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
Size 582.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f78337573c648c3015694816ace2a648ec4aa0987c5ef83e7165d5e9e479a108
BLAKE2b-256 checksum
How to use checksums
4b388bcafbe7126fa9f8409a84b9fc7291b26d17d788350c32028a24a6bbf6ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp311-cp311-win_amd64.whl

Download URL repo_mapper_rs-0.5.0-cp311-cp311-win_amd64.whl
Size 564.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
0b17595ea78e549a68e5fe249959c98fb8ec397edf6344796eb016ae7dde5439
BLAKE2b-256 checksum
How to use checksums
a62c8d611913223de0abee0eb554fdc7ab1ae7d002b342201c6787264943f246
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL repo_mapper_rs-0.5.0-cp311-cp311-manylinux_2_34_x86_64.whl
Size 682.3 kB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
f5aa192df26e839ca8ce901051543ae99ec328e2a116382330b518279d23525c
BLAKE2b-256 checksum
How to use checksums
1318d4ba8730ef41565bd937d3d92a350fc6ac7b2adac47742eee019ab95bf30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL repo_mapper_rs-0.5.0-cp311-cp311-macosx_11_0_arm64.whl
Size 582.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
be1ecfd8a840daea792d049f87fa5593c8be2b17e74dacd15ec10f6535259754
BLAKE2b-256 checksum
How to use checksums
2eaca50d285419197b4d1e8961ec890084ff7f676a47943a07130f0a8a597ef6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp310-cp310-win_amd64.whl

Download URL repo_mapper_rs-0.5.0-cp310-cp310-win_amd64.whl
Size 564.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b17874fab67bc61c03b0c88125adb940f019fc90e18e41f2180632e62ac552a1
BLAKE2b-256 checksum
How to use checksums
9e04f415936a9e882b7b777db4bd30e040b0b7074c1cc1e153a754baf36ea521
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL repo_mapper_rs-0.5.0-cp310-cp310-manylinux_2_34_x86_64.whl
Size 682.4 kB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
c97b8029019e5a5b96684076e875aefd45ca91f49cba80fdb3b3385b0718e2b9
BLAKE2b-256 checksum
How to use checksums
4b9b56a7be2a52bd0a0f33695a9d0fe6109e8587d95eb6e17d07eb9d84b25044
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release files / repo_mapper_rs-0.5.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL repo_mapper_rs-0.5.0-cp310-cp310-macosx_11_0_arm64.whl
Size 582.6 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
62b06c819a8550ffefccb714d172eed44c4037596119d9f8129d8dfbd4f57af0
BLAKE2b-256 checksum
How to use checksums
6260b9148ce7a814913436035135730f6f31642c55ab5cb533ebb3f0e3f17a0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Jul 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

13 release files

0.4.1

13 release files

0.4.0

13 release files

0.3.0

13 release files

0.2.1

13 release files

0.2.0

13 release files

0.1.0

13 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