Skip to main content

[!IMPORTANT]
This project is under development. All source code and features on the main branch are for the purpose of testing or evaluation and not production ready.

MFD Code Quality

This module provides a set of methods for checking code quality.

Along with the module installation, additional CLI tools appear in your environment.

Usage

When installing mfd-code-quality package all the commands from table below will become available from command-line.
So you can just type i.e. mfd-help in your terminal without a need to call it from Python.
If command requires configuration, the config file will be automatically created and removed after execution.

Available commands

Command Description
mfd-help Log available commands.
mfd-code-standard Check code standard using Ruff (format, check) or flake8. Depending on what is available.
mfd-code-format Format code using ruff check --fix and ruff format.
mfd-import-tests Try to import each Python file to check import problems.
mfd-system-tests Run system tests.
mfd-unit-tests Run unit tests.
mfd-unit-tests-with-coverage Run unittests and check if diff coverage (new code coverage) is reaching the threshold (80%).
mfd-all-checks Run all available checks.

Available arguments (for all commands)

  • -p / --project-dir - path to the root directory (default: current working directory)

  • -v / --verbose - enable verbose output

[!NOTE] All commands are expected to be run from the root directory of the project.
Recommended file structure:

<project>
├── <package>
│   ├── __init__.py
│   ├── ...
├── tests
│   ├── system
│   │   ├── __init__.py
│   │   └── ...
│   ├── unit
│   │   ├── __init__.py
│   │   └── ...
│   └── __init__.py
├── pyproject.toml
├── README.md
└── ...

Configuration files

We are using two configuration files (created/modified/removed automatically):

  • ruff.toml - for ruff configuration

  • pyproject.toml - for project/generic configuration

Custom configuration

Some modules have custom configuration files. Files are stored in mfd_code_quality/code_standard/config_per_module directory. Configuration files are merged with generic one during configuration process.

OS supported:

OS agnostic

Issue reporting

If you encounter any bugs or have suggestions for improvements, you're welcome to contribute directly or open an issue here.

Metadata

Release files for mfd-code-quality 1.4.1

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

Built distribution (wheel)

Table of built distributions (wheels) for mfd-code-quality 1.4.1
File Interpreter ABI Platform
mfd_code_quality-1.4.1-py3-none-any.whl Python 3 none any Details

Release files / mfd_code_quality-1.4.1-py3-none-any.whl

Download URL mfd_code_quality-1.4.1-py3-none-any.whl
Size 43.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0a0bf056c22da1629083cd6aeae80e91310ea5089d002f75e5a991882bf9c00d
BLAKE2b-256 checksum
How to use checksums
f60bbf52aab24f12c4a55f95b096e567701cd1a09be48e39023b8e1d8c35e0b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

1.4.1 This release

1 release file

1.4.0

1 release file

1.3.0

1 release file

1.2.1

1 release file

1.2.0

1 release file

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