forked from jupyterhub/jupyterhub
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
184 lines (158 loc) · 4.91 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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
# PEP 621 build info
[build-system]
requires = ["setuptools>=61", "setuptools-scm"]
build-backend = "setuptools.build_meta"
# Project metadata
# ref: https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
[project]
name = "jupyterhub"
version = "5.2.0.dev"
dynamic = ["readme", "dependencies"]
description = "JupyterHub: A multi-user server for Jupyter notebooks"
authors = [
{ name = "Jupyter Development Team", email = "[email protected]" },
]
keywords = ["Interactive", "Interpreter", "Shell", "Web", "Jupyter"]
license = { text = "BSD-3-Clause" }
requires-python = ">=3.8"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Operating System :: POSIX",
"Framework :: Jupyter",
]
[project.urls]
Homepage = "https://hub.jupyter.org"
Documentation = "https://jupyterhub.readthedocs.io"
Funding = "https://jupyter.org/about"
Source = "https://github.com/jupyterhub/jupyterhub"
Tracker = "https://github.com/jupyterhub/jupyterhub/issues"
[project.optional-dependencies]
# note: updating test dependencies here
# may require matching updates in ci/oldest-dependencies/
test = [
"beautifulsoup4[html5lib]",
"coverage",
# cryptography is an optional dependency for jupyterhub that we test
# against by default
"cryptography",
"jsonschema",
"jupyterlab>=3",
"mock",
# nbclassic provides the '/tree/' handler that we tests against in
# the test test_nbclassic_control_panel.
"nbclassic",
"pytest>=3.3",
"pytest-asyncio>=0.17,!=0.23.*",
"pytest-cov",
"pytest-rerunfailures",
"requests-mock",
"playwright",
"virtualenv",
]
[project.scripts]
jupyterhub = "jupyterhub.app:main"
jupyterhub-singleuser = "jupyterhub.singleuser:main"
[project.entry-points."jupyterhub.authenticators"]
default = "jupyterhub.auth:PAMAuthenticator"
pam = "jupyterhub.auth:PAMAuthenticator"
dummy = "jupyterhub.auth:DummyAuthenticator"
null = "jupyterhub.auth:NullAuthenticator"
[project.entry-points."jupyterhub.proxies"]
default = "jupyterhub.proxy:ConfigurableHTTPProxy"
configurable-http-proxy = "jupyterhub.proxy:ConfigurableHTTPProxy"
[project.entry-points."jupyterhub.spawners"]
default = "jupyterhub.spawner:LocalProcessSpawner"
localprocess = "jupyterhub.spawner:LocalProcessSpawner"
simple = "jupyterhub.spawner:SimpleLocalProcessSpawner"
[tool.setuptools]
zip-safe = false
license-files = ["COPYING.md"]
include-package-data = true
[tool.setuptools.packages.find]
where = [""]
include = ["jupyterhub*"]
# dynamic sources of metadata in other files
[tool.setuptools.dynamic]
readme = { file = "README.md", content-type = "text/markdown" }
dependencies = { file = "requirements.txt" }
# setuptools_scm needs a section to be present
[tool.setuptools_scm]
# we don't actually use setuptools_scm for versions,
# only the file-finder
fallback_version = "0.0.0"
# declarative data-files doesn't quite work right
# this is still in setup.py:get_data_files
# [tool.setuptools.data-files]
# "share/jupyterhub" = ["share/jupyterhub/**"]
# ruff is our linter and formatter
[tool.ruff.format]
quote-style = "preserve"
[tool.ruff.lint]
ignore = [
"F841", # unused variable
]
select = [
"E9", # syntax
"I", # isort
"UP", # pyupgrade
"F", # flake8
]
# djlint lints/formats our jinja templates
# https://djlint.com/docs/configuration/
[tool.djlint]
indent = 2
# ignore often-incorrect lint
# H006: image height/width attributes
# ignore style lint that formatter doesn't catch
# H008: double-quotes
# H029: form method case
ignore = "H006,H008,H021,H029"
use_gitignore = true
format_js = true
[tool.djlint.js]
indent_size = 2
# tbump is used to simplify and standardize the release process when updating
# the version, making a git commit and tag, and pushing changes.
#
# ref: https://github.com/your-tools/tbump#readme
#
[tool.tbump]
# Uncomment this if your project is hosted on GitHub:
github_url = "https://github.com/jupyterhub/jupyterhub"
[tool.tbump.version]
current = "5.2.0.dev"
# Example of a semver regexp.
# Make sure this matches current_version before
# using tbump
regex = '''
(?P<major>\d+)
\.
(?P<minor>\d+)
\.
(?P<patch>\d+)
(?P<pre>((a|b|rc)\d+)|)
\.?
(?P<dev>(?<=\.)dev\d*|)
'''
[tool.tbump.git]
message_template = "Bump to {new_version}"
tag_template = "{new_version}"
# For each file to patch, add a [[tool.tbump.file]] config
# section containing the path of the file, relative to the
# pyproject.toml location.
[[tool.tbump.file]]
src = "pyproject.toml"
search = 'version = "{current_version}"'
[[tool.tbump.file]]
src = "jupyterhub/_version.py"
version_template = '({major}, {minor}, {patch}, "{pre}", "{dev}")'
search = "version_info = {current_version}"
[[tool.tbump.file]]
src = "docs/source/_static/rest-api.yml"
search = "version: {current_version}"