TL;DR Checklist¶
Python:
- Use Python 3.7.
- Manage app dependencies using a combo of virtualenv and pip-tools.
- Sort imports with isort.
- Format source files with YAPF.
- Lint code with Flake8.
- Check security issues with Bandit.
- Use pytest as test framework.
Git:
- Use .gitignore.
- Use Pre-commit Git Hook.
Project:
- Store config (credentials, secrets, etc.) in the environment.
- Manage and execute command line tasks via Invoke.
- Log, log, log.
- Maintain up-to-date README.
- Set up Continuous Integration.