Skip to main content

Fortitude PyPI License Tests Clippy Docs

Fortitude

A Fortran linter, inspired by (and built upon) Ruff. Written in Rust 🦀 and installable with Python 🐍.

Shows a bar chart with benchmark results.

Linting 43 files from the GS2 repo.

  • ⚡ Blazingly fast, up to hundreds of times faster than other open-source Fortran linters.
  • 🔧 Automatically fixes linter warnings.
  • 📈 Over 100 rules, with many more planned.
  • 📃 Multiple output formats, including SARIF and GitHub/GitLab CI.
  • 🤝 Follows community best practices.
  • 💪 Built on a robust tree-sitter parser.

Fortitude is developed by PlasmaFAIR, improving the sustainability of plasma science research software.

PlasmaFAIR logo

Table of Contents

For more detail, please see our documentation.

Installation

Fortitude is available as fortitude-lint on PyPI:

# With uv:
uv tool install fortitude-lint@latest

# With pip:
pip install fortitude-lint

Starting with version 0.7.0, Fortitude can be installed with our standalone installers:

# On macOS and Linux:
curl -LsSf https://github.com/PlasmaFAIR/fortitude/releases/latest/download/fortitude-installer.sh | sh

# On Windows:
powershell -c "irm https://github.com/PlasmaFAIR/fortitude/releases/latest/download/fortitude-installer.psi | iex"

It can also be installed as a pure Rust project:

git clone https://github.com/PlasmaFAIR/fortitude
cd fortitude
cargo install --path crates/fortitude

Fortitude can also be installed via other package managers

Usage

Fortitude can lint your whole project under the working directory using the check command:

fortitude check

You can also call check on individual files, globs, and directories. You can configure what extensions Fortitude searches for in directories with --file-extensions:

fortitude check --file-extensions=f90,fpp

Be default, Fortitude will ignore files and directories in your .gitignore. This can be disabled by setting --no-respect-gitignore. Additional excludes can be set using --extend-exclude:

# Don't check in the `benchmarks/` and `tests/` directories.
fortitude check --extend-exclude=benchmarks,tests

You can select or ignore individual rules or whole groups with --select and --ignore:

# Just check for missing `implicit none`
fortitude check --select=C001
# Also check for missing `implicit none` in interfaces
fortitude check --select=C001,C002
# Ignore all styling rules
fortitude check --ignore=S
# Only check for style rules, but ignore superfluous implicit none
fortitude check --select=S --ignore=S201
# Rules and categories can also be referred to by name
fortitude check --select=style --ignore=superfluous-implicit-none

Use --output-format=concise to get shorter output:

$ fortitude check --output-format=concise
test.f90:2:1: C111 function not contained within (sub)module or program
test.f90:5:1: S061 end statement should read 'end function double'
test.f90:7:1: C111 subroutine not contained within (sub)module or program
test.f90:8:3: C022 real has implicit kind

The explain command can be used to get extra information about any rules:

# Print extra information for all rules
fortitude explain
# Only get information for selected rules
fortitude explain C001 C011
# Print information on all style rules
fortitude explain S
# Rules and categories can also be referred to by name
fortitude explain obsolescent superfluous-implicit-none

Use --summary to get a brief overview:

# Overview of all rules
fortitude explain --summary
# Overview of all style rules
fortitude explain style --summary

To see further commands and optional arguments, try using --help:

fortitude --help
fortitude check --help

Fixes

Fortitude can automatically fix some lint warnings, such as unnecessary implicit none statements, missing double-colons in variable declarations, and more. Just pass the --fix flag to check:

$ fortitude check --fix
fortitude: 1 files scanned.
Number of errors: 2 (2 fixed, 0 remaining)

Run fortitude explain to see which rules have fixes available.

Preview

Some fortitude rules are only available through an opt-in preview mode to give the community some time to evaluate them and provide feedback. To enable preview rules, pass the --preview flag to check,

