Skip to main content

Instant beautiful insights about any codebase. Like neofetch, but for your repos.

Project description

Python 3.9+ PyPI License Stars

                      .__
_______   ____ ______ |  |  ___.__._________ _____
\_  __ \_/ __ \\____ \|  | <   |  |\___   // __ \_ __ \
 |  | \/\  ___/|  |_> >  |__\___  | /    /\  ___/|  | \/
 |__|    \___  >   __/|____// ____|/_____ \\___  >__|
             \/|__|         \/           \/    \/

Instant beautiful insights about any codebase.
Like neofetch, but for your repositories.


Why?

Ever jump into a new codebase and wonder: "What's going on here?"

repolyzer gives you a complete overview of any project in seconds — languages, structure, git history, dependencies, health, and code markers — all in a gorgeous terminal display.

$ repolyzer

╔══════════════════════════════════════════════════════════════╗
║                        repolyzer                            ║
║              analyzing my-awesome-project                   ║
╚══════════════════════════════════════════════════════════════╝

╭─ Languages ──────────────────────────────────────────────────╮
│  Python       █████████████████████████░░░░░  78.2%   12,847 lines │
│  JavaScript   ████████░░░░░░░░░░░░░░░░░░░░░  15.3%    2,341 lines │
│  CSS          ███░░░░░░░░░░░░░░░░░░░░░░░░░░   4.1%      687 lines │
│  Shell        █░░░░░░░░░░░░░░░░░░░░░░░░░░░░   2.4%      402 lines │
╰──────────────────────────────────────────────────────────────╯

╭─ Structure ──────────────────────────────────────────────────╮
│  Files      142          Dirs       23                       │
│  Size       1.2 MB       Max depth  6                        │
╰──────────────────────────────────────────────────────────────╯

╭─ Git ────────────────────────────────────────────────────────╮
│  Branch     main         Commits    847                      │
│  Branches   3            Tags       12                       │
│  Authors    5            Changes    2                        │
│                                                              │
│  🥇 Alice Johnson          423 commits                       │
│  🥈 Bob Smith               312 commits                      │
│  🥉 Charlie Dev             112 commits                      │
╰──────────────────────────────────────────────────────────────╯

╭─ Dependencies ───────────────────────────────────────────────╮
│  requirements.txt                          23 deps           │
│  package.json                     15 deps  8 dev             │
│                                                              │
│  Total: 38 dependencies, 8 dev                               │
╰──────────────────────────────────────────────────────────────╯

╭─ Health ─────────────────────────────────────────────────────╮
│  ✓ README           ✓ License          ✓ .gitignore         │
│  ✓ CI/CD            ✓ Tests            ✗ Docker             │
│  ✗ Contributing     ✗ Changelog        ✗ Security policy    │
│                                                              │
│  Health score: 60%  ████████████░░░░░░░░                     │
╰──────────────────────────────────────────────────────────────╯

╭─ Code Markers ───────────────────────────────────────────────╮
│  TODO 23    FIXME 5    HACK 2                                │
│  Total: 30 markers found                                     │
╰──────────────────────────────────────────────────────────────╯

  Scanned in 0.34s

Installation

pip install repolyzer

Or with pipx (recommended):

pipx install repolyzer

Usage

# Analyze current directory
repolyzer

# Analyze a specific path
repolyzer /path/to/project

# Output as JSON (for scripting)
repolyzer --json

# Skip specific analyses
repolyzer --no-git --no-todos

What it analyzes

Category Details
Languages 60+ languages detected with line counts, file counts, and visual breakdown
Structure File/directory counts, total size, nesting depth
Git Commits, branches, tags, contributors, last commit, repo age
Dependencies Supports package.json, requirements.txt, Cargo.toml, go.mod, Gemfile, pyproject.toml, and more
Health README, license, CI/CD, tests, Docker, linting, contributing guide, changelog, security policy
Code Markers TODO, FIXME, HACK, BUG, XXX, OPTIMIZE, DEPRECATED

JSON output

Perfect for CI/CD pipelines, dashboards, or scripting:

repolyzer --json | jq '.health.score'

Supported dependency files

  • package.json (Node.js)
  • requirements.txt / Pipfile / pyproject.toml (Python)
  • Cargo.toml (Rust)
  • go.mod (Go)
  • Gemfile (Ruby)
  • composer.json (PHP)
  • pom.xml / build.gradle (Java)
  • pubspec.yaml (Dart/Flutter)
  • mix.exs (Elixir)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

# Clone the repo
git clone https://github.com/WimLee115/repolyzer.git
cd repolyzer

# Install in development mode
pip install -e ".[dev]"

# Run on itself
repolyzer .

License

MIT License - see LICENSE for details.


Built with Rich and Click

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

repolyzer-0.1.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

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

repolyzer-0.1.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file repolyzer-0.1.0.tar.gz.

File metadata

  • Download URL: repolyzer-0.1.0.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for repolyzer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 76bf12ce93d3e0bb9339837dda31aca67d9a742b6034a23a37eb1dcc160381b6
MD5 e447812b4db936669e8af384576d1abd
BLAKE2b-256 4595399ceb3ae1c4e429f364e16359eb3ce503b76c3d257b15cd3c7409f259d7

See more details on using hashes here.

File details

Details for the file repolyzer-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: repolyzer-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for repolyzer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a4dbc7c4b8d8b2cfbd888992f11c9b3da3f110ea6c4051f9fd125e16078749ec
MD5 0eab633d2feacff20ac1695d9207c84c
BLAKE2b-256 331726c66216b877660ffe487be674848d780b1b5487e5909eea6849e450459b

See more details on using hashes here.

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