Skip to main content

dermestes

Finds abstractions in Python code that have not earned their keep, and reports them as deletion candidates an agent can act on.

Status: phase 5. one-impl, const-param, pass-through and dead-code work. See docs/plans/CONSTITUTION.md.

Checks

Phase id Flags
1 one-impl ABC or Protocol with exactly one production implementation
2 const-param Parameter whose default is never overridden, or that receives the same literal, at every call site
3 pass-through Function whose body only forwards its arguments to another repo function, or a private one-line helper with one production call site
4 dead-code Function or method no production code mentions: only tests (test-only) or nothing (unused)

Usage

uvx dermestes@latest              # findings introduced by staged + unstaged changes vs HEAD
uvx dermestes@latest --base main  # findings introduced since main
uvx dermestes@latest --all        # full audit
uvx dermestes@latest guide        # agent-oriented instructions

Exit codes: 0 no findings (and no output), 1 findings, 2 usage or internal error.

For your CLAUDE.md

### `dermestes` — over-abstraction

- `dermestes` lists abstractions your change introduced that have a single
  user (an ABC with one implementation, a function with one caller).
- Each finding ends in a `suggest:` line. Apply it and run the tests, or keep
  it with `# dermestes: keep <reason>` in the definition's header.

Development

make review-quick   # fmt, clippy, tests
make review         # plus cargo-audit and cargo-deny
make wheel          # build a wheel via maturin
make docs           # build the mdBook site + llms.txt

License

MIT

Metadata

Release files for dermestes 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dermestes 0.1.0
File Size Uploaded
dermestes-0.1.0.tar.gz 909.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for dermestes 0.1.0
File Interpreter ABI Platform
dermestes-0.1.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
dermestes-0.1.0-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
dermestes-0.1.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details

Total release size: 4.9 MB

Release files / dermestes-0.1.0.tar.gz

Download URL dermestes-0.1.0.tar.gz
Size 909.5 kB
Tags Source
SHA-256 checksum
How to use checksums
65909d50bae56e7f43fc72cd817a4f20346d44c721597f2feb3898a937d8d609
BLAKE2b-256 checksum
How to use checksums
1379189213c21381fd62d87353bdf746fd3cea2fa988badb1dc4c9a16b9a8275
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / dermestes-0.1.0-py3-none-win_amd64.whl

Download URL dermestes-0.1.0-py3-none-win_amd64.whl
Size 1.3 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
1e95a11e5b3e57c4a0cac2fd96a1fd535b86b8510ad031091a0dd67c5ee54208
BLAKE2b-256 checksum
How to use checksums
b0fd92b589e94db2f08b07291291d13a1072edcde53def210f443898b3928c26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / dermestes-0.1.0-py3-none-manylinux_2_28_x86_64.whl

Download URL dermestes-0.1.0-py3-none-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
b0e8011ae7eede4d7812ffa75c8e876b54f0ecf64e821f26abbf5311e81ab14d
BLAKE2b-256 checksum
How to use checksums
f0bab26072506bfbaa1da1bcdabcefaf2ebcdac7b941fe76cf53664c48089307
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / dermestes-0.1.0-py3-none-macosx_11_0_arm64.whl

Download URL dermestes-0.1.0-py3-none-macosx_11_0_arm64.whl
Size 1.2 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eb496b9ee49d02cc984f716c0692b3acce46b7fb70b7f06f6156b0ef8dc7f435
BLAKE2b-256 checksum
How to use checksums
d733ad3bb4cfed0c632009fab32d66adcb2f624083ddb0564c480f8388ab112b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.1

4 release files

This release

0.1.0 This release

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page