Additional checkers for pylint that are used by the FS-CFEL-1 team
Project description
cfel-pylint-checkers
Installation
Just pip install cfel-pylint-checkers
should suffice. Then you can enable the appropriate checkers as plugins by editing your .pylintrc
file, extending the load-plugins
line. For example:
load-plugins=cfel_pylint_checkers.no_direct_dict_access,cfel_pylint_checkers.tango_command_dtype
Checkers
no-direct-dict-access
Enable with:
load-plugins=cfel_pylint_checkers.no_direct_dict_access
This disallows the use of dictionary access using the []
operator for reading. Meaning, this is no longer allowed:
mydict = { "foo": 3 }
print(mydict["bar"])
As you can see, this code produces an error, since we’re accessing "bar"
but the mydict
dictionary only contains the key "foo"
. You have to use .get
to make this safe:
mydict = { "foo": 3 }
print(mydict.get("bar"))
Which produces None
if the key doesn’t exist. You can even specify a default value:
mydict = { "foo": 3 }
print(mydict.get("bar", 0))
Mutating use of operator[]
is, of course, still possible. This is fine:
mydict = { "foo": 3 }
mydict["bar"] = 4
tango-command-dtype
Enable with:
load-plugins=cfel_pylint_checkers.tango_command_dtype
This checker tests for various error conditions related to the hardware controls system Tango, specifically its Python adaptation PyTango.
For instance, the following mismatch between the dtype_in
of a command and its actual type annotation is caught:
from tango.server import Device, command
class MyDevice(Device):
@command(dtype_in=int)
def mycommand(self, argument: str) -> None:
pass
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 cfel_pylint_checkers-1.1.4.tar.gz
.
File metadata
- Download URL: cfel_pylint_checkers-1.1.4.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.10.9 Linux/6.1.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e00a43e2e1c0eb3b9f0f8db8ff9b078e301334dfb01db9cb25c853133170e2c |
|
MD5 | 54315ad390022e22b00a7743c3c8b9db |
|
BLAKE2b-256 | 72f1fdc84c844a2844c9d617e07db0a4dab2ded480c644211baa3e2390ae3fd6 |
File details
Details for the file cfel_pylint_checkers-1.1.4-py3-none-any.whl
.
File metadata
- Download URL: cfel_pylint_checkers-1.1.4-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.10.9 Linux/6.1.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42c692d37b9065f39dd317a258b83a81729da89e3e6e60bdc0ca808387e24550 |
|
MD5 | 60276553ae67ad0988ec0d8b701c4011 |
|
BLAKE2b-256 | 41365b9539975d9804abaa7a7cd620f42cbfc064dca0ccb2bdb7de603f8c5f65 |