-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathpyproject.toml
136 lines (117 loc) · 3.4 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
# build-system
# - ref: https://peps.python.org/pep-0517/
#
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
# project
# - ref 1: https://peps.python.org/pep-0621/
# - ref 2: https://hatch.pypa.io/latest/config/metadata/#project-metadata
#
[project]
name = "pytest-jupyterhub"
description = "A reusable JupyterHub pytest plugin"
readme = "README.md"
requires-python = ">=3.8"
license = {file = "LICENSE"}
keywords = ["jupyterhub", "pytest", "plugin"]
authors = [
{name = "Jupyter Contributors", email = "[email protected]"},
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python :: 3",
"Framework :: Pytest"
]
# Lists the packages and pins them to a version that your project depends on
dependencies = [
# NOTE: If lower bounds are updated, also update our test for the lower
# bounds in .github/workflows/test.yaml.
"jupyterhub>=2.0.0",
"pytest",
"pytest-asyncio",
"jupyter_server"
]
dynamic = ["version"]
# Lists the packages and pins them to a version that the tests in your project depend on
[project.optional-dependencies]
test = [
"sqlalchemy==1.*",
"pytest>=7.2.0",
"pytest-cov>=4.0.0",
"pytest-asyncio>=0.20.3"
]
[project.urls]
Documentation = "https://pytest-jupyterhub.readthedocs.io"
Source = "https://github.com/jupyterhub/pytest-jupyterhub"
Issues = "https://github.com/jupyterhub/pytest-jupyterhub/issues"
# hatch ref: https://hatch.pypa.io/latest/
#
[tool.hatch.version]
path = "pytest_jupyterhub/_version.py"
# autoflake is used for autoformatting Python code
#
# ref: https://github.com/PyCQA/autoflake#readme
#
[tool.autoflake]
ignore-init-module-imports = true
remove-all-unused-imports = true
remove-duplicate-keys = true
remove-unused-variables = true
# black is used for autoformatting Python code
#
# ref: https://black.readthedocs.io/en/stable/
#
[tool.black]
skip-string-normalization = true
# target-version should be all supported versions, see
# https://github.com/psf/black/issues/751#issuecomment-473066811
target_version = [
"py38",
"py39",
"py310",
"py311",
]
# isort is used for autoformatting Python code
#
# ref: https://pycqa.github.io/isort/
#
[tool.isort]
profile = "black"
# pytest is used for running Python based tests
#
# ref: https://docs.pytest.org/en/stable/
#
[tool.pytest.ini_options]
addopts = "--verbose --color=yes --durations=10"
asyncio_mode = "auto"
# Ignore thousands of tests in dependencies installed in a virtual environment
norecursedirs = "lib lib64"
# 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]
github_url = "https://github.com/jupyterhub/pytest-jupyterhub"
[tool.tbump.version]
current = "0.1.1.dev"
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}"
[[tool.tbump.file]]
src = "pytest_jupyterhub/_version.py"
# specify project entrypoints to make each plugin discoverable by pytest
# ref: https://docs.pytest.org/en/latest/how-to/writing_plugins.html#making-your-plugin-installable-by-others
[project.entry-points.pytest11]
jupyterhub-spawners-plugin = "pytest_jupyterhub.jupyterhub_spawners"