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.1.tar.gz (119.6 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.1-py3-none-any.whl (132.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for drace-2.3.1.tar.gz
Algorithm Hash digest
SHA256 bf291db23dd4c1dfa7c8bf24b8a888061a808e5aeca6e2980cf640999ef8c2c3
MD5 3791e4e6309e54de36e76fd7dd4fd9fa
BLAKE2b-256 4adf7d88ce2411152bf491d5ae8ae9a8a07dbedac7741001cc1d4c62e12faa03

See more details on using hashes here.

Provenance

The following attestation bundles were made for drace-2.3.1.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.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for drace-2.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a600bff6c77d28f7714e8406f4da66b20b69a2ee24acf6780c173ff8fdf40c7b
MD5 a3f40a2a75b2d31b3ee3b6ceaada5165
BLAKE2b-256 898bee147e9eb2a92809db7e9683084fadcd6e6a793458a0194161744daed204

See more details on using hashes here.

Provenance

The following attestation bundles were made for drace-2.3.1-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