File: pyproject.toml

package info (click to toggle)
python-josepy 2.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 476 kB
  • sloc: python: 2,573; makefile: 27
file content (121 lines) | stat: -rw-r--r-- 3,224 bytes parent folder | download
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
# PEP-517 build

[build-system]
requires = ["poetry_core>=2.2.0"]
build-backend = "poetry.core.masonry.api"

[project]
name = "josepy"
version = "2.2.0"
license = "Apache-2.0"
license-files = ["LICENSE.txt"]
description = "JOSE protocol implementation in Python"
readme = "README.rst"
authors = [{ name = "Certbot Project", email = "certbot-dev@eff.org" }]
# python 3.9.2 is used as a lower bound here because newer versions of
# cryptography dropped support for python 3.9.0 and 3.9.1. see
# https://github.com/pyca/cryptography/pull/12045. when we drop support for
# python 3.9 altogether, this line can be changed to the simpler 'python = "^3.10"'.
# This should be kept in sync with the value of tool.poetry.dependencies.python below.
requires-python = ">=3.9.2"
dynamic = ["classifiers", "dependencies"]

[project.urls]
Homepage = "https://github.com/certbot/josepy"

# Poetry tooling configuration
[tool.poetry]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Intended Audience :: Developers",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    # Version specific classifiers are added automatically based on requires-python.
    # Except for 3.9 since the lower bound is 3.9.2 currently.
    "Programming Language :: Python :: 3.9",
    "Topic :: Internet :: WWW/HTTP",
    "Topic :: Security",
]
include = [
    "docs", "tests",
]

[tool.poetry.dependencies]
# This should be kept in sync with the value of project.requires-python above.
python = ">=3.9.2,<4.0"
# 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"
# >=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.group.dev.dependencies]
# coverage[toml] extra is required to read the coverage config from pyproject.toml
coverage = {version = ">=4.0", extras = ["toml"]}
mypy = "*"
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

# 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]
filterwarnings = [
    "error",
    # We ignore our own warning about dropping Python 3.9 support.
    "ignore:Python 3.9 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