1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-19 00:13:33 +00:00

textproc/py-mkdocstrings-python: New port

This Python handler for the "mkdocstrings" package uses Griffe
(= textproc/py-griffe) to collect documentation from Python source code.

Features:

* Data collection from source code: collection of the object-tree and
  the docstrings is done thanks to Griffe.

* Support for type annotations: Griffe collects your type annotations
  and mkdocstrings uses them to display parameter types or return types.

* Recursive documentation of Python objects: just use the module
  dotted-path as an identifier, and you get the full module docs. You
  don't need to inject documentation for each class, function, etc.

* Support for documented attributes: attributes (variables) followed by
  a docstring (triple-quoted string) will be recognized by Griffe in
  modules, classes and even in __init__ methods.

* Multiple docstring-styles support: common support for Google-style,
  Numpydoc-style, and Sphinx-style docstrings. See Griffe's
  documentation on docstrings support.
This commit is contained in:
Kai Knoblich 2023-08-31 07:22:23 +02:00
parent 556cd1f1f3
commit 656e2aeca8
4 changed files with 59 additions and 0 deletions

View File

@ -1438,6 +1438,7 @@
SUBDIR += py-mkdocs-simple-hooks
SUBDIR += py-mkdocstrings
SUBDIR += py-mkdocstrings-crystal
SUBDIR += py-mkdocstrings-python
SUBDIR += py-morse3
SUBDIR += py-mwparserfromhell
SUBDIR += py-myst-parser

View File

@ -0,0 +1,33 @@
PORTNAME= mkdocstrings-python
DISTVERSION= 1.6.0
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= mkdocstrings_python-${DISTVERSION}
MAINTAINER= kai@FreeBSD.org
COMMENT= Python handler for mkdocstrings
WWW= https://github.com/mkdocstrings/python
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pdm-backend>0:devel/py-pdm-backend@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}griffe>=0.35:textproc/py-griffe@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mkdocstrings>0:textproc/py-mkdocstrings@${PY_FLAVOR}
# textproc/py-mkdocstrings belongs to RUN_DEPENDS as well but would cause
# a circular dependency (via py-mkdocstrings' PYTHON option). It was therefore
# moved to TEST_DEPENDS to at least allow the test suite to run.
USES= python
USE_PYTHON= autoplist pep517 pytest
# These tests relies on files that aren't available in the sdist
PYTEST_IGNORED_TESTS= test_render_themes test_render_docstring
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}mkdocstrings-python-legacy
NO_ARCH= yes
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1693377377
SHA256 (mkdocstrings_python-1.6.0.tar.gz) = 6164ccaa6e488abc2a8fbccdfd1f21948c2c344d3f347847783a5d1c6fa2bfbf
SIZE (mkdocstrings_python-1.6.0.tar.gz) = 29909

View File

@ -0,0 +1,22 @@
This Python handler for the "mkdocstrings" package uses Griffe
(= textproc/py-griffe) to collect documentation from Python source code.
Features:
* Data collection from source code: collection of the object-tree and the
docstrings is done thanks to Griffe.
* Support for type annotations: Griffe collects your type annotations and
mkdocstrings uses them to display parameter types or return types.
* Recursive documentation of Python objects: just use the module dotted-path as
an identifier, and you get the full module docs. You don't need to inject
documentation for each class, function, etc.
* Support for documented attributes: attributes (variables) followed by a
docstring (triple-quoted string) will be recognized by Griffe in modules,
classes and even in __init__ methods.
* Multiple docstring-styles support: common support for Google-style,
Numpydoc-style, and Sphinx-style docstrings. See Griffe's documentation on
docstrings support.