Development#
The Makefile has useful targets to help setup your development encironment. We suggest using pyenv to have access to multiple python versions easily.
Environment Setup#
Clone the repo and enter its root folder
git clone https://github.com/andrewthetechie/pydantic-sqs.git && cd pydantic-sqs
Create a python 3.9 virtual environment and activate it. We suggest using pyenv to easily setup multiple python environments on multiple versions.
# We use the extra python version (3.6, 3.7, 3.8) for tox testing
pyenv install 3.9.7 3.6.15 3.7.12 3.8.12
pyenv virtualenv 3.9.7 python-aioredis
pyenv local python-aioredis 3.6.15 3.7.12 3.8.12
Install the dependencies
make setup
How to Run Tests#
Run the test command to run tests on only python 3.9
pytest
Run the tox command to run all python version tests
tox
Test Requirements#
Prs should always have tests to cover the change being made. Code coverage goals for this project are 100% coverage.
Code Linting#
All code should pass Flake8 and be blackened. If you install and setup pre-commit (done automatically by environment setup), pre-commit will lint your code for you.
You can run the linting manually with make
make lint
CI#
CI is run via Github Actions on all PRs and pushes to the main branch.
Releases are automatically released by Github Actions to Pypi.