From 05582a619a8fa573692ec2415916f3ee1578d118 Mon Sep 17 00:00:00 2001 From: Joshua Bronson Date: Sun, 25 Dec 2022 08:07:12 -0500 Subject: [PATCH] Use sphinx.ext.extlinks for :issue: links. --- CHANGELOG.rst | 26 +++++++++++++------------- docs/conf.py | 12 ++++++++++-- docs/learning-from-bidict.rst | 2 +- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c731213..6b6f6d5 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -321,7 +321,7 @@ Remove APIs deprecated in the previous release: Fixes a bug introduced in 0.15.0 that caused any class with an ``inverse`` attribute to be incorrectly considered a subclass of :class:`collections.abc.Mapping`. - `#111 `__ + :issue:`111` 0.19.0 (2020-01-09) @@ -440,7 +440,7 @@ Remove APIs deprecated in the previous release: :func:`deepcopied ` and :func:`unpickled ` bidicts to have their inverses set incorrectly. - `#94 `__ + :issue:`94` 0.18.0 (2019-02-14) @@ -448,7 +448,7 @@ Remove APIs deprecated in the previous release: - Rename ``bidict.BidirectionalMapping.inv`` to :attr:`~bidict.BidirectionalMapping.inverse` and make :attr:`bidict.BidictBase.inv` an alias for :attr:`~bidict.BidictBase.inverse`. - `#86 `__ + :issue:`86` - :meth:`bidict.BidirectionalMapping.__subclasshook__` now requires an ``inverse`` attribute rather than an ``inv`` attribute for a class to qualify as a virtual subclass. @@ -632,7 +632,7 @@ The following breaking changes are expected to affect few if any users. See the new :ref:`addendum:\`\`bidict\`\` Avoids Reference Cycles` documentation. - `#24 `__ + :issue:`24` - Make :func:`bidict.BidictBase.__eq__` significantly more speed- and memory-efficient when comparing to @@ -763,7 +763,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 where attempting to call ``viewitems()`` would cause a ``TypeError``. - `#48 `__ + :issue:`48` 0.14.0 (2017-11-20) @@ -1062,7 +1062,7 @@ This release includes multiple API simplifications and improvements. for use with the :mod:`copy` module. - Fix issue preventing a client class from inheriting from ``loosebidict``. - `#34 `__ + :issue:`34` - Add benchmarking to tests. @@ -1138,7 +1138,7 @@ This release includes multiple API simplifications and improvements. - In the interest of protecting data safety more proactively, by default bidict now raises an error on attempting to insert a non-unique value, rather than allowing its associated key to be silently overwritten. - See discussion in `#21 `__. + See discussion in :issue:`21`. - New :meth:`~bidict.bidict.forceupdate` method provides a bulk :meth:`~bidict.bidict.forceput` operation. @@ -1152,30 +1152,30 @@ This release includes multiple API simplifications and improvements. - Remove ``bidict.__invert__``, and with it, support for the ``~b`` syntax. Use :attr:`~bidict.BidictBase.inv` instead. - `#19 `__ + :issue:`19` - Remove support for the slice syntax. Use ``b.inv[val]`` rather than ``b[:val]``. - `#19 `__ + :issue:`19` - Remove ``bidict.invert``. Use :attr:`~bidict.BidictBase.inv` rather than inverting a bidict in place. - `#20 `__ + :issue:`20` - Raise ``ValueExistsException`` when attempting to insert a mapping with a non-unique key. - `#21 `__ + :issue:`21` - Rename ``collapsingbidict`` → ``loosebidict`` now that it suppresses ``ValueExistsException`` rather than the less general ``CollapseException``. - `#21 `__ + :issue:`21` - ``CollapseException`` has been subsumed by ``ValueExistsException``. - `#21 `__ + :issue:`21` - :meth:`~bidict.bidict.put` now raises ``KeyExistsException`` when attempting to insert an already-existing diff --git a/docs/conf.py b/docs/conf.py index b778b3d..5709486 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -42,11 +42,12 @@ import bidict extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.autosectionlabel', - 'sphinx.ext.coverage', + # 'sphinx.ext.coverage', 'sphinx.ext.doctest', + 'sphinx.ext.extlinks', 'sphinx.ext.intersphinx', 'sphinx.ext.viewcode', - 'sphinx.ext.todo', + # 'sphinx.ext.todo', ] try: import sphinx_copybutton # noqa: F401 @@ -221,6 +222,13 @@ html_show_copyright = True # Output file base name for HTML help builder. htmlhelp_basename = 'bidictdoc' + +# https://www.sphinx-doc.org/en/master/usage/extensions/extlinks.html +extlinks = { + 'issue': ('https://github.com/jab/bidict/issues/%s', '#%s') +} + + # Ignore urls matching these regex strings when doing "make linkcheck" linkcheck_ignore = [ r'https://codecov\.io/.*', # gives 405 for HEAD requests diff --git a/docs/learning-from-bidict.rst b/docs/learning-from-bidict.rst index c883997..fc62ed9 100644 --- a/docs/learning-from-bidict.rst +++ b/docs/learning-from-bidict.rst @@ -122,7 +122,7 @@ for getting and setting keys by value: See `this code `__ for how this was implemented, -and `#19 `__ for why this was dropped. +and :issue:`19` for why this was dropped. Property-based testing is indispensable