-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
133 lines (119 loc) · 3.61 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
[project]
name = "myst-nb-json"
authors = [
{name = "Alexandrov Team, EMBL", email = "[email protected]"},
{name = "Andreas Eisenbarth", email = "[email protected]"},
]
description = "A MIME-type plugin for rendering JSON output from Jupyter notebooks to HTML"
keywords = ["docutils", "sphinx", "json"]
requires-python = ">=3.9"
classifiers = [
"Development Status :: 4 - Beta",
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Text Processing :: Markup",
]
dependencies = [
"docutils",
"myst-nb>=1.0.0",
]
license = { text = "MIT" }
dynamic = ["version", "readme"]
[project.optional-dependencies]
dev = [
"mypy>=1.8.0",
"pre-commit>=3.6.0",
"ruff>=0.1.14",
]
docs = [
"docutils>=0.21.2",
"ipython>=8.12.0",
"myst-nb>=1.0.0",
"pydantic>=2.0",
"Sphinx>=7.2.6",
"sphinx-book-theme>=1.1.3",
]
test = [
"ipython>=8.12.0",
"pytest~=7.1",
"pytest-cov>=5.0.0",
"pytest-regressions>=2.5.0",
"selenium~=4.22",
"Sphinx[test]>=7.2.6", # For test dependencies like defusedxml
]
type-hints = [
"types-docutils>=0.21.0.20240423",
]
[project.entry-points."myst_nb.mime_renderers"]
application_json = "myst_nb_json:JsonMimeRenderPlugin"
[project.urls]
homepage = "https://github.com/aeisenbarth/myst-nb-json/"
repository = "https://github.com/aeisenbarth/myst-nb-json.git"
documentation = "https://aeisenbarth.github.io/myst-nb-json/"
issues = "https://github.com/aeisenbarth/myst-nb-json/issues/"
changelog = "https://github.com/aeisenbarth/myst-nb-json/main/CHANGELOG.md"
[tool.black]
line-length = 100
target-version = ['py310']
skip-magic-trailing-comma = true
include = '\.(pyi?|ipynb)$'
exclude = '''
^/(
(
\.eggs # exclude a few common directories in the
| \.git # root of the project
| \.mypy_cache
| \.pytest_cache
| build
| dist
)
)/
'''
[tool.isort]
combine_as_imports = true
filter_files = true
line_length = 100
profile = "black"
[[tool.mypy.overrides]]
module = [
"myst_nb.core.render",
]
ignore_missing_imports = true
[tool.pdm]
distribution = true
[tool.pdm.version]
source = "file"
path = "myst_nb_json/__init__.py"
[tool.pdm.scripts]
ruff_check = { cmd = "ruff check myst_nb_json/ docs/ tests/" }
ruff_format_check = { cmd = "ruff format --check myst_nb_json/ docs/ tests/" }
mypy_check = { cmd = "mypy myst_nb_json/" }
lint = { composite = ["ruff_check", "ruff_format_check", "mypy_check"] }
ruff_fix = { cmd = "ruff check --fix-only myst_nb_json/ docs/ tests/" }
ruff_format = { cmd = "ruff format myst_nb_json/ docs/ tests/" }
format = { composite = ["ruff_fix", "ruff_format"] }
test = { cmd = "pytest --cov=myst_nb_json --cov-report=xml --cov-report=term-missing" }
docs = { cmd = "sphinx-build -b html docs/ docs/_build" }
[tool.pycln]
all = true
[tool.pytest.ini_options]
minversion = "6.0"
# CLI options: Show extra test summary for all except passed; quiet
addopts = "-ra --quiet --color=yes --code-highlight=yes"
# Directories to be searched for tests to speed up test collection
testpaths = ["tests"]
[tool.ruff]
line-length = 100
[tool.setuptools.dynamic]
version = {attr = "myst_nb_json.__version__"}
readme = {file = "README.md", content-type = "text/markdown"}