Codebase list jupyter-client / HEAD pyproject.toml
HEAD

Tree @HEAD (Download .tar.gz)

pyproject.toml @HEADraw · history · blame

[build-system]
requires = ["hatchling>=0.25"]
build-backend = "hatchling.build"

[project]
name = "jupyter_client"
version = "7.4.9"
description = "Jupyter protocol implementation and client libraries"
keywords = [ "Interactive", "Interpreter", "Shell", "Web",]
classifiers = [
    "Framework :: Jupyter",
    "Intended Audience :: Developers",
    "Intended Audience :: Education",
    "Intended Audience :: System Administrators",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: BSD License",
    "Operating System :: OS Independent",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.7",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
     "Programming Language :: Python :: 3.10",
]
requires-python = ">=3.7"
dependencies = [
    "entrypoints",
    "jupyter_core>=4.9.2",
    "nest-asyncio>=1.5.4",
    "python-dateutil>=2.8.2",
    "pyzmq>=23.0",
    "tornado>=6.2",
    "traitlets",
]

[[project.authors]]
name = "Jupyter Development Team"
email = "jupyter@googlegroups.com"

[project.readme]
file = "README.md"
content-type = "text/markdown"

[project.license]
file = "COPYING.md"

[project.urls]
Homepage = "https://jupyter.org"

[project.optional-dependencies]
test = [
    "codecov",
    "coverage",
    "ipykernel>=6.12",
    "ipython",
    "mypy",
    "pre-commit",
    "pytest",
    "pytest-asyncio>=0.18",
    "pytest-cov",
    "pytest-timeout",
]
doc = [
    "ipykernel",
    "myst-parser",
    "sphinx>=1.3.6",
    "sphinx_rtd_theme",
    "sphinxcontrib_github_alt",
]

[project.scripts]
jupyter-kernelspec = "jupyter_client.kernelspecapp:KernelSpecApp.launch_instance"
jupyter-run = "jupyter_client.runapp:RunApp.launch_instance"
jupyter-kernel = "jupyter_client.kernelapp:main"

[project.entry-points."jupyter_client.kernel_provisioners"]
local-provisioner = "jupyter_client.provisioning:LocalProvisioner"

[tool.black]
line-length = 100
skip-string-normalization = true
target_version = [
    "py37",
    "py38",
    "py39",
    "py310",
]

[tool.jupyter-releaser]
skip = ["check-links"]

[tool.check-manifest]
ignore = [".mailmap", "*.yml", "*.yaml"]

[tool.tbump.version]
current = "7.4.9"
regex = '''
  (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)
  ((?P<channel>a|b|rc|.dev)(?P<release>\d+))?
'''

[tool.tbump.git]
message_template = "Bump to {new_version}"
tag_template = "v{new_version}"

[[tool.tbump.file]]
src = "jupyter_client/_version.py"

[[tool.tbump.file]]
src = "pyproject.toml"

[tool.pytest.ini_options]
addopts = "-raXs --durations 10 --color=yes --doctest-modules"
testpaths = [
    "jupyter_client/tests/"
]
timeout = 300
# Restore this setting to debug failures
# timeout_method = "thread"
asyncio_mode = "auto"
filterwarnings= [
  # Fail on warnings
  "error",

  # We need to handle properly closing loops as part of https://github.com/jupyter/jupyter_client/issues/755.
  "ignore:unclosed <socket.socket:ResourceWarning",
  "ignore:unclosed event loop:ResourceWarning",

  # Workaround for https://github.com/tornadoweb/tornado/issues/3106
  # (To be fixed in Tornado 6.2)
  "ignore:There is no current event loop:DeprecationWarning",

  # ZMQ uses Future internally, which raises a DeprecationWarning
  # When there is no loop running.
  # We could eventually find a way to make sure these are only created
  # when there is a running event loop.
  "ignore:There is no current event loop:DeprecationWarning:zmq",

  # Workaround for jupyter_core warning.
  "module:Jupyter is migrating its paths to use standard platformdirs:DeprecationWarning",

  "ignore:zmq.tests.BaseZMQTestCase is deprecated in pyzmq 25:DeprecationWarning",
]

[tool.mypy]
check_untyped_defs = true
disallow_any_generics = false
disallow_incomplete_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
no_implicit_reexport = false
pretty = true
show_error_context = true
show_error_codes = true
strict_equality = true
strict_optional = true
warn_unused_configs = true
warn_redundant_casts = true
warn_return_any = false
warn_unused_ignores = true

[[tool.mypy.overrides]]
module = [
    "traitlets.*",
    "jupyter_core.*",
    "ipykernel",
    "entrypoints"
]
ignore_missing_imports = true