Skip to main content

drefs

CI PyPI Python versions License: MIT

An extremely fast Python docstring cross-reference checker, written in Rust.

Shows a bar chart with benchmark results.

Validating cross-references in tinygrad (697 Python files). ~460x faster.

Usage

uvx drefs .
src/my_pkg/models.py:12:5: DREF001 Unresolved reference `my_pkg.old_module.Foo`
src/my_pkg/views.py:45:9: DREF001 Unresolved reference `Nonexistent`
Found 2 errors.

That's it.

Supported syntax

  • MkDocs: [text][pkg.mod.Class], [pkg.mod.Class][]
  • Sphinx: :class:`pkg.mod.Class`
  • Rust-style: [Symbol], [`Symbol`], [pkg.mod.Class]

[User] resolves via the current file's imports. [pkg.models.User] resolves directly. Escape with \[not a ref\].

drefs understands __init__.py re-exports, inheritance chains, and self.x attributes.

Configuration

Optional. Add to pyproject.toml:

[tool.drefs]
src = ["src"]                  # auto-detected if omitted
style = "auto"                 # "mkdocs" | "sphinx" | "auto"
inventories = [                # validate against external symbols
    "https://docs.python.org/3/objects.inv",
]

Editor support

PyCharm / IntelliJ

  • Ctrl+Click on each segment of a dotted path
  • Syntax highlighting on cross-references
  • Red squiggles on broken references

Install from editors/pycharm/build/distributions/drefs-pycharm-*.zip via Settings > Plugins > Install from Disk.

Contributing

See CONTRIBUTING.md.

License

MIT

Metadata

Release files for drefs 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 drefs 0.1.0
File Size Uploaded
drefs-0.1.0.tar.gz 107.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for drefs 0.1.0
File
drefs-0.1.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
drefs-0.1.0-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
drefs-0.1.0-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
drefs-0.1.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
drefs-0.1.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 12.3 MB

Release files / drefs-0.1.0.tar.gz

Download URL drefs-0.1.0.tar.gz
Size 107.6 kB
Tags Source
SHA-256 checksum
How to use checksums
56057dfd22eb75ff384cd23715c62ce6a2357838acecd3d89d0fdd71bd582073
BLAKE2b-256 checksum
How to use checksums
79cbdef2a8028e9d55ec0c5ae33c227fa9b5351b497579530f6b1851d31da6b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 16, 2026.

Transparency log

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

Download URL drefs-0.1.0-py3-none-win_amd64.whl
Size 2.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
f4075ab2b5dab31c5c7ece5fd70b047a8bf2932e21b0798230e0698dfa3644eb
BLAKE2b-256 checksum
How to use checksums
a9f747fdd1ffa0d9c2bbc245eb04bbfc74da76e500dccaedc30338217ffaf130
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 16, 2026.

Transparency log

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

Download URL drefs-0.1.0-py3-none-manylinux_2_28_x86_64.whl
Size 2.6 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
91095aa647c6d92f83c4d840a63fefef542c2e7dda1bbae77cc32f80a3a6b4a3
BLAKE2b-256 checksum
How to use checksums
4dc63420c7fdeb5b13b6375fb5a4817a649a9e6f9d7076c57ed82d7e580e9904
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 16, 2026.

Transparency log

Release files / drefs-0.1.0-py3-none-manylinux_2_28_aarch64.whl

Download URL drefs-0.1.0-py3-none-manylinux_2_28_aarch64.whl
Size 2.4 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
8c2b6136cfb5f644a47e73e6d044937c9901e7cf17330fed973dec3c2768e3bb
BLAKE2b-256 checksum
How to use checksums
ae05488e1d3aa8b3279748b2efe31103428cf54d2b48d0477ef12f857201a64a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 16, 2026.

Transparency log

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

Download URL drefs-0.1.0-py3-none-macosx_11_0_arm64.whl
Size 2.3 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6cda116e30cb6d0d033949341eb8a63faeeaa3c010a6a75b371def8a40969bb0
BLAKE2b-256 checksum
How to use checksums
bc04b0493e4642b29470f1f8d5c600a53cac6f79dcce007372335a5518ca2684
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 16, 2026.

Transparency log

Release files / drefs-0.1.0-py3-none-macosx_10_12_x86_64.whl

Download URL drefs-0.1.0-py3-none-macosx_10_12_x86_64.whl
Size 2.5 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
961a03fbe5d7172c4f7b5d4eceae5b0e9274155af20921cfcf70043f35094e7b
BLAKE2b-256 checksum
How to use checksums
5e7b886782068ba45aa8e4fbe33c2c9056f0f482ceb684759d690903c15dddb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

6 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