forked from rero/rero-ils
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
135 lines (122 loc) · 4.6 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
[tool.poetry]
name = "rero-ils"
version = "1.9.0"
description = "Invenio digital library framework."
authors = ["RERO <[email protected]>"]
license = "GNU Affero General Public License v3.0"
[tool.poetry.dependencies]
python = ">= 3.7, <3.10"
## Python packages dependencies (order matters)
#------------------------------------------------------------------------------
## Note: poetry evaluates the package constraints from the top to the bottom
## and respects only the last constraint to install the package.
## Thus the most strength constraint should be at the end.
## Imagine the following package list for the foo package with the
## most recent version equal to 5.0:
## A foo Pipfile example:
## ----------------------
## foo = ">1.0" # first will install 5.0
## foo = "==1.0" # then will downgrade to 1.0
## foo = ">3.0" # finally will upgrade to 5.0
## when the python code will be executed a conflict exception will be raised.
#------------------------------------------------------------------------------
# Default from Invenio
lxml = ">=4.3.0,<5.0.0"
marshmallow = ">=3.0.0,<4.0.0"
uwsgi = ">=2.0"
uwsgi-tools = ">=1.1.1"
uwsgitop = ">=0.11"
## Third party invenio modules used by RERO ILS
invenio-oaiharvester = {git = "https://github.com/inveniosoftware/invenio-oaiharvester.git", tag = "v1.0.0a4"}
invenio-circulation = {git = "https://github.com/inveniosoftware/invenio-circulation.git", rev = "v1.0.0a34"}
## Invenio 3.4 base modules used by RERO ILS
# same as invenio metadata extras without invenio-search-ui
invenio-indexer = ">=1.2.0,<1.3.0"
invenio-jsonschemas = ">=1.1.1,<1.2.0"
invenio-oaiserver = ">=1.2.0,<1.3.0"
invenio-pidstore = ">=1.2.1,<1.3.0"
invenio-records-rest = ">=1.8.0,<1.9.0"
invenio-records-ui= ">=1.2.0,<1.3.0"
invenio-records = {version = ">=1.4.0,<1.6.0", allow-prereleases = true}
# TODO: could be deleted later
invenio_base = "<1.2.6"
## Default from Invenio
invenio = {version = ">=3.4.0,<3.5.0", extras = ["base", "postgresql", "auth", "elasticsearch7", "docs", "tests" ]}
# TODO: jedi > 0.17 crashs the console
jedi = "<0.18.0"
# TODO: jsonschema 4.0.0 is not working with invenio because there is a new parameter type!
jsonschema = "<4.0.0"
## RERO ILS specific python modules
PyYAML = ">=5.3.1"
dateparser = ">=0.7.0"
isbnlib = ">=3.9.1"
requests = ">=2.20.0"
polib = "*"
xmltodict = "*"
redisbeat = "*"
jsonpickle = ">=1.4.1"
ciso8601 = "*"
# TODO: to be removed when the thumbnail will be refactored
invenio-userprofiles = {git = "https://github.com/rero/invenio-userprofiles.git", rev = "v1.2.1-rero1.0"}
## Additionnal constraints on python modules
flask-wiki = {git = "https://github.com/rero/flask-wiki.git", tag = "v0.0.1"}
markdown-captions = "*"
zipp = "*"
## Deployment
# sentry
invenio-logging = { version = ">=1.3.0,<1.4.0", extras = ["sentry-sdk", "sentry"] }
python-dotenv = ">=0.13.0"
## Third party optional modules used by RERO ILS
invenio-sip2 = {git = "https://github.com/inveniosoftware-contrib/invenio-sip2.git", optional = true}
flask-cors = ">3.0.8"
celery = ">=5.0.0"
cryptography = ">3.3.1"
freezegun = "^1.1.0"
lazyreader = ">1.0.0"
jinja2 = ">2.11.2"
jsonmerge = "^1.8.0"
num2words = "^0.5.10"
Flask = "<2.0.0"
iso639 = "^0.1.4"
dcxml = "^0.1.2"
DeepDiff = "^5.5.0"
docutils = "<0.18.0"
wtforms = "<3.0.0"
flask-wtf = "<1.0.0"
# TODO: normaly not needed with invenio-records[postgresql]
sqlalchemy-continuum = "^1.3.12"
psycopg2-binary = "^2.9.3"
# TODO: ImportError: cannot import name 'soft_unicode' from 'markupsafe'
markupsafe = "<2.1.0"
[tool.poetry.dev-dependencies]
## Python packages development dependencies (order matters)
#----------------------------------------------------------
## Default from Invenio
pytest-invenio = ">=1.4.0,<1.5.0"
# TODO: ther is a problem with sphinx 3.4.2
# RuntimeError: Working outside of application context.
Sphinx = ">=3,<3.4.2"
Flask-Debugtoolbar = ">=0.10.1"
## RERO ILS specific python packages
safety = ">=1.8"
mock = ">=2.0.0"
autoflake = ">=1.3.1"
appnope = { version = "*", optional = true }
[tool.poetry.extras]
## Python extra packages dependencies
#------------------------------------
sip2 = ["invenio-sip2"]
[tool.poetry.scripts]
bootstrap = "scripts:run('./scripts/bootstrap')"
console = "scripts:run('./scripts/console')"
cypress = "scripts:run('./scripts/cypress')"
folding = "scripts:run('./scripts/russian_dolls')"
run-tests = "scripts:run('./run-tests.sh')"
tests = "scripts:run('pytest')"
tests-debug = "scripts:run('pytest', '--no-cov', '-vv', '-s')"
server = "scripts:run('./scripts/server')"
setup = "scripts:run('./scripts/setup')"
update = "scripts:run('./scripts/update')"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"