Specifying a floor, but not a ceiling, for core dependencies should help
prevent dependency resolution conflicts. Dependencies that affect
functional test output are pinned more tightly.
Pinning dependencies to specific versions creates conflicts when other
packages require more recent versions. We can do our part by allowing
for a wider range of dependency versions, specifying only the oldest
version that will still work. Meanwhile, we ensure that test
environments use a specific pinned dependency in order to match the
expected functional test output.
- pytest: verbose isn't needed but show skipped tests
- mock is not needed anymore. it is part of stdlib
- Unpin Sphinx and fix warning about lexer
- Mirror tox command for doc build in tasks.py
Packaged releases weren't available previously, which required us to
install the master branch version. Now that releases are being published
to PyPI, we should use those.