Skip to main content

A Fortran linter, written in Rust and installable with Python

Project description

Tests Clippy

Fortitude

A Fortran linter, written in Rust :crab: and installable with Python :snake:.

Table of Contents

Installation

Fortitude can be installed directly into your Python environment:

pip install fortitude-lint

It is also available as a pure Rust project:

cargo install fortitude

Usage

Fortitude can lint your project using the check command:

fortitude check my_code.f90

You can also call check on directories, and if no files are provided, fortitude will search for them from your current working directory.

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

fortitude explain B023

If no rules are provided, this will print all rule descriptions to the terminal.

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

fortitude --help
fortitude check --help

Configuration

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

[check]
ignore = ["S001", "S051"]
line-length = 132

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

[extra.fortitude.check]
ignore = ["S001", "S051"]
line-length = 132

Contributing

Please feel free to add or suggest new rules or comment on the layout of the project while it's still at this early stage of development. See CONTRIBUTING.md for a guide on contributing to the project, and README.dev.md for details on building the project from source, running tests, and linting/formatting the code. Please consult our code of conduct before contributing.

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.

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

fortitude_lint-0.4.0.tar.gz (44.1 kB view details)

Uploaded Source

Built Distributions

fortitude_lint-0.4.0-py3-none-win_amd64.whl (1.6 MB view details)

Uploaded Python 3 Windows x86-64

fortitude_lint-0.4.0-py3-none-win32.whl (1.4 MB view details)

Uploaded Python 3 Windows x86

fortitude_lint-0.4.0-py3-none-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded Python 3 musllinux: musl 1.2+ x86-64

fortitude_lint-0.4.0-py3-none-musllinux_1_2_i686.whl (1.9 MB view details)

Uploaded Python 3 musllinux: musl 1.2+ i686

fortitude_lint-0.4.0-py3-none-musllinux_1_2_armv7l.whl (1.8 MB view details)

Uploaded Python 3 musllinux: musl 1.2+ ARMv7l

fortitude_lint-0.4.0-py3-none-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded Python 3 musllinux: musl 1.2+ ARM64

fortitude_lint-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ x86-64

fortitude_lint-0.4.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.1 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ s390x

fortitude_lint-0.4.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.0 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ppc64le

fortitude_lint-0.4.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ i686

fortitude_lint-0.4.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.8 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARMv7l

fortitude_lint-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

fortitude_lint-0.4.0-py3-none-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

fortitude_lint-0.4.0-py3-none-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded Python 3 macOS 10.12+ x86-64

File details

Details for the file fortitude_lint-0.4.0.tar.gz.

File metadata

  • Download URL: fortitude_lint-0.4.0.tar.gz
  • Upload date:
  • Size: 44.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.4

File hashes

Hashes for fortitude_lint-0.4.0.tar.gz
Algorithm Hash digest
SHA256 617376ef62556827031c43a2416d32dcaaa9ffb1f09724a78502061218c940d3
MD5 52d677f7e987070a930b3a76a8eff5e1
BLAKE2b-256 40fed4109cee23daf24d496474571f6420cffe1bceee3f35ca9f30f4a60dc8ba

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bb10c1264a5568cea65ccbf0fb33602b34959a51f4879c45ea9ed2fda43a0cea
MD5 614d916f95f6eb508e5a5799e51cf1ed
BLAKE2b-256 4c9a819a6ed6446d0a45d3a298d41f9a2a63ebb8191cfac32bcbf39aae9d9d32

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-win32.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 0cc81d4b1a99882e4fbaaabc56a08b58f997e5141356de0ec8be04690254abc7
MD5 46e987caf3049f756276426b24bbf5f0
BLAKE2b-256 c8f77b60a9471f805d711f5757e3cfb2d1fec20ac422e73b11afa0d466b04ddb

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 471c776cb58c68fbbe72ce86feba8856598ed65eba227aa7e3abf58bb9523097
MD5 8a7f6523edf67214ca4ea25eeadb7251
BLAKE2b-256 20b4d0c4f21f54e1c1465b7ff5079d2f15002dbdf3e99b5293b8ec90b77b11e4

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 dc6b20f3096cb66864315c21f3c4a8b3871e13703e66b087d1cc0dd10c20bcd6
MD5 34191d678c00746b145081227c32a64f
BLAKE2b-256 a0ce6c48a9f155c426ccb743cdcdba95744945a6f0c54c65892f01a896084874

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 5a722fd6d9b5b48953e98f22e6088a1e604a5a1e164396a84fa4ee5f46857f41
MD5 907e506cd848e1b276852fd8adf89261
BLAKE2b-256 18add23127000da9fbbb577a73f7cb866aede012fd59f203d0305fd38f676e59

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e122f3f7db7fd4e665cf8b6b50a911b14c51b7c56a4962a331ff75a86e4bbebd
MD5 a6da32b6d3688862314c7ebd37d1fff2
BLAKE2b-256 907293b048902a89589cbceeee719568c307af728f21bde024648c31776b9819

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77385bfa41d95e84dc6aa2678da6c201f8035d46f6a86563bbfd5e97f4a04852
MD5 4e70dee1e09712f2882f3b37fab2d361
BLAKE2b-256 3bbf81ecd07adadcfb6e21521c0e26b5001e43998ae88f545017d1793d3ec210

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ea04cf23fabe881e5e83e70445c8e31df78e9fb3fd945ac29908b07224c63e09
MD5 3a1ca9d266bced071e1191f900c1a550
BLAKE2b-256 e419cf6e55af3d180606d947ddb2033666e6f7a335530a8df847ebd8c788ea41

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2cd1f022a1c645e8f5c3b23491140bbd664d3edd553fd5e79de59724136027d1
MD5 a559101b2994cc4b818c3505eb55bfc4
BLAKE2b-256 e7a5ead816df5d596b7d01e1736ce570bdb2ee14ba29d6c4d473aa5a074770a8

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 151905ba0b62b15792a7e465e22e568ff561f8a01341ae822777e6336e3714d6
MD5 520c7cbe8f49724f4fd0427c256c49a1
BLAKE2b-256 16b008085ceb637326628ab2d38ad7b11bcc4c001b6557574884cd98dcbd253b

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 09702af926e4014b8374d7a2c3721634775ee911328e77db251dc179c694957f
MD5 011e563f01e1e3fe2c7e1cb32d1322e7
BLAKE2b-256 d76ff380cbd071e224f8b10ae42414bb613e5df6e28ec528ae10286ef7dc70cb

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 95384de485b65269fff842892c73036dcdc8e2c1210d009120d52c15c390689c
MD5 e2619d479c32d75a7b3404576960c08c
BLAKE2b-256 12eabb3fe680aee110071db6ae27f98bfe0835ace68dab03fc364202cfc0e0f0

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 81d85a5b1117695c5de99d08f53c519ad2666e4a8c2e905880d16817a98d1397
MD5 ea403ca5e861e22052964446aa8a1cb5
BLAKE2b-256 7097958b136f9c282ad6fb4b7adf85f2d9ebd00814f09c1f5d9b492d3bdc7805

See more details on using hashes here.

File details

Details for the file fortitude_lint-0.4.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fortitude_lint-0.4.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 70b8ad70a8a58c650591b9296ae1d8deccecb1a9a20f7e4b2dce5784d70c2abc
MD5 ec664f825c7567ba405a080639e10f81
BLAKE2b-256 9a16095d831c416147e5fbe8f51fa1718fc3fe630e8acf102ada3914d50e3953

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page