Commit b68f70bd authored by William Grzybowski's avatar William Grzybowski

New upstream version 0.18.2

parent 0812cb5e
Copyright 2018 Joshua Bronson. All Rights Reserved. Copyright 2009-2019 Joshua Bronson. All Rights Reserved.
This Source Code Form is subject to the terms of the Mozilla Public This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this License, v. 2.0. If a copy of the MPL was not distributed with this
......
github: "jab"
tidelift: "pypi/bidict"
custom:
- https://gumroad.com/l/bidict
- https://www.bountysource.com/teams/bidict
- https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=jab%40math%2ebrown%2eedu&lc=US&item_name=Support%20bidict&button_subtype=services&currency_code=USD&bn=PP%2dBuyNowBF%3aPaypal%2dBuy%2520a%2520Drink%2dblue%2esvg%3aNonHosted
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
*.pyc
.DS_Store
.benchmarks .benchmarks
.cache .cache
.coverage .coverage
.eggs
.hypothesis .hypothesis
.mypy_cache
.tox .tox
.vscode
__pycache__
_build
bidict.egg-info
bidict/_version.py bidict/_version.py
coverage.xml coverage.xml
htmlcov htmlcov
pip-wheel-metadata
...@@ -9,14 +9,13 @@ repos: ...@@ -9,14 +9,13 @@ repos:
# This stopped working so comment out for now (started applying to files that didn't need it): # This stopped working so comment out for now (started applying to files that didn't need it):
# - id: fix-encoding-pragma # - id: fix-encoding-pragma
- id: check-yaml - id: check-yaml
# Keep in sync with flake8 version in setup.py and .travis.yml -- # Keep in sync with flake8 version in setup.py --
# check https://github.com/pre-commit/pre-commit-hooks/blob/master/setup.py # check https://github.com/pre-commit/pre-commit-hooks/blob/master/setup.py
# for the version of flake8 that is included with this pre-commit repo. # for the version of flake8 that is included with this pre-commit repo.
- id: flake8 - id: flake8
exclude: docs/conf.py
- repo: https://github.com/chewse/pre-commit-mirrors-pydocstyle - repo: https://github.com/chewse/pre-commit-mirrors-pydocstyle
# Keep in sync with pydocstyle version in setup.py and .travis.yml # Keep in sync with pydocstyle version in setup.py
rev: v2.1.1 rev: v2.1.1
hooks: hooks:
- id: pydocstyle - id: pydocstyle
...@@ -38,15 +37,15 @@ repos: ...@@ -38,15 +37,15 @@ repos:
# - --license-filepath=.LICENSE_HEADER # - --license-filepath=.LICENSE_HEADER
- repo: https://github.com/pre-commit/mirrors-pylint - repo: https://github.com/pre-commit/mirrors-pylint
# Keep in sync with pylint version in setup.py and .travis.yml # Keep in sync with pylint version in setup.py
rev: v2.2.2 rev: v2.2.2
hooks: hooks:
- id: pylint - id: pylint
# Needed to avoid ImportErrors when linting tests (keep in sync with versions in setup.py): # Needed to avoid ImportErrors when linting tests (keep in sync with versions in setup.py):
additional_dependencies: ["hypothesis<4","pytest<5", "sphinx<2"] additional_dependencies: ["hypothesis<4","pytest<5", "Sphinx<2"]
args: args:
# http://pylint.pycqa.org/en/latest/user_guide/run.html#parallel-execution # http://pylint.pycqa.org/en/latest/user_guide/run.html#parallel-execution
# > If the provided number is 0, then the total number of CPUs will be used. # "If the provided number is 0, then the total number of CPUs will be used."
- --jobs=0 - --jobs=0
- repo: https://github.com/jumanjihouse/pre-commit-hooks - repo: https://github.com/jumanjihouse/pre-commit-hooks
......
...@@ -8,6 +8,13 @@ python: '3.7' ...@@ -8,6 +8,13 @@ python: '3.7'
dist: 'xenial' dist: 'xenial'
# https://docs.travis-ci.com/user/customizing-the-build/
# "Without the top-level env, no job will be allowed to fail."
env:
global:
- 'INSTALL_EXTRAS=test'
before_install: # Ensure we have the required versions of Python and Pip. before_install: # Ensure we have the required versions of Python and Pip.
- 'echo "TRAVIS_PULL_REQUEST_SHA: $TRAVIS_PULL_REQUEST_SHA"' - 'echo "TRAVIS_PULL_REQUEST_SHA: $TRAVIS_PULL_REQUEST_SHA"'
- 'echo "TRAVIS_COMMIT: $TRAVIS_COMMIT"' - 'echo "TRAVIS_COMMIT: $TRAVIS_COMMIT"'
...@@ -43,7 +50,12 @@ before_install: # Ensure we have the required versions of Python and Pip. ...@@ -43,7 +50,12 @@ before_install: # Ensure we have the required versions of Python and Pip.
install: # Install our test dependencies. install: # Install our test dependencies.
- 'travis_retry pip install -U --upgrade-strategy=eager .[test$([[ "$COVERAGE" ]] && echo ",coverage")]' - |
[[ "$COVERAGE" ]] && INSTALL_EXTRAS+=",coverage"
install_cmd="pip install -U --upgrade-strategy=eager ."
[[ "$INSTALL_EXTRAS" ]] && install_cmd+="[$INSTALL_EXTRAS]"
echo "install_cmd: $install_cmd"
travis_retry $install_cmd
before_script: before_script:
...@@ -57,10 +69,18 @@ before_script: ...@@ -57,10 +69,18 @@ before_script:
script: # Run the test suite. script: # Run the test suite.
# See tests/hypothesis/_setup_hypothesis.py - |
- 'export HYPOTHESIS_PROFILE=$([[ "$TRAVIS_EVENT_TYPE" == cron ]] && echo more-examples)' if [[ "$TRAVIS_EVENT_TYPE" == "cron" ]]; then
- 'export PYTEST_ADDOPTS=$([[ "$COVERAGE" ]] && echo "--cov=bidict --cov-config=.coveragerc")' export HYPOTHESIS_PROFILE="more-examples" # See tests/hypothesis/_setup_hypothesis.py
- './run_tests.py' else
export HYPOTHESIS_PROFILE="default"
fi
export PYTEST_ADDOPTS="--hypothesis-profile=${HYPOTHESIS_PROFILE}"
if [[ "$COVERAGE" ]]; then
export PYTEST_ADDOPTS="${PYTEST_ADDOPTS} --cov=bidict --cov-config=.coveragerc"
fi
./run_tests.py
after_script: after_script:
...@@ -76,8 +96,11 @@ after_script: ...@@ -76,8 +96,11 @@ after_script:
matrix: matrix:
allow_failures: allow_failures:
- env: 'ALLOW_FAIL=1' - env: 'TASK=docs-linkcheck INSTALL_EXTRAS=docs'
fast_finish: true - env: 'TASK=test-linux-cpython-3.8-dev'
- env: 'TASK=deploy-if-tag'
## fast_finish causes Travis to sned a useless daily "build pending" email; not worth the noise.
# fast_finish: true
include: include:
# Each job below performs a single task. Setting a per-job "TASK" env var # Each job below performs a single task. Setting a per-job "TASK" env var
# causes Travis to clearly show each job's task in the web UI. # causes Travis to clearly show each job's task in the web UI.
...@@ -110,32 +133,33 @@ matrix: ...@@ -110,32 +133,33 @@ matrix:
os: 'osx' os: 'osx'
language: 'generic' language: 'generic'
## Make sure there are no relied-on side effects in assert statements.
- env: 'TASK=test-with-optimization-flag'
before_install: 'skip'
install: 'skip'
script: 'python -O -m doctest -o IGNORE_EXCEPTION_DETAIL -o ELLIPSIS tests/*.txt'
## Linting, static analysis, code style. ## Linting, static analysis, code style.
- env: 'TASK=lint-flake8' - env: 'TASK=lint-flake8 INSTALL_EXTRAS=flake8'
before_install: 'skip' before_install: 'skip'
install: 'travis_retry pip install "flake8<3.8"' # keep in sync with the version in setup.py
script: 'flake8 $LINT_SRC' script: 'flake8 $LINT_SRC'
- env: 'TASK=lint-pylint' - env: 'TASK=lint-pylint INSTALL_EXTRAS=pylint,test'
before_install: 'skip' before_install: 'skip'
install: 'travis_retry pip install "pylint<2.3" "hypothesis<4" "pytest<5" "Sphinx<2"' # keep in sync with the versions in setup.py
script: 'pylint --jobs=0 $LINT_SRC' script: 'pylint --jobs=0 $LINT_SRC'
- env: 'TASK=lint-pydocstyle' - env: 'TASK=lint-pydocstyle INSTALL_EXTRAS=pydocstyle'
before_install: 'skip' before_install: 'skip'
install: 'travis_retry pip install "pydocstyle<3.1"' # keep in sync with the version in setup.py
script: 'pydocstyle $LINT_SRC' script: 'pydocstyle $LINT_SRC'
## Misc. ## Misc.
- env: 'TASK=docs-build' - env: 'TASK=docs-build INSTALL_EXTRAS=docs'
before_install: 'skip' before_install: 'skip'
install: 'travis_retry pip install "Sphinx<2"' # keep in sync with the version in setup.py
script: './build-docs.sh' script: './build-docs.sh'
- env: 'TASK=test-with-optimization-flag' # make sure there are no relied-on side effects in assert statements - env: 'TASK=docs-linkcheck INSTALL_EXTRAS=docs'
before_install: 'skip' before_install: 'skip'
install: 'skip' script: '(cd docs && travis_retry make linkcheck)'
script: 'python -O -m doctest -o IGNORE_EXCEPTION_DETAIL -o ELLIPSIS tests/*.txt'
## Remaining CPython versions on Linux. ## Remaining CPython versions on Linux.
- python: '3.6' - python: '3.6'
...@@ -144,17 +168,11 @@ matrix: ...@@ -144,17 +168,11 @@ matrix:
- python: '3.5' - python: '3.5'
env: 'TASK=test-linux-cpython-3.5' env: 'TASK=test-linux-cpython-3.5'
## Misc.
- env: 'TASK=docs-linkcheck ALLOW_FAIL=1'
before_install: 'skip'
install: 'travis_retry pip install "Sphinx<2"' # keep in sync with the version in setup.py
script: '(cd docs && travis_retry make linkcheck)'
- python: '3.8-dev' - python: '3.8-dev'
env: 'TASK=test-linux-cpython-3.8-dev ALLOW_FAIL=1' env: 'TASK=test-linux-cpython-3.8-dev'
- stage: 'deploy-if-tag' - stage: 'deploy-if-tag'
env: 'TASK=deploy-if-tag ALLOW_FAIL=1' env: 'TASK=deploy-if-tag'
before_install: 'skip' before_install: 'skip'
install: 'skip' install: 'skip'
script: 'skip' script: 'skip'
......
...@@ -20,13 +20,35 @@ Release Notifications ...@@ -20,13 +20,35 @@ Release Notifications
Tip: `Subscribe to bidict releases <https://libraries.io/pypi/bidict>`__ Tip: `Subscribe to bidict releases <https://libraries.io/pypi/bidict>`__
on libraries.io to be notified when new versions of bidict are released. on libraries.io to be notified when new versions of bidict are released.
Alternatively,
`on GitHub <https://github.com/jab/bidict>`__,
click "`Watch <https://help.github.com/en/articles/watching-and-unwatching-releases-for-a-repository>`__"
and choose "Releases".
0.18.2 (2019-09-08)
-------------------
- Warn that Python 2 support will be dropped in a future release
when Python 2 is detected.
0.18.1 (2019-09-03)
-------------------
- Fix a regression introduced by the memory optimizations added in 0.15.0
which caused
:func:`deepcopied <copy.deepcopy>` and
:func:`unpickled <pickle.loads>`
bidicts to have their inverses set incorrectly.
`#94 <https://github.com/jab/bidict/issues/94>`__
0.18.0 (2019-02-14) 0.18.0 (2019-02-14)
------------------- -------------------
- Rename ``bidict.BidirectionalMapping.inv`` to :attr:`~bidict.BidirectionalMapping.inverse` - Rename ``bidict.BidirectionalMapping.inv`` to :attr:`~bidict.BidirectionalMapping.inverse`
and make :attr:`bidict.BidictBase.inv`` an alias for :attr:`~bidict.BidictBase.inverse`. and make :attr:`bidict.BidictBase.inv` an alias for :attr:`~bidict.BidictBase.inverse`.
`#86 <https://github.com/jab/bidict/issues/86>`__ `#86 <https://github.com/jab/bidict/issues/86>`__
- :meth:`bidict.BidirectionalMapping.__subclasshook__` now requires an ``inverse`` attribute - :meth:`bidict.BidirectionalMapping.__subclasshook__` now requires an ``inverse`` attribute
...@@ -39,9 +61,9 @@ on libraries.io to be notified when new versions of bidict are released. ...@@ -39,9 +61,9 @@ on libraries.io to be notified when new versions of bidict are released.
and warn when Python 3 < 3.5 is detected and warn when Python 3 < 3.5 is detected
rather than Python 3 < 3.3. rather than Python 3 < 3.3.
According to `PyPI Stats <https://pypistats.org/packages/bidict>`__, Python 3.4 reaches `end of life <https://www.python.org/dev/peps/pep-0429/>`__ on 2019-03-18.
Python 3.4 represents only about 3% of bidict downloads as of January 2019. As of January 2019, 3.4 represents only about 3% of bidict downloads on
The latest release of Pip has also deprecated support for Python 3.4. `PyPI Stats <https://pypistats.org/packages/bidict>`__.
0.17.5 (2018-11-19) 0.17.5 (2018-11-19)
...@@ -113,8 +135,8 @@ Minor code, interop, and (semi-)private API improvements. ...@@ -113,8 +135,8 @@ Minor code, interop, and (semi-)private API improvements.
------------------- -------------------
- Improve packaging by adding a pyproject.toml - Improve packaging by adding a pyproject.toml
(`thanks, @gaborbernat <https://github.com/jab/bidict/pull/81>`__)
and by including more supporting files in the distribution. and by including more supporting files in the distribution.
`#81 <https://github.com/jab/bidict/pull/81>`__
- Drop pytest-runner and support for running tests via ``python setup.py test`` - Drop pytest-runner and support for running tests via ``python setup.py test``
in preference to ``pytest`` or ``python -m pytest``. in preference to ``pytest`` or ``python -m pytest``.
...@@ -217,7 +239,7 @@ Speedups and memory usage improvements ...@@ -217,7 +239,7 @@ Speedups and memory usage improvements
See the new See the new
:ref:`addendum:Bidict Avoids Reference Cycles` :ref:`addendum:Bidict Avoids Reference Cycles`
documentation. documentation.
Fixes `#24 <https://github.com/jab/bidict/issues/20>`__. `#24 <https://github.com/jab/bidict/issues/20>`__
- Make :func:`bidict.BidictBase.__eq__` significantly - Make :func:`bidict.BidictBase.__eq__` significantly
more speed- and memory-efficient when comparing to more speed- and memory-efficient when comparing to
...@@ -352,8 +374,7 @@ The following breaking changes are expected to affect few if any users. ...@@ -352,8 +374,7 @@ The following breaking changes are expected to affect few if any users.
- Fix a bug introduced in 0.14.0 for Python 2 users - Fix a bug introduced in 0.14.0 for Python 2 users
where attempting to call ``viewitems()`` where attempting to call ``viewitems()``
would cause a ``TypeError``. would cause a ``TypeError``.
Thanks Richard Sanger for `#48 <https://github.com/jab/bidict/issues/48>`__
`reporting <https://github.com/jab/bidict/issues/48>`__.
0.14.0 (2017-11-20) 0.14.0 (2017-11-20)
...@@ -497,7 +518,7 @@ This release includes multiple API simplifications and improvements. ...@@ -497,7 +518,7 @@ This release includes multiple API simplifications and improvements.
``issubclass(OldStyleClass, BidirectionalMapping)`` once again ``issubclass(OldStyleClass, BidirectionalMapping)`` once again
works with old-style classes, works with old-style classes,
returning ``False`` rather than raising :class:`AttributeError` returning ``False`` rather than raising :class:`AttributeError`
(`thanks, @knaperek <https://github.com/jab/bidict/pull/41>`__). `#41 <https://github.com/jab/bidict/pull/41>`__
0.13.0 (2017-01-19) 0.13.0 (2017-01-19)
...@@ -653,8 +674,8 @@ This release includes multiple API simplifications and improvements. ...@@ -653,8 +674,8 @@ This release includes multiple API simplifications and improvements.
- Implement :func:`~bidict.BidictBase.__copy__` - Implement :func:`~bidict.BidictBase.__copy__`
for use with the :mod:`copy` module. for use with the :mod:`copy` module.
- Fix issue preventing a client class from inheriting from ``loosebidict`` - Fix issue preventing a client class from inheriting from ``loosebidict``.
(see `#34 <https://github.com/jab/bidict/issues/34>`__). `#34 <https://github.com/jab/bidict/issues/34>`__
- Add benchmarking to tests. - Add benchmarking to tests.
...@@ -791,7 +812,7 @@ Breaking API Changes ...@@ -791,7 +812,7 @@ Breaking API Changes
`Gitter chat room <https://gitter.im/jab/bidict>`__, `Gitter chat room <https://gitter.im/jab/bidict>`__,
and other community-oriented improvements. and other community-oriented improvements.
- Adopt Pytest (thanks Tom Viner and Adopt Pytest Month). - Adopt Pytest.
- Add property-based tests via - Add property-based tests via
`hypothesis <https://hypothesis.readthedocs.io>`__. `hypothesis <https://hypothesis.readthedocs.io>`__.
......
Metadata-Version: 2.1 Metadata-Version: 2.1
Name: bidict Name: bidict
Version: 0.18.0 Version: 0.18.2
Summary: Efficient, Pythonic bidirectional map implementation and related functionality Summary: Efficient, Pythonic bidirectional map implementation and related functionality
Home-page: https://bidict.readthedocs.io Home-page: https://bidict.readthedocs.io
Author: Joshua Bronson Author: Joshua Bronson
...@@ -41,7 +41,7 @@ Description: .. Forward declarations for all the custom interpreted text roles t ...@@ -41,7 +41,7 @@ Description: .. Forward declarations for all the custom interpreted text roles t
:target: https://codecov.io/gh/jab/bidict :target: https://codecov.io/gh/jab/bidict
:alt: Test coverage :alt: Test coverage
.. image:: https://img.shields.io/lgtm/alerts/g/jab/bidict.svg .. image:: https://img.shields.io/lgtm/alerts/github/jab/bidict.svg
:target: https://lgtm.com/projects/g/jab/bidict/ :target: https://lgtm.com/projects/g/jab/bidict/
:alt: LGTM alerts :alt: LGTM alerts
...@@ -53,9 +53,9 @@ Description: .. Forward declarations for all the custom interpreted text roles t ...@@ -53,9 +53,9 @@ Description: .. Forward declarations for all the custom interpreted text roles t
:target: https://bestpractices.coreinfrastructure.org/en/projects/2354 :target: https://bestpractices.coreinfrastructure.org/en/projects/2354
:alt: CII best practices badge :alt: CII best practices badge
.. image:: https://tidelift.com/badges/github/jab/bidict .. image:: https://img.shields.io/badge/tidelift-pro%20support-EF914C.svg
:target: https://tidelift.com/subscription/pkg/pypi-bidict?utm_source=pypi-bidict&utm_medium=referral&utm_campaign=docs :target: https://tidelift.com/subscription/pkg/pypi-bidict?utm_source=pypi-bidict&utm_medium=referral&utm_campaign=docs
:alt: Tidelift dependency badge :alt: Paid support available via Tidelift
.. Hide to reduce clutter .. Hide to reduce clutter
.. image:: https://ci.appveyor.com/api/projects/status/gk133415udncwto3/branch/master?svg=true .. image:: https://ci.appveyor.com/api/projects/status/gk133415udncwto3/branch/master?svg=true
...@@ -93,6 +93,15 @@ Description: .. Forward declarations for all the custom interpreted text roles t ...@@ -93,6 +93,15 @@ Description: .. Forward declarations for all the custom interpreted text roles t
that leverages a number of advanced language features [#fn-learning]_ that leverages a number of advanced language features [#fn-learning]_
⚠️ Python 2 EOL ⚠️
++++++++++++++++++
Python 2 support will be dropped in a future release.
See `python3statement.org <https://python3statement.org>`__
for more info.
Installation Installation
------------ ------------
...@@ -117,8 +126,8 @@ Description: .. Forward declarations for all the custom interpreted text roles t ...@@ -117,8 +126,8 @@ Description: .. Forward declarations for all the custom interpreted text roles t
and proceed from there. and proceed from there.
Community and Voluntary Support Community Support
------------------------------- -----------------
.. image:: https://img.shields.io/badge/chat-on%20gitter-5AB999.svg?logo=gitter-white .. image:: https://img.shields.io/badge/chat-on%20gitter-5AB999.svg?logo=gitter-white
:target: https://gitter.im/jab/bidict :target: https://gitter.im/jab/bidict
...@@ -127,11 +136,11 @@ Description: .. Forward declarations for all the custom interpreted text roles t ...@@ -127,11 +136,11 @@ Description: .. Forward declarations for all the custom interpreted text roles t
If you are thinking of using bidict in your work, If you are thinking of using bidict in your work,
or if you have any questions, comments, or suggestions, or if you have any questions, comments, or suggestions,
I'd love to know about your use case I'd love to know about your use case
and provide as much support for it as possible. and provide as much voluntary support for it as possible.
Please feel free to leave a message in the Please feel free to leave a message in the
`chatroom <https://gitter.im/jab/bidict>`__ `chatroom <https://gitter.im/jab/bidict>`__
or to open a new issue on GitHub. or open a new issue on GitHub.
You can search through You can search through
`existing issues <https://github.com/jab/bidict/issues>`__ `existing issues <https://github.com/jab/bidict/issues>`__
before creating a new one before creating a new one
...@@ -143,7 +152,7 @@ Description: .. Forward declarations for all the custom interpreted text roles t ...@@ -143,7 +152,7 @@ Description: .. Forward declarations for all the custom interpreted text roles t
.. image:: https://img.shields.io/badge/tidelift-pro%20support-EF914C.svg .. image:: https://img.shields.io/badge/tidelift-pro%20support-EF914C.svg
:target: https://tidelift.com/subscription/pkg/pypi-bidict?utm_source=pypi-bidict&utm_medium=referral&utm_campaign=readme :target: https://tidelift.com/subscription/pkg/pypi-bidict?utm_source=pypi-bidict&utm_medium=referral&utm_campaign=readme
:alt: Support via Tidelift :alt: Paid support available via Tidelift
If your use case requires a greater level of support, If your use case requires a greater level of support,
contractual support for bidict can be obtained through the contractual support for bidict can be obtained through the
...@@ -182,8 +191,12 @@ Description: .. Forward declarations for all the custom interpreted text roles t ...@@ -182,8 +191,12 @@ Description: .. Forward declarations for all the custom interpreted text roles t
:target: https://libraries.io/pypi/bidict :target: https://libraries.io/pypi/bidict
:alt: Follow on libraries.io :alt: Follow on libraries.io
Tip: `Subscribe to bidict releases <https://libraries.io/pypi/bidict>`__ `Subscribe to bidict releases <https://libraries.io/pypi/bidict>`__
on libraries.io to be notified when new versions of bidict are released. on libraries.io to be notified when new versions of bidict are released.
Alternatively,
on `GitHub <https://github.com/jab/bidict>`__,
click "`Watch <https://help.github.com/en/articles/watching-and-unwatching-releases-for-a-repository>`__"
and choose "Releases".
Learning from bidict Learning from bidict
...@@ -284,7 +297,12 @@ Classifier: Programming Language :: Python :: 3.7 ...@@ -284,7 +297,12 @@ Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: dev
Provides-Extra: docs
Provides-Extra: coverage
Provides-Extra: test Provides-Extra: test
Provides-Extra: coverage
Provides-Extra: sphinx
Provides-Extra: flake8
Provides-Extra: lint
Provides-Extra: docs
Provides-Extra: pylint
Provides-Extra: pydocstyle
Provides-Extra: dev
...@@ -33,7 +33,7 @@ Status ...@@ -33,7 +33,7 @@ Status
:target: https://codecov.io/gh/jab/bidict :target: https://codecov.io/gh/jab/bidict
:alt: Test coverage :alt: Test coverage
.. image:: https://img.shields.io/lgtm/alerts/g/jab/bidict.svg .. image:: https://img.shields.io/lgtm/alerts/github/jab/bidict.svg
:target: https://lgtm.com/projects/g/jab/bidict/ :target: https://lgtm.com/projects/g/jab/bidict/
:alt: LGTM alerts :alt: LGTM alerts
...@@ -45,9 +45,9 @@ Status ...@@ -45,9 +45,9 @@ Status
:target: https://bestpractices.coreinfrastructure.org/en/projects/2354 :target: https://bestpractices.coreinfrastructure.org/en/projects/2354
:alt: CII best practices badge :alt: CII best practices badge
.. image:: https://tidelift.com/badges/github/jab/bidict .. image:: https://img.shields.io/badge/tidelift-pro%20support-EF914C.svg
:target: https://tidelift.com/subscription/pkg/pypi-bidict?utm_source=pypi-bidict&utm_medium=referral&utm_campaign=docs :target: https://tidelift.com/subscription/pkg/pypi-bidict?utm_source=pypi-bidict&utm_medium=referral&utm_campaign=docs
:alt: Tidelift dependency badge :alt: Paid support available via Tidelift
.. Hide to reduce clutter .. Hide to reduce clutter
.. image:: https://ci.appveyor.com/api/projects/status/gk133415udncwto3/branch/master?svg=true .. image:: https://ci.appveyor.com/api/projects/status/gk133415udncwto3/branch/master?svg=true
...@@ -85,6 +85,15 @@ Bidict: ...@@ -85,6 +85,15 @@ Bidict:
that leverages a number of advanced language features [#fn-learning]_ that leverages a number of advanced language features [#fn-learning]_
⚠️ Python 2 EOL ⚠️
++++++++++++++++++
Python 2 support will be dropped in a future release.
See `python3statement.org <https://python3statement.org>`__
for more info.
Installation Installation
------------ ------------
...@@ -109,8 +118,8 @@ head to the :doc:`intro` [#fn-intro]_ ...@@ -109,8 +118,8 @@ head to the :doc:`intro` [#fn-intro]_
and proceed from there. and proceed from there.
Community and Voluntary Support Community Support
------------------------------- -----------------
.. image:: https://img.shields.io/badge/chat-on%20gitter-5AB999.svg?logo=gitter-white .. image:: https://img.shields.io/badge/chat-on%20gitter-5AB999.svg?logo=gitter-white
:target: https://gitter.im/jab/bidict :target: https://gitter.im/jab/bidict
...@@ -119,11 +128,11 @@ Community and Voluntary Support ...@@ -119,11 +128,11 @@ Community and Voluntary Support
If you are thinking of using bidict in your work, If you are thinking of using bidict in your work,
or if you have any questions, comments, or suggestions, or if you have any questions, comments, or suggestions,
I'd love to know about your use case I'd love to know about your use case
and provide as much support for it as possible. and provide as much voluntary support for it as possible.
Please feel free to leave a message in the Please feel free to leave a message in the
`chatroom <https://gitter.im/jab/bidict>`__ `chatroom <https://gitter.im/jab/bidict>`__
or to open a new issue on GitHub. or open a new issue on GitHub.
You can search through You can search through
`existing issues <https://github.com/jab/bidict/issues>`__ `existing issues <https://github.com/jab/bidict/issues>`__
before creating a new one before creating a new one
...@@ -135,7 +144,7 @@ Paid Support via Tidelift ...@@ -135,7 +144,7 @@ Paid Support via Tidelift
.. image:: https://img.shields.io/badge/tidelift-pro%20support-EF914C.svg .. image:: https://img.shields.io/badge/tidelift-pro%20support-EF914C.svg
:target: https://tidelift.com/subscription/pkg/pypi-bidict?utm_source=pypi-bidict&utm_medium=referral&utm_campaign=readme :target: https://tidelift.com/subscription/pkg/pypi-bidict?utm_source=pypi-bidict&utm_medium=referral&utm_campaign=readme
:alt: Support via Tidelift :alt: Paid support available via Tidelift
If your use case requires a greater level of support, If your use case requires a greater level of support,
contractual support for bidict can be obtained through the contractual support for bidict can be obtained through the
...@@ -174,8 +183,12 @@ Release Notifications ...@@ -174,8 +183,12 @@ Release Notifications
:target: https://libraries.io/pypi/bidict :target: https://libraries.io/pypi/bidict
:alt: Follow on libraries.io :alt: Follow on libraries.io
Tip: `Subscribe to bidict releases <https://libraries.io/pypi/bidict>`__ `Subscribe to bidict releases <https://libraries.io/pypi/bidict>`__
on libraries.io to be notified when new versions of bidict are released. on libraries.io to be notified when new versions of bidict are released.
Alternatively,
on `GitHub <https://github.com/jab/bidict>`__,
click "`Watch <https://help.github.com/en/articles/watching-and-unwatching-releases-for-a-repository>`__"
and choose "Releases".
Learning from bidict Learning from bidict
......
...@@ -6,8 +6,17 @@ ...@@ -6,8 +6,17 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/ */
pre { padding: 10px; }
@media only screen and (max-width: 875px) {
p { width: calc(100% - 20px); }
pre { max-width: calc(100% - 40px); }
/* Make code text in side nav lighter on narrow viewports where it's moved to the footer. */
.sphinxsidebarwrapper code { color: #ccc !important; background: inherit !important; }
}
h1, h2, h3, h4, h5 { font-weight: bold !important; } h1, h2, h3, h4, h5 { font-weight: bold !important; }
ul, ol { margin: 10px 20px; }
ul li { margin-bottom: 8px; } ul li { margin-bottom: 8px; }
/* Float the logo to the right of the status badges on the homepage */ /* Float the logo to the right of the status badges on the homepage */
...@@ -16,6 +25,8 @@ ul li { margin-bottom: 8px; } ...@@ -16,6 +25,8 @@ ul li { margin-bottom: 8px; }
/* Can remove this when https://github.com/bitprophet/alabaster/pull/125 lands */ /* Can remove this when https://github.com/bitprophet/alabaster/pull/125 lands */
a.image-reference:hover { border-bottom: 0 !important; } a.image-reference:hover { border-bottom: 0 !important; }
div.sphinxsidebar img[alt="Donate"] { display: none; }
/* override the inherited "max-width: 100%" in case a badge fails to load */ /* override the inherited "max-width: 100%" in case a badge fails to load */
#status img { max-width: inherit; } #status img { max-width: inherit; }
......
'use strict'; 'use strict';
function initCodefund() {
var cfdiv = document.createElement('div'); document.addEventListener('DOMContentLoaded', function () {
cfdiv.setAttribute('id', 'codefund');
var sidebar = document.getElementsByClassName('sphinxsidebarwrapper')[0]; var sidebar = document.getElementsByClassName('sphinxsidebarwrapper')[0];
sidebar.append(cfdiv);
var cfscript = document.createElement('script'); (function tweakSidebar() { try {
cfscript.src = 'https://codefund.app/properties/179/funder.js'; var donateH3 = sidebar.querySelector('.donation');
cfscript.setAttribute('async', true); donateH3.textContent = 'Giving back';
document.body.append(cfscript); var tideliftP = donateH3.nextElementSibling.nextElementSibling;
} var givebackA = document.createElement('a');
document.addEventListener('DOMContentLoaded', initCodefund); givebackA.href = 'https://gumroad.com/l/bidict';
givebackA.textContent = 'Bidict is the product of hundreds of hours of unpaid, voluntary work. If bidict has helped you accomplish your work, click here to chip in toward the costs of bidict’s maintenance and development.'
sidebar.insertBefore(givebackA, tideliftP);
var tideliftH3 = document.createElement('h3');
tideliftH3.textContent = 'Get Support';
sidebar.insertBefore(tideliftH3, tideliftP);
} catch (e) {}
})();
function addDiv(propName, propVal) {
var div = document.createElement('div');
div.style.marginTop = '20px';
div[propName] = propVal;
sidebar.append(div);
}
function addScript(src) {
var script = document.createElement('script');
script.src = src;
script.async = true;
document.body.append(script);
}
addDiv('id', 'codefund');
addScript('https://codefund.app/properties/179/funder.js');
addDiv('className', 'rc-scout');
addScript('https://www.recurse-scout.com/loader.js?t=c17a917136a40c38f5ce6b80adbbfd19');
});
Metadata-Version: 2.1 Metadata-Version: 2.1
Name: bidict Name: bidict
Version: 0.18.0 Version: 0.18.2