-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathpyproject.toml
122 lines (100 loc) · 2.65 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
# hatch is our build and development tool.
[project]
name = "pidgy"
description = "literate computing in python"
readme = "README.md"
requires-python = ">=3.7"
license = "BSD-3-Clause"
keywords = []
authors = [{ name = "tonyfast", email = "[email protected]" }]
classifiers = [
"Development Status :: 4 - Beta",
"Natural Language :: English",
"Framework :: IPython",
"Framework :: Jupyter",
"Programming Language :: Python",
"License :: OSI Approved :: BSD License",
]
dependencies = ["midgy", "jinja2", "IPython", "importnb"]
dynamic = ["version"] # uses hatch-vcs
[project.optional-dependencies]
docs = ["mkdocs-material", "ruamel.yaml", "nbconvert", "mkdocstrings[python]"]
lite = [
"doit",
"jupyterlite",
"jupyterlab-webrtc-docprovider",
"jupyterlab-deck",
"jupyter-videochat",
"jupyterlab-fonts",
"jupyterlab_execute_time",
"jupyterlab-recents",
"jupyterlab-markup",
"matplotlib",
"ipympl",
"cairosvg",
"pillow",
"pandas",
"retrolab",
"pyyaml",
"depfinder",
"requests_cache",
"ipywidgets",
"hatch",
"pkginfo"
]
[project.entry-points."mkdocs.plugins"]
pidgy = "pidgy.ext.mkdocs:Notebooks"
[project.scripts]
pidgy = "pidgy.__main__:main"
[project.urls]
Documentation = "https://github.com/deathbeds/pidgy#readme"
Issues = "https://github.com/deathbeds/pidgy/issues"
Source = "https://github.com/deathbeds/pidgy"
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
# install the kernelspec
[tool.hatch.build.targets.wheel.shared-data]
"src/kernelspec" = "share/jupyter/kernels/pidgy"
# versioning
[tool.hatch.version]
source = "vcs"
[tool.hatch.build.hooks.vcs]
version-file = "src/pidgy/_version.py"
# test matrix
[tool.hatch.envs.test]
description = "pidgy tests"
dependencies = ["pytest", "pytest-cov", "nbval", "pandas", "ipywidgets", "matplotlib"]
[tool.hatch.envs.test.scripts]
cov = "pytest"
[tool.pytest.ini_options]
addopts = "-pno:warnings -p no:importnb --ignore lite --cov pidgy --cov-report term --cov-report html --nbval-current-env --nbval --nbval-sanitize-with sanitize.cfg"
[tool.coverage.report]
omit = ["docs/*"]
[tool.coverage.html]
directory = "docs/coverage"
# documentation
[tool.hatch.envs.docs]
features = ["docs"]
[tool.hatch.envs.docs.scripts]
build = "mkdocs build"
serve = "mkdocs serve"
[tool.hatch.envs.format.scripts]
code = """
isort .
black .
"""
[tool.hatch.envs.lite]
description = "build jupyterlite"
features = ["lite"]
python = "3.10"
[tool.hatch.envs.lite.scripts]
build = """doit lite"""
# formatting cause linting sucks
[tool.isort]
profile = "black"
[tool.black]
line_length = 100
[tool.hatch.envs.format]
skip-install = true
dependencies = ["black", "isort"]