$ fortitude check --preview

or to enable more permanently, set it in your fpm.toml:

[extra.fortitude.check]
preview = true

or fortitude.toml:

[check]
preview = true

Run fortitude explain to see which rules are in preview mode.

Configuration

Fortitude will look for either a fortitude.toml, .fortitude.toml, fpm.toml, or pyproject.toml file in the current directory, or one of its parents. If using fortitude.toml or .fortitude.toml, settings should be under the command name:

[check]
select = ["C", "E", "S"]
ignore = ["S001", "S082"]
line-length = 132

For fpm.toml files, this has to be additionally nested under the extra.fortitude table:

[extra.fortitude.check]
select = ["C", "E", "S"]
ignore = ["S001", "S082"]
line-length = 132

while pyproject.toml uses tool.fortitude.

You can use --extend-select from the command line to select additional rules on top of those in the configuration file.

# Select correctness, error, style and obsolescent categories
fortitude check --extend-select=OB

A description of configuration options can be viewed using the config command:

# View all options under the 'check' heading
fortitude config check
# Get description of the 'extend-select' option
fortitude config check.extend-select

Editor Integration

Fortitude can be integrated into text editors and IDEs that support the Language Server Protocol (LSP), providing real-time diagnostics and code actions for applying fixes as you work.

Please see the documentation for details on setting this up for your editor.

We also have a VSCode plugin!.

pre-commit

Pre-commit hooks for Fortitude are available at fortitude-pre-commit.

Documentation

See table of rules for a list of all rules.

Contributing

Please feel free to add or suggest new rules and features! See CONTRIBUTING.md for a guide on contributing to the project. This also includes instructions for building the project from source, running tests, and linting/formatting the code. Please consult our code of conduct before contributing.

Projects Using Fortitude

More and more open-source Fortran projects are using Fortitude to help maintain their code, including:

Show Your Support

If you've found Fortitude useful in your project, please consider adding the Fortitude badge to your README.md:

