$npx skillfedfor your agent

darker

Apply Black formatting only in regions changed since last commit

With conditionsPyPI Quality AssuranceReleased Sep 2025219.7K downloads / moBSDPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — darker-3.0.0-py3-none-any.whl
v3.0.0 · released 2025-09-01 · Python >=3.9 · 3 runtime deps: darkgraylib, toml, typing_extensions

Yes, if you need selective code formatting in a Git workflow. The low install friction, permissive license, and stable maintenance make it a practical choice for teams adopting formatters incrementally. Skip it if you prefer whole-codebase reformatting or are starting a project from scratch—use Black or Ruff directly instead. The 347-day gap since last release is not a red flag given the repository's continued activity and clear scope, but verify that the aging status doesn't signal reduced support for your specific use case.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires a Git repository; Black is no longer installed by default as of version 3.0.0, so you must install an optional formatter (black, ruff, pyupgrade, or none) separately if you want code reformatting beyond import sorting or string conversion.
  • Low friction install with three lightweight runtime dependencies (darkgraylib, toml, typing_extensions).
  • The package is aging—last release was 347 days ago—but the repository remains active and well-starred (685 stars), suggesting stable maintenance rather than abandonment.

License · maintenance · safety

BSD (permissive) — BSD permissive license places no restrictions on use, modification, or distribution in commercial or proprietary projects.

last release 2025-09-01 (347 days) · last repo commit 2025-10-22 · 685 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 219,666 downloads/mo, #9,321 on PyPI

Verify before relying

pip install darker

# In a Git repository with modified Python files:
darkr our_file.py

# Or with a specific formatter:
python -m darker --formatter=ruff our_file.py
  • Whether the aging maintenance status (347 days since last release) signals reduced development or stable maturity for this use case.
  • Performance characteristics when run on large codebases with many modified regions.
Same gist for agents: .md · .json

What it is and what it does

Darker is a Git-aware Python code formatter that applies reformatting selectively to only the lines you've changed since a prior commit or revision. It sits between your version control system and formatters like Black or Ruff, solving the problem of introducing formatting-only commits that clutter history and blame attribution. Instead of reformatting an entire codebase in one giant commit, you can reformat incrementally as you touch code for other reasons—useful when adopting a new style in an existing project or contributing to upstream codebases you don't fully control.

The package wraps multiple formatting tools (Black, Ruff formatter, isort for imports, flynt for f-string conversion, and pyupgrade for syntax upgrades) and applies them only to Git-detected changes. It compares the working tree against a baseline revision, identifies which lines have been modified, and reformats only those regions. As of version 3.0.0, Black is no longer bundled by default; you install formatters as optional dependencies. The tool runs as a command-line utility or Python module and integrates with pre-commit hooks and pytest plugins.

Use it for

  • Gradually adopt Black or Ruff formatting in an existing codebase without a single massive reformatting commit.
  • Contribute to upstream projects with different style standards by formatting only your own changes.
  • Combine import sorting (isort) and f-string conversion (flynt) with selective code formatting on modified lines.
  • Integrate formatting into CI/CD to enforce style only on new or changed code, not the entire repository.
  • Use as a pre-commit hook to automatically format only the lines you've edited before committing.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need selective code formatting in a Git workflow.

The low install friction, permissive license, and stable maintenance make it a practical choice for teams adopting formatters incrementally. Skip it if you prefer whole-codebase reformatting or are starting a project from scratch—use Black or Ruff directly instead. The 347-day gap since last release is not a red flag given the repository's continued activity and clear scope, but verify that the aging status doesn't signal reduced support for your specific use case.

Install

darker on PyPI

Before you install

Low friction install with three lightweight runtime dependencies (darkgraylib, toml, typing_extensions). The package is aging—last release was 347 days ago—but the repository remains active and well-starred (685 stars), suggesting stable maintenance rather than abandonment.

Requires a Git repository; Black is no longer installed by default as of version 3.0.0, so you must install an optional formatter (black, ruff, pyupgrade, or none) separately if you want code reformatting beyond import sorting or string conversion.

License in practice

BSD permissive license places no restrictions on use, modification, or distribution in commercial or proprietary projects.

Quickstart

pip install darker

# In a Git repository with modified Python files:
darkr our_file.py

# Or with a specific formatter:
python -m darker --formatter=ruff our_file.py

Verify before relying

  • Whether the aging maintenance status (347 days since last release) signals reduced development or stable maturity for this use case.
  • Performance characteristics when run on large codebases with many modified regions.

Package facts

LicenseBSD permissive
Python supportSupports the current Python release >=3.9
Install frictionLow. Pure-Python wheel
Runtime dependencies
3 packages
darkgraylibtomltyping_extensions
MaintenanceAging 347 days since the last release
Last repo commit
First released
Downloads219,666 / month, #9,321 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9

Evidence: darker-3.0.0-py3-none-any.whl

Tags

Capabilities
partial code formatting gitreformat only changed linesblack on modified codeselective python formattinggit-aware code reformatterformat changed regions onlyincremental code style
Topics
git-awareincremental-formattingcode-quality

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “partial code formatting git”

  • darkerDarker reformats Python source code in Git repositories, but only…
  • gitlint-coreLints Git commit messages against configurable style rules, checking…
  • airflow-code-editorBrowser-based editor and file manager for Apache Airflow DAGs with…

Give your agent the search over MCP, or paste the wish link into any chat.

More Quality Assurance packages

coverage Worth it
PyPI · Testing · released Aug 2026

Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.

Install it if you want to measure test completeness or enforce coverage thresholds in your project.

permissive licensepure Python · 3.10+
335.8Mdownloads / mo
ruff Worth it
PyPI · Python Modules · released Aug 2026

Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.

MITcompiled wheel · 3.7+
316.1Mdownloads / mo
pexpect With conditions
PyPI · Software Development · released Nov 2023

Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.

ISCpure Pythonaging
200.8Mdownloads / mo
black Worth it
PyPI · Python Modules · released May 2026

Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.

MITpure Python · 3.10+
179.9Mdownloads / mo
pytest-xdist Worth it
PyPI · Utilities · released Jul 2025

pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.

Install it if your test suite takes long enough that parallelization would save meaningful time.

MITpure Python · 3.9+
177.1Mdownloads / mo
cfn-lint Worth it
PyPI · Quality Assurance · released Aug 2026

Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.

Install it if you work with CloudFormation templates.

MIT-0pure Python
114.9Mdownloads / mo

See also blacken-docs · darkgraylib · yapf · reformat-gherkin · pyink · nbqa · depinfo · ufmt · ruff-format