pylint-restricted-imports is a Pylint plugin to restrict what imports are allowed in different modules
Project description
About
pylint-restricted-imports is Pylint plugin for restricting what imports are allowed in specific module trees. Want to prevent django from being imported in a flask app? This plugin is for you!
Usage
Ensure pylint-restricted-imports is installed and on your path, and then run pylint using pylint-restricted-imports as a plugin:
pip install pylint-restricted-imports pylint --load-plugins pylint_restricted_imports [..your module..]
Configuration
Before the plugin will do anything, it needs configuring. You can use pylint to generate the default configuration:
pylint --load-plugins pylint_restricted_imports --generate-rcfile
You will end up with a block similar to below:
[RESTRICTED-IMPORT] # Colon/semicolon-delimited sets of names that determine what modules are # allowed to be imported from another module restricted-imports= # Check restricted imports recursively restricted-import-recurse=no
Restricted Imports
restricted-imports is a csv list of module/restricted imports. The format is <module>:<restricted module>;.... For example, the following would prevent restricted1 and restricted2 from being imported in module1 and restricted3 and restricted4 from being imported in module2:
module1:restricted1;restricted2,module2:fordibben3;restricted4
Recursion
You can enable the transitive detection of restricted imports, however this takes a lot more compute.
For example, if have the following files:
# flask_app.py import flask import common_utils # common_utils.py import django
If flask_app is not allowed to import django, the transitive checker would throw an error because importing common_utils would cause django to be imported, which is restricted.
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
Built Distribution
File details
Details for the file pylint_restricted_imports-0.2.2.tar.gz
.
File metadata
- Download URL: pylint_restricted_imports-0.2.2.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.9.1 Darwin/23.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7eef7309b4391091e2ceca81bc0cca5b6063bc2b381d6b39f8eb2118795c3d15 |
|
MD5 | 0734318a7be639ccb7d907012e56ebb4 |
|
BLAKE2b-256 | 079385c75d7da4b100fb420ff4bd5afd48c2ab116870fd91f7a802e21b32e1b4 |
File details
Details for the file pylint_restricted_imports-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: pylint_restricted_imports-0.2.2-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.9.1 Darwin/23.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a0dfdb9a9a2370d8b22263be83c974d9fcebe9abdf7dd29f020f4c26bb476d9 |
|
MD5 | 47cd67cb10e3a461d67ff4e42b41f89f |
|
BLAKE2b-256 | 6134296c746d3617d5f506873c9d2558052a872133aaa4add4d8cabdfdcb29ac |