Metadata-Version: 2.4
Name: dogmatic
Version: 0.1.1
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Rust
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Quality Assurance
License-File: LICENSE
Summary: An opinionated Python linter and formatter built on Ruff.
Keywords: automation,flake8,pycodestyle,pyflakes,pylint,clippy
Home-Page: https://docs.astral.sh/ruff
Author-email: "Astral Software Inc." <hey@astral.sh>
License-Expression: MIT
Requires-Python: >=3.7
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Upstream changelog, https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md
Project-URL: Upstream documentation, https://docs.astral.sh/ruff/
Project-URL: Upstream repository, https://github.com/astral-sh/ruff

# Dogmatic

An opinionated Python linter and formatter built on Ruff, with native rules for
typed data boundaries, explicit dependency injection, async execution, pytest,
and named constants.

```shell
uv tool install dogmatic
dogmatic check .
dogmatic format .
```

The Python package also supports `python -m dogmatic`. Dogmatic uses Ruff's
configuration format, including `[tool.ruff]` in `pyproject.toml`, `ruff.toml`,
and existing rule selectors and suppressions.

Dogmatic's release version is independent of its Ruff engine version. Ruff's
`required-version` setting checks the engine version, currently `0.16.6`.

Application-specific checks are opt-in preview rules. For example:

```toml
[tool.ruff.lint]
preview = true
extend-select = [
    "custom-prefer-dataclass",
    "custom-explicit-dependencies",
    "custom-no-service-locator",
    "custom-no-import-side-effects",
    "custom-no-bare-constants",
    "custom-no-thread-execution",
    "custom-no-test-mocking",
    "custom-require-pydantic-input",
]
```

Run `dogmatic rule <rule-name>` for a rule's behavior and examples.

Dogmatic includes Ruff, originally developed by Astral Software Inc., under the
MIT license. The upstream project is available at
[astral-sh/ruff](https://github.com/astral-sh/ruff). Dogmatic is an independent
distribution; its application-specific policies are not upstream Ruff rules.

