-
Notifications
You must be signed in to change notification settings - Fork 7
/
setup.cfg
128 lines (117 loc) · 3.98 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
# 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 =
attrs
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.17.1,<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