--- id: pysen version: "0.12.1" license: MIT license_treatment: permissive maintenance: active --- # pysen — Python linting made easy. Also a casual yet honorific way to address individuals who have entered an organization prior to you. License: permissive · Maintenance: active · Downloads: 1.2M/mo ## What it is and what it does This package is a configuration and execution layer for Python linting tools. Instead of managing separate configuration files for black, flake8, isort, and mypy, you write a single configuration (in pysen.toml or pyproject.toml) that describes linting preferences at a higher level of abstraction. The package then generates the appropriate tool-specific configuration files on the fly and runs each linter with those settings. The package does not install or manage linter versions itself—you install those separately via pip, pipenv, or poetry—but it coordinates their execution and ensures their configurations align with your declared preferences. It supports both CLI usage and programmatic configuration through Python scripts, and integrates with editors. The package is not a linter itself; it is a wrapper and orchestrator that reduces configuration boilerplate across a team's toolchain. Use it for: - Set up consistent linting across a team by committing a single configuration file instead of managing multiple separate linter configs. - Run format and lint checks in CI/CD pipelines with a single command that applies all configured tools. - Generate persistent linter configuration files for IDE integration, then point your editor to those files. - Extend with custom plugins to orchestrate additional tools or customize how existing linters are invoked. - Enforce a strict mypy preset across a codebase while keeping other linter settings flexible. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Orchestrates multiple Python linters (black, flake8, isort, mypy) from a single configuration file, generating and running their settings automatically without managing dependency versions. Yes. Actively maintained with no known vulnerabilities and low install friction. Worth installing if you want to centralize linter configuration and reduce boilerplate across multiple tools. The main trade-off is that you must manage linter versions separately; this package does not lock them for you. If your team already uses multiple linters and wants a single source of truth for their settings, the benefit is substantial. ## Install pip install pysen uv add pysen poetry add pysen ## Installing pysen Before you install: Low friction: pure Python wheel with five runtime dependencies (colorlog, dacite, gitpython, tomlkit, unidiff). Actively maintained with recent release and no known vulnerabilities. License in practice: MIT license permits commercial and private use with minimal restrictions; you may use and modify freely in most contexts. Quickstart: pip install "pysen[lint]" Create pysen.toml: [tool.pysen] version = "0.12" [tool.pysen.lint] enable_black = true enable_flake8 = true enable_isort = true enable_mypy = true Then run: pysen run lint pysen run format Requires Python 3.10 or later. Only checks files tracked in git by default; untracked files are skipped unless PYSEN_IGNORE_GIT=1 is set. Verify before relying: - Whether separately-installed linter versions are reliably compatible with the orchestration layer - Performance impact on large codebases with many files - Extent of customization possible through the plugin interface beyond documented examples - How mypy_preset="strict" interacts with other mypy configuration options ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 1.2M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags python linter orchestration, unified linting configuration, automated linter configuration, python code quality automation, multi-linter runner, linting tool coordinator, centralized lint configuration, linting-orchestration, code-quality, configuration-management [View on SkillFed](https://skillfed.io/packages/pysen) · [View on PyPI](https://pypi.org/project/pysen/)