freebsd-ports/textproc/py-mkdocstrings-python/Makefile
Kai Knoblich 656e2aeca8 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.
2023-08-31 07:43:40 +02:00

33 lines
1.1 KiB
Makefile

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>