forked from PrivateStorageio/ZKAPAuthorizer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.cfg
131 lines (120 loc) · 4.15 KB
/
setup.cfg
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
# Generally describe the project
[metadata]
# See https://packaging.python.org/guides/distributing-packages-using-setuptools/#name
# for requiremnts of a valid project name.
name = zero-knowledge-access-pass-authorizer
version = attr: _zkapauthorizer.__version__
description = A `Tahoe-LAFS`_ storage-system plugin which authorizes storage operations based on privacy-respecting tokens.
long_description = file: README.rst
keywords = tahoe-lafs, storage, privacy, cryptography
license = Apache 2.0
classifiers =
Framework :: Twisted
Programming Language :: Python :: 3
Programming Language :: Python :: 3.9
author = PrivateStorage.io Inc.
maintainer = PrivateStorage.io Inc.
home_page = https://private.storage/
author_email = [email protected]
platform = POSIX
[options]
# All of the source is in the src directory. The weird syntax is defining a
# dict with a key "" and a value "src".
package_dir =
=src
# Explicitly list our packages because the automatic finder can't deal with
# the plugins package we want to ship.
packages =
_zkapauthorizer
_zkapauthorizer.server
_zkapauthorizer.tests
twisted.plugins
install_requires =
# Pin attrs with `provides()` until we have a tahoe-lafs release
# that doesn't need it anymore. TODO: Remove that pin when tahoe-lafs
# 1.20 is out.
attrs <= 23.2.0
cattrs
zope.interface
eliot >= 1.11
aniso8601
# compose explicitly documents that it uses SemVer 2.0.0 for its version
# scheme.
compose ~= 1.0
python-challenge-bypass-ristretto
# The pip resolver sometimes finds treq's dependencies first and these are
# incompatible with Tahoe-LAFS'. So duplicate them here (the ones that
# have been observed to cause problems).
Twisted[tls,conch] >= 19.10.0
tahoe-capabilities >= 2022.9.1
# Tahoe has no stable Python API but we use its Python API so there's
# basically no wiggle room here. We use a tiny range that just covers
# what we test plus a little because our Nix packaging provides a
# Tahoe-LAFS with a .postNNN version.
tahoe-lafs >=1.18.0,<1.18.1
treq
pyutil
prometheus-client
# Include colorama as a dependency to help pip-compile deal with multiple
# platforms. In particular, tqdm depends on colorama only on Windows. By
# including it here, pip-compile will generate hashes (and install it) on
# all platforms. colorama and pywin32 are our only depdencies that are only
# required on some platforms; we can't include pywin32 here as it does not
# install cross-platform.
colorama
sqlparse
cbor2
# twisted-supporting websocket library (Tahoe, among others, already
# depend on this)
autobahn >= 21.11.1, != 22.5.1, != 22.4.2, != 22.4.1
[flake8]
# Enforce all pyflakes constraints, and also prohibit tabs for indentation.
# Reference:
# https://flake8.pycqa.org/en/latest/user/error-codes.html
# https://pycodestyle.pycqa.org/en/latest/intro.html#error-codes
# https://pypi.org/project/flake8-isort/#error-codes
# https://pypi.org/project/flake8-black/#flake8-validation-codes
select = F, W191, I, BLK
[mypy]
plugins = mypy_zope:plugin
strict = True
show_column_numbers = True
pretty = True
show_error_codes = True
[mypy-_zkapauthorizer.tests.test_tahoe]
disallow_subclassing_any = False
[mypy-_zkapauthorizer.tests.*]
disallow_untyped_calls = False
disallow_subclassing_any = False
[mypy-eliottree.*]
ignore_missing_imports = True
[mypy-testtools.*]
ignore_missing_imports = True
[mypy-treq.*]
ignore_missing_imports = True
[mypy-allmydata.*]
ignore_missing_imports = True
[mypy-fixtures.*]
ignore_missing_imports = True
[mypy-testresources.*]
ignore_missing_imports = True
[mypy-openapi_spec_validator.*]
ignore_missing_imports = True
[mypy-eliot.*]
ignore_missing_imports = True
[mypy-cbor2.*]
ignore_missing_imports = True
[mypy-prometheus_client.*]
ignore_missing_imports = True
[mypy-autobahn.*]
ignore_missing_imports = True
[mypy-challenge_bypass_ristretto.*]
ignore_missing_imports = True
[mypy-aniso8601.*]
ignore_missing_imports = True
[mypy-pyutil.*]
ignore_missing_imports = True
[mypy-sqlparse.*]
ignore_missing_imports = True
[mypy-compose.*]
ignore_missing_imports = True