Code quality analysis for Python in the age of AI coding.
Building with Cursor, Claude, or ChatGPT? pyscn keeps AI-generated code maintainable with structural analysis.
Working with other languages? pyscn is part of polyscan — code quality analyzers for JavaScript/TypeScript and more
Quick Start
# Run analysis without installation
uvx pyscn@latest analyze .
# or
pipx run pyscn analyze .
Demo
Features
One command scores your whole codebase (0-100 with an A-F grade) and generates an HTML report that shows what to fix first.
pyscn looks at your code from five angles:
🧹 Dead code - unreachable code you can safely delete
📋 Duplicate code - copy-pasted and structurally similar code worth merging (Type 1-4 clone detection)
🌀 Complexity - functions and executable class suites that are hard to read and test (cyclomatic and cognitive complexity)
🔥 Module and directory hotspots - per-file quality and per-directory complexity rollups for prioritizing refactors
🏗️ Architecture - circular imports, layer rule violations (clean / layered / hexagonal / MVC presets), and auto-detected module communities that reveal how your code is actually structured
🧩 Class design - classes that do too much or depend on too much (CBO coupling, LCOM4 cohesion)
100,000+ lines/sec • Built with Go + tree-sitter
AI Agent Integration
pyscn ships Agent Skills that teach AI coding agents when and how to run each analysis: health checks, refactoring, architecture review, and CI-friendly reports.
Agent Skills (Recommended)
uvx add-skills ludo-technologies/pyscn
This installs the Skills into your project. They work with Claude Code, Cursor, Codex, Gemini CLI, and many other agents (add --agent cursor etc. to target one, --global for all projects).
Then just ask your agent:
"Analyze the code quality of the app/ directory"
"Find duplicate code and help me refactor it"
"Show me complex code and help me simplify it"
MCP Server (Optional)
For tighter integration, the bundled pyscn-mcp server exposes the same analyses as MCP tools to Claude Code, Cursor, ChatGPT, and other MCP clients.
Claude Code plugin (sets up the MCP server and the Skills together):
claude plugin marketplace add ludo-technologies/pyscn
claude plugin install pyscn-mcp@pyscn-marketplace
Manual setup for Claude Code:
claude mcp add pyscn-mcp uvx -- pyscn-mcp
Cursor / Claude Desktop: add to your MCP settings (~/.config/claude-desktop/config.json or Cursor settings):