ports/textproc/py-mkdocstrings-python-legacy/Makefile
Kai Knoblich e1c6e80783 textproc/py-mkdocstrings-python-legacy: New port
This Python handler for the "mkdocstrings" package uses PyTkDocs
(= textproc/py-pytkdocs) 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 pytkdocs.

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

* Recursive documentation of Python objects: just use the module
  dotted-path as 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.
2023-08-31 07:44:11 +02:00

31 lines
1 KiB
Makefile

PORTNAME= mkdocstrings-python-legacy
DISTVERSION= 0.2.3
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= kai@FreeBSD.org
COMMENT= Legacy Python handler for mkdocstrings
WWW= https://github.com/mkdocstrings/python-legacy
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pdm-pep517>0:devel/py-pdm-pep517@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytkdocs>=0.14:textproc/py-pytkdocs@${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' PYTHONLEGACY option). It was
# therefore # moved to TEST_DEPENDS to at least allow the test suite to run.
USES= python
USE_PYTHON= autoplist pep517 pytest
PYTEST_IGNORED_TESTS= render_themes
TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}mkdocstrings-python
NO_ARCH= yes
.include <bsd.port.mk>