Skip to content
View pycleancode's full-sized avatar
  • Joined Jun 12, 2025

Block or report pycleancode

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
pycleancode/README.md

pycleancode logo

Pycleancode: Professional Python Clean Code Toolkit

A Python toolkit to help developers write professional-grade, maintainable, and clean code following clean code principles.

PyPI version CI Coverage License


pycleancode is a professional-grade Python toolkit that helps developers write clean, maintainable, and scalable code following clean code principles.

🌍 Project Goal

Build multiple code quality tools under a single unified package architecture.

Unlike traditional linters that only focus on style violations, pycleancode implements advanced rule engines that target deeper structural and maintainability aspects of your code.


πŸ”„ Why pycleancode?

While tools like flake8, pylint, ruff, and black are excellent, most focus heavily on surface-level syntax or style violations.

pycleancode is different:

  • πŸ”„ Designed for professional teams writing critical Python codebases.
  • 🀝 Rule-based pluggable architecture to extend new structural checks.
  • πŸ”„ AST-powered deep nesting detection.
  • 🎑 Focused on long-term maintainability.
  • πŸ¦– OSS-grade code architecture.

πŸ”„ Current Release - v1.0.0

pycleancode 1.0.0 includes the first module: brace_linter.

Brace Linter

The brace_linter module focuses on structural code depth and complexity. It analyzes Python code for excessive nesting and deeply nested functions that often make code harder to read, maintain, and extend.

Key Features

  • Max Depth Rule

    • Enforces maximum logical nesting depth.
    • Helps prevent pyramid-of-doom structures.
  • Nested Function Rule

    • Enforces maximum levels of nested function definitions.
    • Prevents excessive local function scoping that can reduce readability.
  • Structural Reporting

    • Full structural report of nesting tree.
    • Emoji + ASCII visualization of code structure.
    • Summary chart output for quick depth evaluation.

Sample output:

sandbox/test_sample.py:2: Nested functions depth 2 exceeds allowed 1
sandbox/test_sample.py:3: Depth 4 exceeds max 3

πŸ“ˆ Structural Report:

 πŸ”Ύ ROOT (Line 0, Depth 1)
β”‚ πŸ”Ή FunctionDef (Line 1, Depth 2)
β”‚ β”‚ πŸ”Ή FunctionDef (Line 2, Depth 3)
β”‚ β”‚ β”‚ πŸ”Ή FunctionDef (Line 3, Depth 4)

πŸ›‘ Python Compatibility

  • βœ… Supported Python versions: 3.8, 3.9, 3.10, 3.11, 3.12
  • ⚠ Python 3.13+ is not yet supported (due to upstream Rust dependencies)

🌐 Installation

Install via PyPI:

pip install pycleancode

Or using Poetry:

poetry add pycleancode

πŸ”§ Basic Usage

Run directly via CLI:

pycleancode-brace-linter path/to/your/code.py --report

πŸ“ Configuration

Configure via pybrace.yml:

rules:
  max_depth:
    enabled: true
    max_depth: 3
  nested_function:
    enabled: true
    max_nested: 1

Pass config via CLI:

pycleancode-brace-linter your_code.py --config pybrace.yml

πŸ”§ Development Setup

git clone git@github.com:YOUR_USERNAME/pycleancode.git
cd pycleancode
poetry install
pre-commit install

Run full tests:

poetry run pytest --cov=pycleancode --cov-report=term-missing

Run pre-commit:

poetry run pre-commit run --all-files

πŸ“– Roadmap

Module Description Status
brace_linter Structural depth analysis (nesting, functions) βœ… Completed
Full documentation site OSS-grade docs & API reference ⏳ Planned

πŸ”’ License

Released under the MIT License. See LICENSE.


πŸ›‘οΈ Code of Conduct

Please see our CODE_OF_CONDUCT.md


πŸ”— Contributing

We welcome OSS contributions. Please read our full CONTRIBUTING.md to get started!

  • Clean Code Principles
  • 100% Test Coverage Required
  • Pre-commit Hooks Required
  • Conventional Commits Required

πŸ”” Community

  • GitHub Discussions (coming soon)
  • Issues and PRs welcomed
  • PyPI release v1.0.0 live

πŸš€ Pycleancode: Clean Code. Professional Quality. OSS-Grade Python. Unified Modular Clean Code Toolkit.

Popular repositories Loading

  1. pycleancode pycleancode Public

    A Python toolkit to help developers write professional-grade, maintainable, and clean code following clean code principles.

    Python 4 2