This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.8.0 instead.
RepoSnap
Overview
reposnap is a Python script designed to generate a Markdown file that documents the structure and contents of a git project. This tool is particularly useful for creating a quick overview of a project's file hierarchy, including optional syntax-highlighted code snippets.
Features
- Recursive Directory Traversal: Automatically traverses through all subdirectories of the specified project root.
- File Exclusion: Supports excluding specific files and directories using patterns similar to
.gitignore. - Syntax Highlighting: Includes syntax highlighting for known file types in the generated Markdown file.
- Structure Only Option: The
--structure-onlyflag can be used to generate the Markdown file with just the directory structure, omitting the contents of the files.
Usage
Command-Line Interface
To use the collect.py script, run it with the following options:
reposnap [-h] [-o OUTPUT] [--structure-only] [--debug] path
path: Path to the Git repository root folder-h, --help: show help message and exit-o, --output: The name of the output Markdown file. Defaults tooutput.md.--structure-only: Generate a Markdown file that includes only the project structure, without file contents.--debug: Enable debug-level logging.
Examples
-
Generate a full project structure with file contents:
python -m collect my_project/
-
Generate a project structure only:
python -m collect my_project/ --structure-only
-
Generate a Markdown file excluding certain files and directories:
python -m collect my_project/ -e '*.log' -e 'build/' -o output.md
-
Use exclusion patterns from a
.gitignorefile:python -m collect my_project/ -x .gitignore
Testing
This project includes unit tests to ensure the correctness of the code:
test_collect.py: Tests thefile_extension_to_languagefunction, verifying that file extensions are correctly mapped to programming languages for syntax highlighting in the Markdown file.test_cli.py: Tests the command-line interface of thecollect.pyscript, including the--structure-onlyflag.
Running the Tests
To run the tests, use rye:
rye test
This will execute all test cases and provide a summary of the results.
Dependencies
This project uses standard Python libraries and does not require any external dependencies.
License
This project is licensed under the MIT License.
Metadata
Release files for reposnap 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| reposnap-0.2.1.tar.gz | 7.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reposnap-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.7 kB
Release files / reposnap-0.2.1.tar.gz
| Download URL | reposnap-0.2.1.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b5e433f82b506643b5eb838bbba34d0f080a77370e8643a53eb38131e8cc039f
|
|
BLAKE2b-256 checksum How to use checksums |
247125e86a4646cd3bc8bbdcc619eec296fffeba10a9e3efe1c8e44d6175cdf1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.4
|
Release files / reposnap-0.2.1-py3-none-any.whl
| Download URL | reposnap-0.2.1-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5f1fd6a72df408505e41f566466efb2554ab3aab0de5902c79205342d1afffec
|
|
BLAKE2b-256 checksum How to use checksums |
9712b05b26fd4efa80f785f31e2902caac62303c0a2abaf27abda3a73ed71e65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.4
|
Security for reposnap 0.2.1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.