Skip to main content

CodexRay

The ultimate Python code health analyzer.

One command to understand the complete health of a Python repository — quality, security, types, architecture, complexity, dependencies, tests, and documentation — with prioritization that feels like a staff engineer review.

pip install py-codexray
codexray analyze .

Why CodexRay?

The Python ecosystem already has excellent specialized tools (Ruff, Bandit, Radon, Vulture, pip-audit, BasedPyright). Developers still have to run them separately, reconcile duplicate noise, and decide what matters.

CodexRay is the unified intelligence layer:

  • Orchestrates best-in-class analyzers
  • Adds native architecture, duplicate, and documentation analysis
  • Deduplicates and clusters findings
  • Computes a transparent repository health score
  • Estimates cleanup effort and recommends what to fix first
  • Emits terminal, Markdown, HTML, JSON, and SARIF reports

"Run CodexRay before you merge."

Install

pip install py-codexray

# Recommended full toolchain
pip install 'py-codexray[full]'

Requires Python 3.10+.

CLI

codexray analyze .                 # full health analysis
codexray report . -f html -o out.html
codexray fix .                     # safe autofixes via Ruff
codexray doctor .                  # environment & analyzer diagnosis
codexray graph .                   # import graph + cycles
codexray diff . --save             # save / compare baseline
codexray watch . --profile fast    # re-analyze on changes

Profiles

Profile Engines Use
fast Native + Ruff + complexity Pre-commit
standard + Bandit + Vulture + pip-audit + docs/tests Default CI
deep + type checkers Release audits

Exit codes

analyze exits 1 when the score is below --fail-under (default 70, configurable).

Configuration

pyproject.toml:

[tool.codexray]
profile = "standard"
fail_under = 70
exclude = [".venv", "dist", "build"]
complexity_threshold = 10
ignore_rules = ["DOC001"]

Or codexray.toml:

[codexray]
profile = "fast"
fail_under = 80

Reports

codexray analyze . -f json -o report.json
codexray analyze . -f sarif -o results.sarif
codexray report . -f md -o HEALTH.md
codexray report . -f html -o health.html

Architecture (short)

See docs/architecture.md, docs/ecosystem-analysis.md, and docs/feature-matrix.md.

discover → parallel analyzers → normalize → intelligence → report / fix

Integrate, don't reinvent: Ruff, Bandit, Radon, Vulture, pip-audit, BasedPyright.

Native where tools fall short: import graphs, cycles, duplicates, health scoring, clustering.

Plugin API

Entry point group: codexray.analyzers

class MyAnalyzer:
    name = "mine"
    profiles = {"standard", "deep"}

    def is_available(self) -> bool:
        return True

    def analyze(self, ctx):
        return []  # list[Finding]
[project.entry-points."codexray.analyzers"]
mine = "mypkg:MyAnalyzer"

Development

python -m pip install -e '.[dev,full]'
pytest
codexray analyze src

License

MIT — © 2026 M SANTHOSH KUMAR

Repository: https://github.com/santhoshse7en/codexray

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_codexray-0.1.0.tar.gz (32.6 kB view details)

Uploaded Source

Built Distribution

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

py_codexray-0.1.0-py3-none-any.whl (38.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: py_codexray-0.1.0.tar.gz
  • Upload date:
  • Size: 32.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.3

File hashes

Hashes for py_codexray-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a91bb3f94e87f5abc2d66705b03118925a954a84c0683b995b6e92f65f42fdaa
MD5 0e9813f257be0ca24db17f0889dd0776
BLAKE2b-256 1ef6b358f247ded29f6d5e4f6817efe7656f96e965cc94e56bd0b4b28e30b711

See more details on using hashes here.

File details

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

File metadata

  • Download URL: py_codexray-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 38.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.3

File hashes

Hashes for py_codexray-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f57b0f22a573fc5560451652da7caa49c7731660aac20632a6efe3858db43602
MD5 a554b27971c1c45fd5c41da89a00a8da
BLAKE2b-256 23d77091a3c2b91f0f99fa6ff32b3b223aa10aaf06864ac7a590107a833c3411

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