-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
157 lines (147 loc) · 5.46 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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
[tool.poetry]
name = "dcicsnovault"
version = "11.23.0"
description = "Storage support for 4DN Data Portals."
authors = ["4DN-DCIC Team <[email protected]>"]
license = "MIT"
readme = "README.rst"
homepage = "https://github.com/4dn-dcic/snovault"
repository = "https://github.com/4dn-dcic/snovault"
documentation = "https://github.com/4dn-dcic/snovault"
packages = [
{ include="snovault", from="." }
]
classifiers = [
# How mature is this project? Common values are
# 3 - Alpha
# 4 - Beta
# 5 - Production/Stable
'Development Status :: 4 - Beta',
# Indicate who your project is intended for
'Intended Audience :: Developers',
'Intended Audience :: Science/Research',
'Framework :: Pyramid',
# Pick your license as you wish (should match "license" above)
'License :: OSI Approved :: MIT License',
'Topic :: Database :: Database Engines/Servers',
# Specify the Python versions you support here. In particular, ensure
# that you indicate whether you support Python 2, Python 3 or both.
'Programming Language :: Python :: 3',
'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'
]
[tool.poetry.dependencies]
python = ">=3.9,<3.13"
aws_requests_auth = "^0.4.1"
boto3 = "^1.34.136"
botocore = "^1.34.136"
elasticsearch = "7.13.4" # versions >= 7.14.0 lock out AWS ES
elasticsearch_dsl = "^7.4.0"
#python-3.12 elasticsearch = "^7.17.9"
#python-3.12 elasticsearch_dsl = "^7.4.1"
dcicutils = "^8.14.3"
future = "^0.18.3"
html5lib = ">=1.1" # experimental, should be OK now that we're not using moto server
humanfriendly = "^1.44.9"
netaddr = ">=0.8.0,<1"
numpy = "^1.26.4"
passlib = "^1.7.4"
pillow = "^9.5.0"
pmdarima = "^2.0.4"
psutil = "^5.9.0"
psycopg2-binary = "^2.9.1"
PyBrowserID = ">=0.10.0,<1"
pyjwt = "^2.6.0"
#pyramid = "^2.0.2"
#pyramid = "1.10.4"
pyramid = "1.10.8"
pyramid-multiauth = ">=0.9.0,<1"
pyramid-retry = "^1.0"
pyramid-tm = "^2.5"
pyramid-translogger = "^0.1"
python-dateutil = "^2.8.2"
python_magic = ">=0.4.27"
pytz = ">=2021.3"
rdflib = "^4.2.2"
rdflib-jsonld = ">=0.5.0,<1.0.0"
redis = "^4.5.1"
rutter = ">=0.3,<1"
simplejson = "^3.17.6"
SPARQLWrapper = "^1.8.5"
SQLAlchemy = "^1.4.41" # portals pin 1.4.41, but we don't. should it matter? -kmp 6-Mar-2023
# Our use of structlog is pretty vanilla, so we should be OK with changes across the 18-19 major version boundary.
structlog = ">=19.2.0,<20"
subprocess_middleware = ">=0.3,<1"
# TODO: Investigate whether a major version upgrade is allowable for 'transaction'.
transaction = "^3.0.1"
# TODO: Investigate whether a major version upgrade is allowable for 'venusian'.
venusian = "^3.1.0"
WebOb = "^1.8.7"
WebTest = "^2.0.35"
WSGIProxy2 = "0.4.2"
xlrd = "^1.0.0"
"zope.deprecation" = "^4.4.0"
"zope.interface" = ">=4.7.2,<6"
"zope.sqlalchemy" = "1.6"
jsonschema = {extras = ["format-nongpl"], version = "^4.19.0"}
[tool.poetry.dev-dependencies]
boto3-stubs = "^1.34.136"
botocore-stubs = "^1.34.136"
coverage = ">=6.2"
codacy-coverage = ">=1.3.11"
# When we add coverage, this must be loaded manually in GA workflow for coverage because a dependency on 2to3
# in its docopts dependency makes a problem for laoding it here in poetry. -kmp 25-Apr-2023
# coveralls = ">=3.3.1"
docutils = ">=0.16,<1"
flake8 = ">=3.9.2"
flaky = ">=3.7.0"
moto = "^4.0.3"
PasteDeploy = "1.5.2"
plaster = "1.0"
plaster-pastedeploy = "0.6"
pipdeptree = ">=2.3.3"
# pip-licenses = ">=3.5.3"
# Not even sure we need an explicit dependence on Pillow, though it might help keep from searching older versions.
# -kmp 22-Feb-2022
Pillow = ">=6.2.2" # later version known to work - Will 11/17/20
# Experimental upgrade to PyTest 4.5. It may be possible to upgrade further, but I think this is an improvement.
# -kmp 11-May-2020
pytest = "^7.2.2"
pytest-cov = ">=2.2.1"
# pytest_exact_fixtures = "^0.3"
pytest-instafail = ">=0.3.0"
# TODO: Investigate whether a major version upgrade is allowable for 'pytest-mock'.
pytest-mock = ">=0.11.0"
pytest-redis = "^2.0.0"
# TODO: Investigate whether a major version upgrade is allowable for 'pytest-runner'.
pytest-runner = ">=4.0"
pytest-timeout = ">=1.0.0"
# There was no version 4 of PyYAML. We upgraded today to PyYAML 5 per compatibility info in:
# https://github.com/yaml/pyyaml/issues/265
# We must have 5.1 to get the new yaml.safe_load method.
# awscli appears to add its own restrictions, but our uses are pretty simple.
# 5.2 had soe bugs that were probably only in Python 2, but we require 5.2 here just in case.
# Any narrowing beyond that is just to help 'poetry lock' converge faster.
# And we only need .safe_load in testing, so we're moving this to dev dependencies. -kmp 22-Feb-2022
PyYAML = "^6.0.1"
"repoze.debug" = ">=1.0.2"
wheel = ">=0.40.0"
[tool.poetry.scripts]
dev-servers-snovault = "snovault.dev_servers:main"
list-db-tables = "snovault.commands.list_db_tables:main"
prepare-local-dev = "snovault.commands.prepare_template:prepare_local_dev_main"
publish-to-pypi = "dcicutils.scripts.publish_to_pypi:main"
wipe-test-indices = "snovault.commands.wipe_test_indices:main"
[paste.app_factory]
main = "snovault:main"
[paste.composite_factory]
indexer = "snovault.elasticsearch.es_index_listener:composite"
ingester = "snovault.ingestion.ingestion_listener:composite"
# [paste.filter_app_factory]
# memlimit = "encoded.memlimit:filter_app"
[build-system]
requires = ["poetry_core>=1.0.0"]
build-backend = "poetry.core.masonry.api"