A useful collection of tools for writing Python programs.
Development is best accomplished using virtualenv or virtualenv-wrapper where a virtual environment can be generated:
mkvirtualenv batcave
python -m pip install --upgrade pip
pip install --upgrade --upgrade-strategy eager setuptools wheel
pip install --upgrade --upgrade-strategy eager flit
Windows: flit install --deps all
Linux: flit install -s --deps all
To update the current development environment
python -m pip install --upgrade pip
pip install --upgrade --upgrade-strategy eager setuptools wheel
Windows: pip freeze | %{$_.split('==')[0]} | %{pip install --upgrade $_}
Linux: pip freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install --upgrade
The static analysis test can be run with
pylint batcave
flake8 batcave
mypy batcave
The unit tests can be run with
python -m unittest -v [tests.test_suite[.test_class[.test_case]]]
The build can be run with
flit build
This is the procedure for releasing BatCave
- Validate all issues are "Ready for Release"
- Update CHANGELOG.md
- Run the publish workflow against the Production environment
- Validate GitHub release
- Validate PyPi
- Move issues to "Closed" and label res::complete
- Close Milestone
- Update source in Perforce