summaryrefslogtreecommitdiffstats
path: root/pyproject.toml
diff options
context:
space:
mode:
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml110
1 files changed, 110 insertions, 0 deletions
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..880a4fd
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,110 @@
+[build-system]
+requires = ["flit_core >=3.4,<4"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "myst-parser"
+dynamic = ["version", "description"]
+authors = [{name = "Chris Sewell", email = "chrisj_sewell@hotmail.com"}]
+readme = "README.md"
+license = {file = "LICENSE"}
+classifiers = [
+ "Development Status :: 4 - Beta",
+ "Framework :: Sphinx :: Extension",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: MIT License",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3 :: Only",
+ "Programming Language :: Python :: 3.7",
+ "Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: Implementation :: CPython",
+ "Programming Language :: Python :: Implementation :: PyPy",
+ "Topic :: Software Development :: Libraries :: Python Modules",
+ "Topic :: Text Processing :: Markup",
+]
+keywords = [
+ "markdown",
+ "lexer",
+ "parser",
+ "development",
+ "docutils",
+ "sphinx",
+]
+requires-python = ">=3.7"
+dependencies = [
+ "docutils>=0.15,<0.20",
+ "jinja2", # required for substitutions, but let sphinx choose version
+ "markdown-it-py>=1.0.0,<3.0.0",
+ "mdit-py-plugins~=0.3.1",
+ "pyyaml",
+ "sphinx>=4,<6",
+ "typing-extensions",
+]
+
+[project.urls]
+Homepage = "https://github.com/executablebooks/MyST-Parser"
+Documentation = "https://myst-parser.readthedocs.io"
+
+[project.optional-dependencies]
+code_style = ["pre-commit~=2.12"]
+# for use with "linkify" extension
+linkify = ["linkify-it-py~=1.0"]
+# Note: This is only required for internal use
+rtd = [
+ "ipython",
+ "sphinx-book-theme",
+ "sphinx-design",
+ "sphinxext-rediraffe~=0.2.7",
+ "sphinxcontrib.mermaid~=0.7.1",
+ "sphinxext-opengraph~=0.6.3",
+]
+testing = [
+ "beautifulsoup4",
+ "coverage[toml]",
+ "pytest>=6,<7",
+ "pytest-cov",
+ "pytest-regressions",
+ "pytest-param-files~=0.3.4",
+ "sphinx-pytest",
+ "sphinx<5.2", # TODO 5.2 changes the attributes of desc/desc_signature nodes
+]
+
+[project.scripts]
+myst-anchors = "myst_parser.cli:print_anchors"
+myst-docutils-html = "myst_parser.parsers.docutils_:cli_html"
+myst-docutils-html5 = "myst_parser.parsers.docutils_:cli_html5"
+myst-docutils-latex = "myst_parser.parsers.docutils_:cli_latex"
+myst-docutils-xml = "myst_parser.parsers.docutils_:cli_xml"
+myst-docutils-pseudoxml = "myst_parser.parsers.docutils_:cli_pseudoxml"
+
+[tool.flit.module]
+name = "myst_parser"
+
+[tool.flit.sdist]
+exclude = [
+ "docs/",
+ "tests/",
+]
+
+[tool.isort]
+profile = "black"
+known_first_party = ["myst_parser", "tests"]
+known_third_party = ["docutils", "markdown_it", "sphinx"]
+# Group first party and local folder imports together
+no_lines_before = "LOCALFOLDER"
+
+[tool.mypy]
+show_error_codes = true
+check_untyped_defs = true
+strict_equality = true
+no_implicit_optional = true
+warn_unused_ignores = true
+
+[[tool.mypy.overrides]]
+module = ["docutils.*", "yaml.*"]
+ignore_missing_imports = true
+
+[tool.coverage.run]
+omit = ["*/_docs.py"]