* Replace tox with nox
* Replace travis with github actions
* Fix pytest, mypy and flake8 errors
* Add pytest.
* Run on all commits
* Remove nose
* Speedup slow tests to save GitHub actions minutes
* Added line to CHANGELOG.md
* Fix line too long in pdfdocument.py
* Update .github/workflows/actions.yml
Co-authored-by: Jake Stockwin <jstockwin@gmail.com>
* Improve actions.yml
* Fix error with nox name for mypy
* Add names for jobs
* Replace nose.raises with pytest.raises
Co-authored-by: Jake Stockwin <jstockwin@gmail.com>
* port page label code from pdfannots
* add tests and clean up
* more cleanup; harden against non-conforming input
* one more test
* update CHANGELOG
* cleanup & respond to review feedback (incomplete)
* Refactor implementation of get_page_labels() into a NumberTree and PageLabels class.
* PageLabels *is* a NumberTree and should always behave like one. This justifies inheriting its data and behavior. And it simplifies the code a bit more.
* fix type errors and cleanup slightly
* fix mypy errors (including tweaking code to avoid problematic dynamic types)
* hoist dict_value from NumberTree (where it may not be a dict) to PageLabels (where it must be)
* avoid repeated warnings by calling _parse() recursively, and checking sortedness only at the end
Co-authored-by: Pieter Marsman <pietermarsman@gmail.com>