/
pyproject.toml
124 lines (106 loc) · 3.37 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
# PEP-517 build
[build-system]
requires = ["poetry_core>=1.0.8"]
build-backend = "poetry.core.masonry.api"
# Poetry tooling configuration
[tool.poetry]
name = "josepy"
version = "1.14.0.dev0"
description = "JOSE protocol implementation in Python"
license = "Apache License 2.0"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"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",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Security",
]
homepage = "https://github.com/certbot/josepy"
authors = ["Certbot Project <certbot-dev@eff.org>"]
readme = "README.rst"
include = [
"CHANGELOG.rst",
"CONTRIBUTING.md",
"docs", "tests",
]
[tool.poetry.dependencies]
# This should be kept in sync with the value of target-version in our
# configuration for black below.
python = "^3.7"
# load_pem_private/public_key (>=0.6)
# rsa_recover_prime_factors (>=0.8)
# add sign() and verify() to asymetric keys (RSA >=1.4, ECDSA >=1.5)
cryptography = ">=1.5"
# Connection.set_tlsext_host_name (>=0.13)
pyopenssl = ">=0.13"
# >=4.3.0 is needed for Python 3.10 support
sphinx = {version = ">=4.3.0", optional = true}
sphinx-rtd-theme = {version = ">=1.0", optional = true}
[tool.poetry.dev-dependencies]
# coverage[toml] extra is required to read the coverage config from pyproject.toml
coverage = {version = ">=4.0", extras = ["toml"]}
# importlib_resources 1.3 was the version included in Python 3.9 which
# introduced the functionality we are using. See
# https://github.com/python/importlib_resources/tree/7f4fbb5ee026d7610636d5ece18b09c64aa0c893#compatibility.
importlib_resources = {version = ">=1.3", python = "<3.9"}
mypy = "*"
types-pyOpenSSL = "*"
types-pyRFC3339 = "*"
types-requests = "*"
types-setuptools = "*"
typing-extensions = "*"
pre-commit = "*"
pytest = ">=2.8.0"
pytest-cov = "*"
tox = "*"
twine = "*"
[tool.poetry.extras]
docs = [
"sphinx",
"sphinx-rtd-theme",
]
[tool.poetry.scripts]
jws = "josepy.jws:CLI.run"
# Black tooling configuration
[tool.black]
line-length = 100
# This should be kept in sync with the version of Python specified in poetry's
# dependencies above.
target-version = ['py37', 'py38', 'py39', 'py310', 'py311', 'py312']
# Mypy tooling configuration
[tool.mypy]
ignore_missing_imports = true
warn_unused_ignores = true
show_error_codes = true
disallow_untyped_defs = true
# Pytest tooling configuration
[tool.pytest.ini_options]
# We also ignore our own deprecation warning about dropping Python 3.7 support.
filterwarnings = ["error", "ignore:Python 3.7 support will be dropped:DeprecationWarning"]
norecursedirs = "*.egg .eggs dist build docs .tox"
# Isort tooling configuration
[tool.isort]
combine_as_imports = false
default_section = "THIRDPARTY"
known_first_party = "josepy"
line_length = 79
profile = "black"
# Coverage tooling configuration
[tool.coverage.run]
branch = true
source = ["josepy"]
[tool.coverage.paths]
source = [
".tox/*/lib/python*/site-packages/josepy",
".tox/pypy*/site-packages/josepy",
]
[tool.coverage.report]
show_missing = true