-
Notifications
You must be signed in to change notification settings - Fork 60
Expand file tree
/
Copy pathpyproject.toml
More file actions
308 lines (275 loc) · 12.1 KB
/
Copy pathpyproject.toml
File metadata and controls
308 lines (275 loc) · 12.1 KB
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
# SPDX-FileCopyrightText: 2015-2025 CERN.
# SPDX-FileCopyrightText: 2018-2022 CERN.
# SPDX-FileCopyrightText: 2026 TU Wien.
# SPDX-License-Identifier: MIT
[project]
name = "invenio-app-ils"
description = "Invenio Integrated Library System."
readme = "README.rst"
requires-python = ">=3.9"
license = "MIT"
authors = [
{ name = "CERN", email = "info@inveniosoftware.org" },
]
keywords = [
"Invenio",
"invenio-app-ils",
]
classifiers = [
"Development Status :: 4 - Beta",
]
dependencies = [
"alembic>=1.16.4,<2.0.0",
"click>=8.1.8,<9.0.0",
"flask-debugtoolbar>=0.15.1,<1.0.0",
"invenio-access>=5.0.0,<6.0.0",
"invenio-accounts>=7.0.0,<8.0.0",
"invenio-app>=3.0.0,<4.0.0",
"invenio-assets>=4.2.0,<5.0.0",
"invenio-banners>=6.0.0,<7.0.0",
"invenio-base>=2.3.2,<3.0.0",
"invenio-cache>=3.0.0,<4.0.0",
"invenio-celery>=2.2.0,<3.0.0",
"invenio-circulation>=4.0.0,<5.0.0",
"invenio-config>=1.1.0,<2.0.0",
"invenio-db[postgresql,mysql]>=2.0.0,<3.0.0",
"invenio-files-rest>=4.0.0,<5.0.0",
"invenio-formatter>=4.0.0,<5.0.0",
"invenio-i18n>=3.3.0,<4.0.0",
"invenio-indexer>=4.0.0,<5.0.0",
"invenio-jsonschemas>=2.1.0,<3.0.0",
"invenio-logging[sentry]>=4.1.0,<5.0.0",
"invenio-mail>=2.3.0,<3.0.0",
"invenio-oaiserver>=4.0.0,<5.0.0",
"invenio-oauth2server>=4.0.0,<5.0.0",
"invenio-oauthclient>=7.0.0,<8.0.0",
"invenio-opendefinition>=2.0.0a2,<3.0.0",
"invenio-pages>=8.0.0,<9.0.0",
"invenio-pidrelations>=1.0.0,<2.0.0",
"invenio-pidstore>=3.0.0,<4.0.0",
"invenio-records>=4.0.0,<5.0.0",
"invenio-records-rest>=4.0.0,<5.0.0",
"invenio-rest>=3.0.0,<4.0.0",
"invenio-stats>=6.0.0,<7.0.0",
"invenio-theme>=4.3.0,<5.0.0",
"invenio-userprofiles>=5.0.0,<6.0.0",
"jsonschema>=4.24.0,<5.0.0",
"pycountry>=22.3.5,<25.0.0",
"simplejson>=3.20.1,<4.0.0",
"sqlalchemy_utils>=0.41.2",
"webargs>=6.0.0",
"werkzeug>=3.1.3,<4.0.0",
]
dynamic = ["version"]
[project.urls]
Homepage = "https://github.com/inveniosoftware/invenio-app-ils"
[project.scripts]
ils = "invenio_app.cli:cli"
[project.entry-points."flask.commands"]
demo = "invenio_app_ils.cli:demo"
fixtures = "invenio_app_ils.cli:fixtures"
patrons = "invenio_app_ils.patrons.cli:patrons"
setup = "invenio_app_ils.cli:setup"
stats = "invenio_stats.cli:stats"
vocabulary = "invenio_app_ils.vocabularies.cli:vocabulary"
[project.entry-points."invenio_access.actions"]
backoffice_access_action = "invenio_app_ils.permissions:backoffice_access_action"
backoffice_readonly_access_action = "invenio_app_ils.permissions:backoffice_readonly_access_action"
[project.entry-points."invenio_assets.webpack"]
invenio_app_ils_theme = "invenio_app_ils.webpack:theme"
[project.entry-points."invenio_base.api_apps"]
ils_acquisition = "invenio_app_ils.acquisition.ext:InvenioIlsAcquisition"
ils_ill = "invenio_app_ils.ill.ext:InvenioIlsIll"
ils_providers = "invenio_app_ils.providers.ext:InvenioIlsProviders"
ils_rest = "invenio_app_ils.ext:InvenioAppIlsREST"
[project.entry-points."invenio_base.api_blueprints"]
ils_acquisition_stats = "invenio_app_ils.acquisition.stats.views:create_acquisition_stats_blueprint"
ils_circulation = "invenio_app_ils.circulation.views:create_circulation_blueprint"
ils_circulation_stats = "invenio_app_ils.circulation.stats.views:create_circulation_stats_blueprint"
ils_closures = "invenio_app_ils.closures.views:create_closures_blueprint"
ils_document_request = "invenio_app_ils.document_requests.views:create_document_request_action_blueprint"
ils_document_request_stats = "invenio_app_ils.document_requests.stats.views:create_document_request_stats_blueprint"
ils_document_stats = "invenio_app_ils.records.views:create_document_stats_blueprint"
ils_files = "invenio_app_ils.files.views:create_files_blueprint"
ils_ill = "invenio_app_ils.ill.views:create_ill_blueprint"
ils_notifications = "invenio_app_ils.notifications.views:get_notifications_blueprint"
ils_patrons = "invenio_app_ils.patrons.views:get_user_loan_information_blueprint"
ils_relations = "invenio_app_ils.records_relations.views:create_relations_blueprint"
[project.entry-points."invenio_base.apps"]
ils_acquisition = "invenio_app_ils.acquisition.ext:InvenioIlsAcquisition"
ils_ill = "invenio_app_ils.ill.ext:InvenioIlsIll"
ils_providers = "invenio_app_ils.providers.ext:InvenioIlsProviders"
ils_ui = "invenio_app_ils.ext:InvenioAppIlsUI"
[project.entry-points."invenio_base.blueprints"]
logged_out = "invenio_app_ils.views:create_logged_out_blueprint"
[project.entry-points."invenio_celery.tasks"]
ils_circulation = "invenio_app_ils.circulation.tasks"
ils_circulation_notifications = "invenio_app_ils.circulation.notifications.tasks"
ils_indexer_acquisitions = "invenio_app_ils.acquisition.indexer"
ils_indexer_document_requests = "invenio_app_ils.document_requests.indexer"
ils_indexer_documents = "invenio_app_ils.documents.indexer"
ils_indexer_eitems = "invenio_app_ils.eitems.indexer"
ils_indexer_ills = "invenio_app_ils.ill.indexer"
ils_indexer_intlocs = "invenio_app_ils.internal_locations.indexer"
ils_indexer_items = "invenio_app_ils.items.indexer"
ils_indexer_loans = "invenio_app_ils.circulation.indexer"
ils_indexer_locations = "invenio_app_ils.locations.indexer"
ils_indexer_rec_relations = "invenio_app_ils.records_relations.indexer"
ils_indexer_series = "invenio_app_ils.series.indexer"
ils_notifications = "invenio_app_ils.notifications.tasks"
ils_notifications_backends = "invenio_app_ils.notifications.backends.mail"
[project.entry-points."invenio_config.module"]
zy_invenio_app_ils = "invenio_app_ils.config"
zy_invenio_app_ils_circulation = "invenio_app_ils.circulation.config"
[project.entry-points."invenio_db.models"]
ils_notifications_logs = "invenio_app_ils.notifications.models"
[project.entry-points."invenio_i18n.translations"]
messages = "invenio_app_ils"
[project.entry-points."invenio_jsonschemas.schemas"]
acquisition = "invenio_app_ils.acquisition.schemas"
document_requests = "invenio_app_ils.document_requests.schemas"
documents = "invenio_app_ils.documents.schemas"
eitems = "invenio_app_ils.eitems.schemas"
ill = "invenio_app_ils.ill.schemas"
internal_locations = "invenio_app_ils.internal_locations.schemas"
items = "invenio_app_ils.items.schemas"
locations = "invenio_app_ils.locations.schemas"
providers = "invenio_app_ils.providers.schemas"
series = "invenio_app_ils.series.schemas"
vocabularies = "invenio_app_ils.vocabularies.schemas"
[project.entry-points."invenio_pidstore.fetchers"]
acqoid = "invenio_app_ils.acquisition.api:order_pid_fetcher"
docid = "invenio_app_ils.documents.api:document_pid_fetcher"
dreqid = "invenio_app_ils.document_requests.api:document_request_pid_fetcher"
eitmid = "invenio_app_ils.eitems.api:eitem_pid_fetcher"
illbid = "invenio_app_ils.ill.api:borrowing_request_pid_fetcher"
ilocid = "invenio_app_ils.internal_locations.api:internal_location_pid_fetcher"
ilsloanid = "invenio_app_ils.circulation.api:ils_circulation_loan_pid_fetcher"
litid = "invenio_app_ils.literature.api:literature_pid_fetcher"
locid = "invenio_app_ils.locations.api:location_pid_fetcher"
patid = "invenio_app_ils.patrons.api:patron_pid_fetcher"
pitmid = "invenio_app_ils.items.api:item_pid_fetcher"
provid = "invenio_app_ils.providers.api:provider_pid_fetcher"
serid = "invenio_app_ils.series.api:series_pid_fetcher"
vocid = "invenio_app_ils.vocabularies.api:vocabulary_pid_fetcher"
[project.entry-points."invenio_pidstore.minters"]
acqoid = "invenio_app_ils.acquisition.api:order_pid_minter"
docid = "invenio_app_ils.documents.api:document_pid_minter"
dreqid = "invenio_app_ils.document_requests.api:document_request_pid_minter"
eitmid = "invenio_app_ils.eitems.api:eitem_pid_minter"
illbid = "invenio_app_ils.ill.api:borrowing_request_pid_minter"
ilocid = "invenio_app_ils.internal_locations.api:internal_location_pid_minter"
ilsloanid = "invenio_app_ils.circulation.api:ils_circulation_loan_pid_minter"
litid = "invenio_app_ils.literature.api:literature_pid_minter"
locid = "invenio_app_ils.locations.api:location_pid_minter"
patid = "invenio_app_ils.patrons.api:patron_pid_minter"
pitmid = "invenio_app_ils.items.api:item_pid_minter"
provid = "invenio_app_ils.providers.api:provider_pid_minter"
serid = "invenio_app_ils.series.api:series_pid_minter"
vocid = "invenio_app_ils.vocabularies.api:vocabulary_pid_minter"
[project.entry-points."invenio_records.jsonresolver"]
document_circulation = "invenio_app_ils.documents.jsonresolvers.document_circulation"
document_eitem = "invenio_app_ils.documents.jsonresolvers.document_eitem"
document_item = "invenio_app_ils.documents.jsonresolvers.document_item"
document_relations = "invenio_app_ils.documents.jsonresolvers.document_relations"
document_request_document = "invenio_app_ils.document_requests.jsonresolvers.document_request_document"
document_request_patron = "invenio_app_ils.document_requests.jsonresolvers.document_request_patron"
document_stock = "invenio_app_ils.documents.jsonresolvers.document_stock"
eitem_document = "invenio_app_ils.eitems.jsonresolvers.eitem_document"
eitem_files = "invenio_app_ils.eitems.jsonresolvers.eitem_files"
ill_brw_req = "invenio_app_ils.ill.jsonresolvers.borrowing_request_document"
ill_patron = "invenio_app_ils.ill.jsonresolvers.borrowing_request_patron"
ill_provider = "invenio_app_ils.ill.jsonresolvers.borrowing_request_provider"
internal_location = "invenio_app_ils.internal_locations.jsonresolvers.internal_location"
item_document = "invenio_app_ils.items.jsonresolvers.item_document"
item_internal_location = "invenio_app_ils.items.jsonresolvers.item_internal_location"
item_loan = "invenio_app_ils.items.jsonresolvers.item_loan"
order_order_lines = "invenio_app_ils.acquisition.jsonresolvers.order_order_lines"
order_provider = "invenio_app_ils.acquisition.jsonresolvers.order_provider"
series_relations = "invenio_app_ils.series.jsonresolvers.series_relations"
vocabularies_licenses = "invenio_app_ils.vocabularies.jsonresolvers.licenses"
[project.entry-points."invenio_search.mappings"]
acq_orders = "invenio_app_ils.acquisition.mappings"
document_requests = "invenio_app_ils.document_requests.mappings"
documents = "invenio_app_ils.documents.mappings"
eitems = "invenio_app_ils.eitems.mappings"
ill_borrowing_requests = "invenio_app_ils.ill.mappings"
internal_locations = "invenio_app_ils.internal_locations.mappings"
items = "invenio_app_ils.items.mappings"
locations = "invenio_app_ils.locations.mappings"
patrons = "invenio_app_ils.patrons.mappings"
providers = "invenio_app_ils.providers.mappings"
series = "invenio_app_ils.series.mappings"
vocabularies = "invenio_app_ils.vocabularies.mappings"
[project.optional-dependencies]
docs = []
lorem = [
"lorem>=0.1.1",
]
opensearch2 = [
"invenio-search[opensearch2]>=3.1.0,<4.0.0",
]
tests = [
"docker-services-cli>=0.6.0",
"mock>=2.0.0",
"pluggy>=1.6.0",
"pydocstyle==6.1.1",
"pytest-black>=0.3.0",
"pytest-invenio>=3.4.2",
"pytest-mock>=1.6.0",
"sphinx>=5",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
# see https://babel.pocoo.org/en/latest/messages.html#toml-configuration-format
[tool.babel]
[tool.babel.compile_catalog]
directory = "invenio_app_ils/translations/"
use_fuzzy = true
[tool.babel.extract_messages]
copyright_holder = "CERN"
msgid_bugs_address = "info@inveniosoftware.org"
mapping_file = "pyproject.toml"
output_file = "invenio_app_ils/translations/messages.pot"
add_comments = "NOTE"
[tool.babel.init_catalog]
input_file = "invenio_app_ils/translations/messages.pot"
output_dir = "invenio_app_ils/translations/"
[[tool.babel.mappings]]
method = "javascript"
pattern = "**.js"
encoding = "utf-8"
extract_messages = "$._, jQuery._"
[[tool.babel.mappings]]
method = "python"
pattern = "**.py"
encoding = "utf-8"
[[tool.babel.mappings]]
method = "jinja2"
pattern = "**/templates/**.html"
encoding = "utf-8"
[tool.hatch.version]
path = "invenio_app_ils/__init__.py"
[tool.hatch.build.targets.sdist]
include = [
"/invenio_app_ils",
]
[tool.isort]
profile = "black"
[tool.pydocstyle]
add_ignore = "D401"
[tool.pytest.ini_options]
addopts = "--cov=invenio_app_ils --cov-report=term-missing"
testpaths = "tests invenio_app_ils"
live_server_scope = "module"
# UV needs to be told explicitly which extras are conflicting:
# https://docs.astral.sh/uv/concepts/projects/config/#conflicting-dependencies
[tool.uv]
conflicts = [
[
{ extra = "opensearch1" },
{ extra = "opensearch2" },
{ extra = "elasticsearch7" },
]
]