Flake8 plugin to check class attributes order
Project description
flake8-cls-attr-order
A flake8 plugin that checks class attributes for the proper alphabetical order.
Tools
Production
- python 3.7+
- flake8
Development
Installation
PYPI
pip install flake8-cls-attr-order
✨ 🍰 ✨
Source code
git clone git@github.com:vyahello/flake8-cls-attr-order.git
cd flake8-cls-attr-order
python3 -m venv venv
. venv/bin/activate
pip install -e .
Errors
Codes
CL100
- class name should start with upper case letter.CL101
- wrong class constants order.CL200
- @staticmethod is detected, should be converted to function.
Sample
# cls.py
class foo:
BAR = ()
ABRA = {}
def method(self): ...
@staticmethod
def meth(): ...
flake8 cls.py
cls.py:1:1: CL100 "foo" class name should start with upper case letter
cls.py:1:1: CL101 wrong "foo" class constants order, should be "ABRA, BAR"
cls.py:8:5: CL200 "meth" @staticmethod is detected, move it to separate function
Development notes
Testing
Unit tests
Please run the following script to start plugin unit tests:
pytest
Package tests
Please run the following script to start plugin package tests:
bats test-package.bats
CI
To be able to run code analysis, please execute command below:
./analyse-source-code.sh
Meta
Author – Vladimir Yahello.
Distributed under the MIT
license. See license for more information.
You can reach out me at:
- vyahello@gmail.com
- https://twitter.com/vyahello
- https://www.linkedin.com/in/volodymyr-yahello-821746127
Contributing
I would highly appreciate any contribution and support. If you are interested to add your ideas into project please follow next simple steps:
- Clone the repository
- Configure
git
for the first time after cloning with yourname
andemail
pip install -r requirements.txt
to install all project dependenciespip install -r requirements-dev.txt
to install all development project dependencies- Create your feature branch (git checkout -b feature/fooBar)
- Commit your changes (git commit -am 'Add some fooBar')
- Push to the branch (git push origin feature/fooBar)
- Create a new Pull Request
What's next
All recent activities and ideas are described at project issues page. If you have ideas you want to change/implement please do not hesitate and create an issue.
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 Distributions
Built Distribution
Hashes for flake8_cls_attr_order-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45932bf443a3ef702851bff4e95ce1dbab179805cf824720e8aacc65c496ab4d |
|
MD5 | 01ccdeb0a55857c839693cf6c6c71693 |
|
BLAKE2b-256 | 50de3acaa62b26a5bbb07602d7f2da461329ad8d61c8f402a6db3ff006a39750 |