mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-12 04:23:01 +00:00
179 lines
4.7 KiB
TOML
179 lines
4.7 KiB
TOML
# 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.0.0.dev"
|
|
dynamic = ["readme", "dependencies"]
|
|
description = "JupyterHub: A multi-user server for Jupyter notebooks"
|
|
authors = [
|
|
{ name = "Jupyter Development Team", email = "jupyter@googlegroups.com" },
|
|
]
|
|
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]
|
|
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",
|
|
"pytest-cov",
|
|
"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" }
|
|
|
|
# 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/**"]
|
|
|
|
|
|
# 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
|
|
|
|
|
|
# isort is used for autoformatting Python code
|
|
#
|
|
# ref: https://pycqa.github.io/isort/
|
|
#
|
|
[tool.isort]
|
|
profile = "black"
|
|
|
|
|
|
# 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 = [
|
|
"py37",
|
|
"py38",
|
|
"py39",
|
|
"py310",
|
|
]
|
|
|
|
|
|
# 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.0.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}"
|