# ludo-technologies/pyscn

An Intelligent Python Code Quality Analyzer

Repository: https://github.com/ludo-technologies/pyscn
Canonical: https://ross.abutalabs.com/products/pyscn
Homepage: https://docs.codescan.dev/
Language: Go
License: MIT
License Family: permissive
Topics: architecture-analysis, clone-detection, code-complexity, dependency-analysis, python, static-analysis, dead-code-detection
Last push: 2026-09-02T15:34:19+00:00

## Health v2 (maintenance only)
Score: 81/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 100, release rhythm 88, longevity 28
- inputs: {"age_days": 392, "days_push": 0, "days_rel": 0, "gap_med": 2.0, "n_releases_24m": 77}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1039, forks 69 (observed 2026-09-03T02:15:14.578525+00:00)

## What it is
pyscn is a fast Python code quality analyzer written in Go that performs structural analysis using control-flow graphs, tree-sitter syntax trees, and import graphs. It scores codebases 0-100, detecting dead code, duplicate code (Type 1-4 clones), complexity hotspots, circular imports, and class design issues, with HTML reports, CI gates, MCP server, and AI agent skills.

## Use cases
- find dead and unreachable code in my python project
- detect duplicate and copy-pasted code worth refactoring
- measure cyclomatic and cognitive complexity of functions
- check for circular imports before merging
- score overall codebase health with an HTML report
- set up a code quality gate in CI
- find complex code to simplify with an AI coding agent
- analyze class coupling and cohesion metrics

## When to choose
- you need structural analysis beyond what linters like ruff or pylint catch
- you want fast whole-repo analysis (100k+ lines/sec) with zero Python runtime dependencies
- you use AI coding agents (Claude Code, Cursor) and want them to run quality checks
- you need CI quality gates with configurable complexity thresholds
- you want architecture insights like import cycles and module communities

## When to avoid
- you need style linting (use ruff) or type checking (use mypy/pyright)
- you need runtime bug, security, or performance detection
- you want to analyze Jupyter notebooks directly
- you need auto-fixing of reported issues

## Facets
- artifact type: cli-tool
- maturity: active
- function: static-site-generator, linter, developer-tools
- domain: developer-tools
- platform: windows, cli, python, go
- tags: static-analysis, code-quality, clone-detection, cyclomatic-complexity, dead-code, architecture-analysis, mcp, tree-sitter, ci-cd, python, linux, macos

## Member repositories
- ludo-technologies/pyscn (main) score 81

## Provenance
- Observed fields: from GitHub, fetched 2026-09-03T02:15:14.578525+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:04:41.353712+00:00, confidence not recorded.
  - readme: https://github.com/ludo-technologies/pyscn (fetched 2026-09-03T02:15:14.578525+00:00, sha 59c237fca7a3)
  - homepage: https://docs.codescan.dev/ (fetched 2026-08-29T13:05:34.073391+00:00, sha bd2f9028c2ee)
  - site_page: https://docs.codescan.dev/getting-started/installation (fetched 2026-08-29T13:05:34.082694+00:00, sha 244f0192a140)
  - site_page: https://docs.codescan.dev/integrations (fetched 2026-08-29T13:05:34.084562+00:00, sha d42d2525d435)
  - site_page: https://docs.codescan.dev/faq (fetched 2026-08-29T13:05:34.086195+00:00, sha f79a112da036)
  - site_page: https://docs.codescan.dev/getting-started/quick-start (fetched 2026-08-29T13:05:34.088275+00:00, sha 2edf9a0ad118)
  - site_page: https://docs.codescan.dev/integrations/skills (fetched 2026-08-29T13:05:34.090142+00:00, sha ca139be5b9de)
  - site_page: https://docs.codescan.dev/integrations/mcp (fetched 2026-08-29T13:05:34.092369+00:00, sha 4d6dde159e0b)
  - site_page: https://docs.codescan.dev/integrations/ci-cd (fetched 2026-08-29T13:05:34.094205+00:00, sha e9e9cc6d8294)
  - site_page: https://docs.codescan.dev/integrations/python-packaging (fetched 2026-08-29T13:05:34.096162+00:00, sha 7cc49726ddd7)
- Data as of 2026-08-30T08:39:29.467469+00:00.
