* Add type hints to tests and no longer exclude them from type checking.
* Fix the return type hint of bidict.inverted() to return an Iterator
(aliased as ItemsIter), not an Iterable.
* Rename the internal type alias for Iterable[Tuple[KT, VT]] from
IterItems to Items, and likewise MapOrIterItems to MapOrItems.
* Ditch setup.py in favor of setuptools' PEP 621 support. Ref:
https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
* Declare development dependencies in pyproject.toml rather than
requirements/*.in
* Ditch pip-compile-multi which does not support sourcing deps from pyproject.toml
* Compile dependencies into dev-deps/*.txt rather than requirements/*.txt
* Don't include development-related files in the sdist or wheel.
* Drop less important bidict.metadata attributes
(__maintainer__, __email__, __status__, __keywords__, __project_urls__)
and make __author__ a dictionary with "name" and "email" keys
to match the standard format in pyproject.toml.
- improve basic usage and "Why can't I just use a dict?" docs
- rename _static -> assets
- use forward declarations of custom rst interpreted text roles we use that
sphinx defines and that PyPI and GitHub couldn't handle otherwise (e.g.
:doc:), rather than stripping them out in setup.py
- move __keywords__ and __url__ from setup.py into bidict/metadata.py
- add __version_info__ metadata attribute
- import bidict/metadata.py in setup.py rather than `exec`ing it
- add back Python 3.4 to Travis test matrix
- improve hypothesis settings for max_examples_5000 profile
(used in nightly CI builds)
- suppress hypothesis's hung_test health check for max_examples_5000 profile
to prevent flaky tests caused by failed health checks. Avoids errors like:
E hypothesis.errors.FailedHealthCheck: Your test has been running for
at least five minutes. This is probably not what you intended, so by
default Hypothesis turns it into an error.
E See https://hypothesis.readthedocs.io/en/latest/healthchecks.html for
more information about this. If you want to disable just this health
check, add HealthCheck.hung_test to the suppress_health_check settings
for this test.
- Make OrderedBidict.__eq__ always order-insensitive.
Add OrderedBidict.equals_order_sensitive for order-sensitive comparison.
Drop OrderedBidict.ordered_cls and bidict.compat.Reversible.
- Add test coverage for bidict.metadata.
- Use setuptools_scm for automatic version discovery from source control.
Drop bidict/VERSION file and associated machinery.
- Ditch testing macOS on Travis, it's just too slow.
Testing on Linux should suffice.
- Ditch using pyenv on Travis to save time and complexity.
Travis now has a better set of Python versions available out-of-the-box.
- Add support for "python setup.py test" and use that on Travis.