Figured out a new relatively minimal GitHub Actions recipe for running CI tests against a Python package that uses setup.py for dependencies, taking advantage of the actions/setup-python caching feature to avoid installing packages from PyPI on every run: https://til.simonwillison.net/github-actions/cache-setup-py
@simon Why `pip install -e`? That is usually a red flag for me in non-interactive environments, because it suggests you may be relying on some accidental "feature" of the editable install mechanism.
Better to test as your users are expected to install it: https://blog.ganssle.io/articles/2019/08/test-as-installed.html
@btskinn That just seems weird to me. I mainly put all my requirements in `tox`, and occasionally I'll create a virtualenv where I do `pip install -e . && pip install ipython` just to have a little environment where I can play around with my library or whatever.
You can also just, like, not include `.` in your `requirements-dev.txt` file: `pip install -e . && pip install -r requirements-dev.txt`.