PEP8 checker
This project allows to check your python code complies with pep8 conventions.
It uses bottle python micro web framework and AWS lambda function to execute code on the server.
Please check the official docker image.
Tools
Production
- python 3.6, 3.7, 3.8, 3.9
- bottle
- AWS lambda
- docker (>=18.0)
Development
Usage
Quick start
Please check an app via:
- https://pep8-checker.herokuapp.com (prod stage)
- http://178.62.222.165:5001 (test stage)
Or launch it via dedicated docker image:
docker run --rm -it vyahello/pep8-checker:0.0.2
Please follow the help instructions further.
Source code
git clone git@github.com:vyahello/pep8-checker.git
python -m checker
Note: please make sure AWS_ENDPOINT environment variable is configured preliminary.
export AWS_ENDPOINT=https://...amazonaws.com/v1
Development notes
Docker
Base image
Please use the following command sample to build base docker image:
docker build --no-cache \
--tag vyahello/pep8-checker:{version} \
--file Dockerfile.base .
Main image
Please use the following command sample to build main docker image:
docker build --no-cache \
--tag vyahello/pep8-checker:{version} \
--build-arg VERSION={version} \
--build-arg REPOSITORY=vyahello/pep8-checker \
--build-arg AWS_ENDPOINT={endpoint} .
Testing
Generally, pytest
tool is used to organize testing procedure.
Please follow next command to run unittests:
pytest
CI
Project has Travis CI integration using .travis.yml file thus code analysis (black
, pylint
, flake8
, mypy
, pydocstyle
and interrogate
) and unittests (pytest
) will be run automatically after every made change to the repository.
To be able to run code analysis, please execute command below:
./analyse-source-code.sh
Release notes
Please check changelog file to get more details about actual versions and it’s release notes.
Meta
Author – Volodymyr Yahello. Please check authors file for more details.
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.