Skip to main content

Welcome to Statue

Python Versions PyPI Version Maturity License Build Status

Your pathway to a clean codebase.

What's Statue?

Statue is an orchestration tool for static code analysis. It combines the overall power of several linters and formatters into one consistent tool that prevents unwanted conflicts. With Statue you can integrate tools such as Mypy, Pylint, Black, Isort and many others.

What Do You Mean by "Orchestration"?

When running multiple formatters and linters (commands, in general), sometimes they interfere with each other and cause clashes. On other occasions, in order to solve an issue with one linter you have to introduce another issue in a different linter.

Statue solves this problem (and many other problems, as we'll describe later) by keeping all your linters and formatters configuration in one file, which is fully editable via command line. In that way, you won't need to edit huge configuration files in order to keep your commands in check.

Moreover, With Statue you can define different arguments for your commands to use on each file and directory in your codebase. This allows you to customize different style conventions for different files and directories, making your work with static code analysis tools more robust and user-friendly. This can be very handy when you have large codebase that you want to migrate to a given style one step at a time.

Why Statue?

Statue helps you to improve your code using these powerful features:

  • Run several formatters and linters asynchronously for faster evaluations
  • Run commands with different arguments on each file and directory using contexts
  • Avoid editing tedious configuration files by using the statue config command
  • Keeping results history in order to re-run failing and non-failing static code analysis tools with only few keystrokes
  • Saving your configuration as template in order for reuse in other project
  • Provide clear and concise exportable evaluation reports of all your formatters and linters

Can't I just keep all my configurations in setup.cfg or pyproject.toml?

Most of the formatters and linters allow you to save their configurations in setup.cfg or pyproject.toml. While this solution does help keep all your configuration in one place, it doesn't allow you to specify different configurations for different files and directories.

While Statue does introduce an additional configuration file (statue.toml), this configuration file is totally editable via command line using the statue config methods.

How does Statue differ from pre-commit?

pre-commit has been for a long time the go-to tool for running linters and formatters on your codebase, and it is provided with predefined hooks for most state-of-the-art tools. While we surely recommend on using pre-commit, here are few reasons why you might want to consider also using Statue:

  • If you don't need each and every commit to pass your linters
  • If you want to use a linters and formatters that doesn't have .pre-commit-hooks.yaml file
  • If you use a lot of linters and formatters which cause your git commit to hang for long periods of time
  • If you want to run your linters and formatters with different arguments on different files and directories
  • If you need clear and concise reports of your linters evaluations

What's next?

  • Go on to the quick start tutorial in order to begin using Statue in a few short steps
  • Learn a few tips how to use statue run efficiently

Release files for statue 0.0.19

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

Source distribution (sdist)

Source distribution for statue 0.0.19
File Size Uploaded
statue-0.0.19.tar.gz 49.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for statue 0.0.19
File Interpreter ABI Platform
statue-0.0.19-py3-none-any.whl Python 3 none any Details

Total release size:117.1 kB

Release files / statue-0.0.19.tar.gz

Download URL statue-0.0.19.tar.gz
Size 49.7 kB
Tags Source
SHA-256 checksum
How to use checksums
c5be60881b45e6d727652069ee351f3bfb8ae30581c49e81a2dad91fed6bc003
BLAKE2b-256 checksum
How to use checksums
39fe506bd6e1905ab7a0cd24ccb62ec6484d14b6d4b7f03ab6381d2c842052b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.5

Release files / statue-0.0.19-py3-none-any.whl

Download URL statue-0.0.19-py3-none-any.whl
Size 67.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1778be3a924d26964ccbb228999fc59b7f1fa59aa605b797f4593c3d9051f067
BLAKE2b-256 checksum
How to use checksums
1b4870dbe53d3114f3e5cbf6a784bb7c7e604193ce01cf9b6dc26885ee357347
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.5
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