Skip to content

Commit

Permalink
0.6.0 setup
Browse files Browse the repository at this point in the history
* remove use of LooseVersion
Fixes: #20

* require sphinx >=4.0.0
* I think we're beta now
* update pre commit / black etc
  • Loading branch information
zzzeek committed Aug 11, 2023
1 parent 290d305 commit 885a7a7
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 38 deletions.
16 changes: 8 additions & 8 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,27 @@
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/python/black
rev: 20.8b1
rev: 23.3.0
hooks:
- id: black

- repo: https://github.com/sqlalchemyorg/zimports
rev: master
rev: v0.6.0
hooks:
- id: zimports

- repo: https://github.com/pycqa/flake8
rev: master
rev: 5.0.0
hooks:
- id: flake8
additional_dependencies:
- flake8-import-order
- flake8-import-single==0.1.5
- flake8-builtins
- flake8-docstrings
- flake8-future-annotations>=0.0.5
- flake8-docstrings>=1.6.0
- flake8-rst-docstrings
# flake8-rst-docstrings dependency, leaving it here
# in case it requires a version pin
- pydocstyle
- pygments




6 changes: 5 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"descriptions to be linkable",
long_description=open(readme).read(),
classifiers=[
"Development Status :: 3 - Alpha",
"Development Status :: 4 - Beta",
"Environment :: Console",
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
Expand All @@ -42,4 +42,8 @@
packages=["sphinx_paramlinks"],
include_package_data=True,
zip_safe=False,
install_requires=[
"Sphinx>=4.0.0",
"docutils",
],
)
2 changes: 1 addition & 1 deletion sphinx_paramlinks/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
__version__ = "0.5.4"
__version__ = "0.6.0"

from .sphinx_paramlinks import setup # noqa
50 changes: 22 additions & 28 deletions sphinx_paramlinks/sphinx_paramlinks.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
#!coding: utf-8
from distutils.version import LooseVersion
from enum import Enum
import os
import re

from docutils import nodes
from docutils.transforms import Transform
from sphinx import __version__
from sphinx import addnodes
from sphinx.domains import ObjType
from sphinx.domains.python import ObjectEntry
Expand All @@ -31,6 +29,7 @@ def _is_html(app):

# https://www.sphinx-doc.org/en/master/extdev/deprecated.html


# Constants for link styles
class HyperlinkStyle(Enum):
NONE = "none"
Expand Down Expand Up @@ -73,16 +72,20 @@ def _cvt_param(name, line):
name = name[0:-9]

def cvt(m):
role, modifier, objname, paramname = m.group(1), m.group(2) or "", name, m.group(3)
role, modifier, objname, paramname = (
m.group(1),
m.group(2) or "",
name,
m.group(3),
)
refname = _refname_from_paramname(paramname, strip_markup=True)
item = (
"single",
"%s (%s parameter)" % (refname, objname),
"%s.params.%s" % (objname, refname),
"",
)
if LooseVersion(__version__) >= LooseVersion("1.4.0"):
item += (None,)
item += (None,)

doc_idx.append(item)
return ":%s %s_sphinx_paramlinks_%s.%s:" % (
Expand All @@ -93,7 +96,12 @@ def cvt(m):
)

def secondary_cvt(m):
role, modifier, objname, paramname = m.group(1), m.group(2) or "", name, m.group(3)
role, modifier, objname, paramname = (
m.group(1),
m.group(2) or "",
name,
m.group(3),
)
return ":%s %s_sphinx_paramlinks_%s.%s:" % (
role,
modifier,
Expand All @@ -102,7 +110,9 @@ def secondary_cvt(m):
)

line = re.sub(r"^:(keyword|param) ([^:]+? )?([^:]+?):", cvt, line)
line = re.sub(r"^:(kwtype|type) ([^:]+? )?([^:]+?):", secondary_cvt, line)
line = re.sub(
r"^:(kwtype|type) ([^:]+? )?([^:]+?):", secondary_cvt, line
)
return line

if what in ("function", "method", "class"):
Expand Down Expand Up @@ -383,27 +393,11 @@ def build_index(app, doctree):
doc_entries = entries[docname]
_indexentries(app.env)[docname].extend(doc_entries)

if LooseVersion(__version__) >= LooseVersion("4.0.0"):
for entry in doc_entries:
sing, desc, ref, extra = entry[:4]
app.env.domains["py"].data["objects"][ref] = ObjectEntry(
docname, ref, "parameter", False
)
elif LooseVersion(__version__) >= LooseVersion("3.0.0"):
for entry in doc_entries:
sing, desc, ref, extra = entry[:4]
app.env.domains["py"].data["objects"][ref] = ObjectEntry(
docname,
ref,
"parameter",
)
else:
for entry in doc_entries:
sing, desc, ref, extra = entry[:4]
app.env.domains["py"].data["objects"][ref] = (
docname,
"parameter",
)
for entry in doc_entries:
sing, desc, ref, extra = entry[:4]
app.env.domains["py"].data["objects"][ref] = ObjectEntry(
docname, ref, "parameter", False
)

_indexentries(app.env).pop("_sphinx_paramlinks_index")

Expand Down

0 comments on commit 885a7a7

Please sign in to comment.