{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, # build-system flit-core, # dependencies docutils, jinja2, markdown-it-py, mdit-py-plugins, pyyaml, sphinx, typing-extensions, # tests beautifulsoup4, defusedxml, pytest-param-files, pytest-regressions, pytestCheckHook, sphinx-pytest, }: buildPythonPackage (finalAttrs: { pname = "myst-parser"; version = "5.0.0"; pyproject = true; disabled = pythonOlder "3.11"; src = fetchFromGitHub { owner = "executablebooks"; repo = "myst-parser"; tag = "v${finalAttrs.version}"; hash = "sha256-0lGejdGVVvZar3sPBbvThXzJML7PcR5+shyDHTTtVEY="; }; build-system = [ flit-core ]; pythonRelaxDeps = [ "markdown-it-py" ]; dependencies = [ docutils jinja2 markdown-it-py mdit-py-plugins pyyaml sphinx typing-extensions ]; nativeCheckInputs = [ beautifulsoup4 defusedxml pytest-param-files pytest-regressions pytestCheckHook sphinx-pytest ] ++ markdown-it-py.optional-dependencies.linkify; disabledTestPaths = [ # outdated sphinx fixtures "tests/test_renderers/test_fixtures_sphinx.py" ]; pythonImportsCheck = [ "myst_parser" ]; meta = { description = "Sphinx and Docutils extension to parse MyST"; homepage = "https://myst-parser.readthedocs.io/"; changelog = "https://raw.githubusercontent.com/executablebooks/MyST-Parser/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ loicreynier ]; }; })