Flake8 Restrict Imports Plugin
Overview
This Flake8 plugin provides a mechanism to restrict imports based on a specified configuration. The plugin allows you to define sets of denied and allowed imports, helping you enforce coding standards and maintain a clean codebase.
Features
- Denied Imports: Specify a configuration that defines imports to be denied for specific modules/packages.
- Allowed Imports: Specify a configuration that defines allowed imports for specific modules/packages.
Installation
Install the plugin using pip:
pip install flake8-restrict-imports
Usage
Once the plugin is installed, you can run Flake8 with the plugin enabled:
flake8 your_project_directory
Configuration
You need to configure the plugin in your Flake8 configuration file (e.g., .flake8):
denied_imports_config = {'libs': ['db', 'tests'],'db': ['libs', 'tests']}
allowed_imports_config = {'api.tests.utils': ['db', 'libs'], 'db': ['tests']}
Adjust the configurations based on your project's needs.
Example
Consider the following code snippet:
# your_module.py
# Denied import
from core import some_module # This import is denied according to the configuration
# Allowed import
from api.tests.event_utils import some_function # This import is allowed according to the configuration
Denied import
from core import some_module This import is denied according to the configuration
Allowed import
from api.tests.event_utils import some_function This import is allowed according to the configuration`
When Flake8 is run, it will raise a warning for the denied import and ensure compliance with your defined import restrictions.
Contribution
Feel free to contribute to the development of this Flake8 plugin. Fork the repository, make your changes, and submit a pull request.
License
This Flake8 plugin is licensed under the MIT License.
Release files for flake8-restrict-imports 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flake8-restrict-imports-0.1.1.tar.gz | 4.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flake8_restrict_imports-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.2 kB
Release files / flake8-restrict-imports-0.1.1.tar.gz
| Download URL | flake8-restrict-imports-0.1.1.tar.gz |
|---|---|
| Size | 4.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
46773ba0d26017a8a7a7483e861f6844f030958115aa9cea6fdc8b6037b9a3e0
|
|
BLAKE2b-256 checksum How to use checksums |
0ab509dd3c434425e6560f9483b2c877ab1ecec2682728b551e4fd4e1d4d5db5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|
Release files / flake8_restrict_imports-0.1.1-py3-none-any.whl
| Download URL | flake8_restrict_imports-0.1.1-py3-none-any.whl |
|---|---|
| Size | 4.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6d8bfda97bbedffb6af41849c4eb1d5b105867f7a267e7f42b622076da4472aa
|
|
BLAKE2b-256 checksum How to use checksums |
920c76567d2d5213efa268133d137576e39d1fbe8ddf243039f92dc191dc3444
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|