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
Hashes for cfel_pylint_checkers-1.1.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e00a43e2e1c0eb3b9f0f8db8ff9b078e301334dfb01db9cb25c853133170e2c |
|
MD5 | 54315ad390022e22b00a7743c3c8b9db |
|
BLAKE2b-256 | 72f1fdc84c844a2844c9d617e07db0a4dab2ded480c644211baa3e2390ae3fd6 |
Hashes for cfel_pylint_checkers-1.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42c692d37b9065f39dd317a258b83a81729da89e3e6e60bdc0ca808387e24550 |
|
MD5 | 60276553ae67ad0988ec0d8b701c4011 |
|
BLAKE2b-256 | 41365b9539975d9804abaa7a7cd620f42cbfc064dca0ccb2bdb7de603f8c5f65 |