[![Fortitude](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/PlasmaFAIR/fortitude/main/docs/assets/badge/v0.json)](https://github.com/PlasmaFAIR/fortitude)

or README.rst:

.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/PlasmaFAIR/fortitude/main/docs/assets/badge/v0.json
    :target: https://github.com/PlasmaFAIR/fortitude
    :alt: Fortitude

or, as HTML:

<a href="https://github.com/PlasmaFAIR/fortitude"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/PlasmaFAIR/fortitude/main/docs/assets/badge/v0.json" alt="Fortitude" style="max-width:100%;"></a>

License

This work is distributed under the MIT License. See LICENSE for more information.

Fortitude is inspired by, and uses parts from ruff, used under the MIT licence. See LICENSE for more information.

Metadata

Release files for fortitude-lint 0.9.2

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

Source distribution (sdist)

Source distribution for fortitude-lint 0.9.2
File Size Uploaded
fortitude_lint-0.9.2.tar.gz 308.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for fortitude-lint 0.9.2
File
fortitude_lint-0.9.2-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
fortitude_lint-0.9.2-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
fortitude_lint-0.9.2-py3-none-win32.whl Python 3 none Windows x86-32 Details
fortitude_lint-0.9.2-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
fortitude_lint-0.9.2-py3-none-musllinux_1_2_i686.whl Python 3 none Linux musl 1.2+ x86-32 Details
fortitude_lint-0.9.2-py3-none-musllinux_1_2_armv7l.whl Python 3 none Linux musl 1.2+ ARMv7l Details
fortitude_lint-0.9.2-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
fortitude_lint-0.9.2-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
fortitude_lint-0.9.2-py3-none-manylinux_2_28_s390x.whl Python 3 none Linux glibc 2.28+ IBM System/390x Details
fortitude_lint-0.9.2-py3-none-manylinux_2_28_ppc64le.whl Python 3 none Linux glibc 2.28+ PowerPC 64-le Details
fortitude_lint-0.9.2-py3-none-manylinux_2_28_i686.whl Python 3 none Linux glibc 2.28+ x86-32 Details
fortitude_lint-0.9.2-py3-none-manylinux_2_28_armv7l.whl Python 3 none Linux glibc 2.28+ ARMv7l Details
fortitude_lint-0.9.2-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
fortitude_lint-0.9.2-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
fortitude_lint-0.9.2-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 71.2 MB

Release files / fortitude_lint-0.9.2.tar.gz

Download URL fortitude_lint-0.9.2.tar.gz
Size 308.8 kB
Tags Source
SHA-256 checksum
How to use checksums
32e9c143042e2321453a7a6125fc725422e48dd27d5124ceb1e393b8e363226c
BLAKE2b-256 checksum
How to use checksums
ea692f576e88bbd9a007da0845497ebda24728f10ce126001a3f94672478c1ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-win_arm64.whl

Download URL fortitude_lint-0.9.2-py3-none-win_arm64.whl
Size 4.7 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
636cadd801ea3056c98b146d653064bf1646cf40afd718b1e0f1879218ecc0ad
BLAKE2b-256 checksum
How to use checksums
3dfa266eb07d79b14a620347b5c3fcb5c7c7142ea5a465bee5c60dbc6409c38d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-win_amd64.whl

Download URL fortitude_lint-0.9.2-py3-none-win_amd64.whl
Size 5.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
a86d260e95022fa180ee943d2660c530186f426bc05ff9adf93d8b0762ffcc2d
BLAKE2b-256 checksum
How to use checksums
d878e14e9d888839e5677f9351600a89c2b2e316edcd17b6ad2aa1306a5eb764
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-win32.whl

Download URL fortitude_lint-0.9.2-py3-none-win32.whl
Size 4.4 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
381bfba3d4faf51e2d92a5ee3a5f1a246372d0c6de3c98282bae3ecd555f358c
BLAKE2b-256 checksum
How to use checksums
65b0f7ca02c193a2d92dd53c0740fd03e1b5dcc0cccf18f92fad432082741137
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-musllinux_1_2_x86_64.whl

Download URL fortitude_lint-0.9.2-py3-none-musllinux_1_2_x86_64.whl
Size 4.9 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
7caa4569511813e82724c3ec90632f417266dbd2f8e3754b2f3cf673a8bd0a52
BLAKE2b-256 checksum
How to use checksums
a1e1759ed83b63d64e25a95f2a16c7f673c6f2cd33e7dc57182a72309b8c811b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-musllinux_1_2_i686.whl

Download URL fortitude_lint-0.9.2-py3-none-musllinux_1_2_i686.whl
Size 4.9 MB
Tags Linux musl 1.2+ x86-32 Python 3
SHA-256 checksum
How to use checksums
0c9edc38c3fd182ff9e996565f2214eb66ea4862d1254faf667edf9a8ea1b17a
BLAKE2b-256 checksum
How to use checksums
1d50df73e166eeeec9744f7fd755fd958cf5067e79a2a628690c2c3fc2e20955
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-musllinux_1_2_armv7l.whl

Download URL fortitude_lint-0.9.2-py3-none-musllinux_1_2_armv7l.whl
Size 4.4 MB
Tags Linux musl 1.2+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
d8b1afdba04d790f9fd79f890c7bdb4b40bd9d21ecd4fdad0d53120d646597b4
BLAKE2b-256 checksum
How to use checksums
34572e1f297fa0646f7accb18f7a3383655049090508e045e3c1fe4bffe02899
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-musllinux_1_2_aarch64.whl

Download URL fortitude_lint-0.9.2-py3-none-musllinux_1_2_aarch64.whl
Size 4.6 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
1e3b37c00be100acd6b272a9c035ef31ffce33474904a266a89a31712bc26d57
BLAKE2b-256 checksum
How to use checksums
437db1739b2f87ed36cba79743aa877120447183bb8c703aa919092a0b6a9cc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-manylinux_2_28_x86_64.whl

Download URL fortitude_lint-0.9.2-py3-none-manylinux_2_28_x86_64.whl
Size 4.8 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
0df0315357b647192b8385a7152e58f7c9df7c575c922612d9d3cd72d48f4358
BLAKE2b-256 checksum
How to use checksums
e9df8176dd965eae22e73938026284362225f19f5dcb01ad65ec8a4d810915e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-manylinux_2_28_s390x.whl

Download URL fortitude_lint-0.9.2-py3-none-manylinux_2_28_s390x.whl
Size 4.8 MB
Tags Linux glibc 2.28+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
75358f8afba8b93705a686ff6c009e29ad1ac2b23ffa294731eb21e2eb6fc046
BLAKE2b-256 checksum
How to use checksums
ab26be54e613f6e220e3478e05487d2258758f557d3dc98997b93d4ec1f4a663
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-manylinux_2_28_ppc64le.whl

Download URL fortitude_lint-0.9.2-py3-none-manylinux_2_28_ppc64le.whl
Size 5.4 MB
Tags Linux glibc 2.28+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
4bd88a675bfb1816d76009e726973266e4e7396e710ef7a6105595f3dcc2a3ce
BLAKE2b-256 checksum
How to use checksums
c9eae6b812224fb79b4287a56b9313bb4043ae5b88c7ada5889e9281a30a8251
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-manylinux_2_28_i686.whl

Download URL fortitude_lint-0.9.2-py3-none-manylinux_2_28_i686.whl
Size 5.1 MB
Tags Linux glibc 2.28+ x86-32 Python 3
SHA-256 checksum
How to use checksums
57aed556da2a9e3cd0cfdbcd0f73ae3fe7b98020de90ef0cd6778f3af6e60585
BLAKE2b-256 checksum
How to use checksums
bdf5240096f1e5fa20718316899f614c5f5195ab586e34a2aa24ed065d3a32d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-manylinux_2_28_armv7l.whl

Download URL fortitude_lint-0.9.2-py3-none-manylinux_2_28_armv7l.whl
Size 4.4 MB
Tags Linux glibc 2.28+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
7a9ae79b1aa5b1c9300def622e5b2fe88bfda42f654551b958a8048000a760d3
BLAKE2b-256 checksum
How to use checksums
9f19af77ba17e013186c342481332e4490ed6c7fc021fdaca3211eb8c91e89ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-manylinux_2_28_aarch64.whl

Download URL fortitude_lint-0.9.2-py3-none-manylinux_2_28_aarch64.whl
Size 4.6 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
eaf7e180495a7cab8e7153ba5fc7c0a293fa24f7c8eaaf15d6e0ee3ae07478f3
BLAKE2b-256 checksum
How to use checksums
585ea70b37bba0ebb14615aacc38a9446500b02c4de30bcbf70eb68a1d0d5a6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-macosx_11_0_arm64.whl

Download URL fortitude_lint-0.9.2-py3-none-macosx_11_0_arm64.whl
Size 4.5 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ebcbc0ed40078ab6f67f25573819a5df584556f6dd5d7d5b6852d89ac92f6320
BLAKE2b-256 checksum
How to use checksums
83486947f78b9b6c6dbbab08dec46b0402b517e59663d9b0cf4bedf42816666b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fortitude_lint-0.9.2-py3-none-macosx_10_12_x86_64.whl

Download URL fortitude_lint-0.9.2-py3-none-macosx_10_12_x86_64.whl
Size 4.5 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
dbe3f8c03a8fd254a456f1809b18d959233333d183edb5aab41a2e1044601aad
BLAKE2b-256 checksum
How to use checksums
0ec62f8e63c5afb808ed8c118ffe0eacc608c03271b3f66d62dedc361fd7dee7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
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