Skip to main content

A pragmatic, resilient Python linter and formatter

Project description

Drace

Drace is a pragmatic Python linter and formatter focused on readability, maintainability, and practical code quality signals.

Highlights

  • Lint + format + score workflows in one CLI
  • Syntax-tolerant analysis so broken files still receive useful feedback
  • Rule-driven autofix with multi-pass formatting
  • Strict CI mode via --strict-fix
  • Configurable defaults through drace config

Installation

pip install drace

Quick Start

drace lint src/
drace format src/
drace format src/ --diff
drace format src/ --strict-fix
drace score src/

Configuration

drace config list
drace config line_len 100
drace config ignored_rules + Z221
drace config reset all

Flexible separators are supported:

drace config line_len = 100
drace config color :: on

Documentation

  • docs/README.md
  • docs/engine.md
  • docs/autofix.md
  • docs/config.md
  • docs/rules/README.md

Philosophy

Drace emphasizes structure over cosmetic compliance. It flags maintainability pressure early so teams can keep code easy to understand and safe to change.

Limitations

  • Python-focused tooling
  • Deeper analysis may be slower than style-only linters
  • Opinionated defaults may differ from strict PEP8-only setups

License

MIT. See LICENSE.

Contributing

See CONTRIBUTING.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

drace-2.3.0.tar.gz (119.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

drace-2.3.0-py3-none-any.whl (132.7 kB view details)

Uploaded Python 3

File details

Details for the file drace-2.3.0.tar.gz.

File metadata

  • Download URL: drace-2.3.0.tar.gz
  • Upload date:
  • Size: 119.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for drace-2.3.0.tar.gz
Algorithm Hash digest
SHA256 a836e9b255acc04bb243df4017d212881e1b3dbe52dbfb4c22a66aff781c4af2
MD5 e0821ce804a5d9995786847734c2739a
BLAKE2b-256 80a59498586e564e4f3b3d7076877b0f0425e3a5011262ecbd909fae7ca6263c

See more details on using hashes here.

Provenance

The following attestation bundles were made for drace-2.3.0.tar.gz:

Publisher: publish.yml on 2kDarki/drace

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file drace-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: drace-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 132.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for drace-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f6a5d2b586ebce730b2756cc0a5ea0a78b0308ec3558751e792d4e77ddd33f2
MD5 6da4b359df4dfcf2bc3dc0149061c400
BLAKE2b-256 0e80ffe0f6a0be480d0e1156a467912d2a931af418bc702ebb4bce2c86df8822

See more details on using hashes here.

Provenance

The following attestation bundles were made for drace-2.3.0-py3-none-any.whl:

Publisher: publish.yml on 2kDarki/drace

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page