A plugin for making Pylint aware of the fields of protobuf-generated classes
Project description
pylint-protobuf
pylint-protobuf
is a Pylint plugin for making Pylint aware of generated
fields from Protobuf types.
Usage
$ cat <<EOF >person.proto
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
}
EOF
$ cat <<EOF >example.py
from person_pb2 import Person
a = Person()
a.invalid_field = 123
EOF
$ protoc person.proto --python_out=.
$ pip install pylint-protobuf
$ pylint --load-plugins=pylint_protobuf example.py
************* Module example
E: 4, 0: Field 'invalid_field' does not appear in the declared fields of
protobuf-generated class 'Person' and will raise AttributeError on access
(protobuf-undefined-attribute)
------------------------------------
Your code has been rated at -6.67/10
Supported Python Versions
pylint-protobuf
supports Python 3.5 at a minimum.
Known Issues
pylint-protobuf
does not currently support the following concepts from the protobuf specification:
oneof
fields- repeated fields
- TypeError on field assignment
Externally defined message types are currently uninferable and so checking fields on message types may fail.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pylint-protobuf-0.14.tar.gz
(9.5 kB
view hashes)
Built Distribution
Close
Hashes for pylint_protobuf-0.14-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d02ff0007866df31852b3573ade0a5d9d4ff10d90c6df4bc44717e3a1ff9bb9 |
|
MD5 | dedfda724517a3c0a9149402437a1232 |
|
BLAKE2b-256 | 96cb42e22139b17766e83bdccbf30b5f4baae71535f0f6cdb967450a47040830 |