udata 14.0.0__py3-none-any.whl → 14.5.1.dev6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of udata might be problematic. Click here for more details.
- udata/api/__init__.py +2 -0
- udata/api_fields.py +35 -4
- udata/app.py +18 -20
- udata/auth/__init__.py +29 -6
- udata/auth/forms.py +2 -2
- udata/auth/views.py +13 -6
- udata/commands/dcat.py +1 -1
- udata/commands/serve.py +3 -11
- udata/commands/tests/test_fixtures.py +9 -9
- udata/core/access_type/api.py +1 -1
- udata/core/access_type/constants.py +12 -8
- udata/core/activity/api.py +5 -6
- udata/core/badges/tests/test_commands.py +6 -6
- udata/core/csv.py +5 -0
- udata/core/dataservices/api.py +8 -1
- udata/core/dataservices/apiv2.py +2 -5
- udata/core/dataservices/models.py +5 -2
- udata/core/dataservices/rdf.py +2 -1
- udata/core/dataservices/tasks.py +13 -2
- udata/core/dataset/api.py +10 -0
- udata/core/dataset/models.py +6 -6
- udata/core/dataset/permissions.py +31 -0
- udata/core/dataset/rdf.py +8 -2
- udata/core/dataset/tasks.py +23 -7
- udata/core/discussions/api.py +15 -1
- udata/core/discussions/models.py +6 -0
- udata/core/legal/__init__.py +0 -0
- udata/core/legal/mails.py +128 -0
- udata/core/organization/api.py +16 -5
- udata/core/organization/apiv2.py +2 -3
- udata/core/organization/mails.py +1 -1
- udata/core/organization/models.py +15 -2
- udata/core/organization/notifications.py +84 -0
- udata/core/organization/permissions.py +1 -1
- udata/core/organization/tasks.py +3 -0
- udata/core/pages/tests/test_api.py +32 -0
- udata/core/post/api.py +24 -69
- udata/core/post/models.py +84 -16
- udata/core/post/tests/test_api.py +24 -1
- udata/core/reports/api.py +18 -0
- udata/core/reports/models.py +42 -2
- udata/core/reuse/api.py +8 -0
- udata/core/reuse/apiv2.py +2 -5
- udata/core/reuse/models.py +1 -1
- udata/core/reuse/tasks.py +7 -0
- udata/core/spatial/forms.py +2 -2
- udata/core/topic/models.py +8 -2
- udata/core/user/api.py +10 -3
- udata/core/user/models.py +12 -2
- udata/features/notifications/api.py +7 -18
- udata/features/notifications/models.py +56 -0
- udata/features/notifications/tasks.py +25 -0
- udata/flask_mongoengine/engine.py +0 -4
- udata/flask_mongoengine/pagination.py +1 -1
- udata/frontend/markdown.py +2 -1
- udata/harvest/actions.py +21 -1
- udata/harvest/api.py +25 -8
- udata/harvest/backends/base.py +27 -1
- udata/harvest/backends/ckan/harvesters.py +11 -2
- udata/harvest/backends/dcat.py +4 -1
- udata/harvest/commands.py +33 -0
- udata/harvest/filters.py +17 -6
- udata/harvest/models.py +16 -0
- udata/harvest/permissions.py +27 -0
- udata/harvest/tests/ckan/test_ckan_backend.py +33 -0
- udata/harvest/tests/test_actions.py +58 -5
- udata/harvest/tests/test_api.py +276 -122
- udata/harvest/tests/test_base_backend.py +86 -1
- udata/harvest/tests/test_dcat_backend.py +81 -10
- udata/harvest/tests/test_filters.py +6 -0
- udata/i18n.py +1 -4
- udata/mail.py +19 -1
- udata/migrations/2025-10-31-create-membership-request-notifications.py +55 -0
- udata/migrations/2025-12-04-add-uuid-to-discussion-messages.py +28 -0
- udata/mongo/slug_fields.py +1 -1
- udata/rdf.py +58 -10
- udata/routing.py +2 -2
- udata/settings.py +11 -0
- udata/tasks.py +1 -0
- udata/templates/mail/message.html +5 -31
- udata/tests/__init__.py +27 -2
- udata/tests/api/__init__.py +108 -21
- udata/tests/api/test_activities_api.py +36 -0
- udata/tests/api/test_auth_api.py +121 -95
- udata/tests/api/test_base_api.py +7 -4
- udata/tests/api/test_datasets_api.py +50 -19
- udata/tests/api/test_organizations_api.py +192 -197
- udata/tests/api/test_reports_api.py +157 -0
- udata/tests/api/test_reuses_api.py +147 -147
- udata/tests/api/test_security_api.py +12 -12
- udata/tests/api/test_swagger.py +4 -4
- udata/tests/api/test_tags_api.py +8 -8
- udata/tests/api/test_user_api.py +1 -1
- udata/tests/apiv2/test_search.py +30 -0
- udata/tests/apiv2/test_swagger.py +4 -4
- udata/tests/cli/test_cli_base.py +8 -9
- udata/tests/dataservice/test_dataservice_tasks.py +29 -0
- udata/tests/dataset/test_dataset_commands.py +4 -4
- udata/tests/dataset/test_dataset_model.py +66 -26
- udata/tests/dataset/test_dataset_rdf.py +99 -5
- udata/tests/dataset/test_dataset_tasks.py +25 -0
- udata/tests/frontend/test_auth.py +58 -1
- udata/tests/frontend/test_csv.py +0 -3
- udata/tests/helpers.py +31 -27
- udata/tests/organization/test_notifications.py +67 -2
- udata/tests/plugin.py +6 -261
- udata/tests/search/test_search_integration.py +33 -0
- udata/tests/site/test_site_csv_exports.py +22 -10
- udata/tests/test_activity.py +9 -9
- udata/tests/test_api_fields.py +10 -0
- udata/tests/test_dcat_commands.py +2 -2
- udata/tests/test_discussions.py +5 -5
- udata/tests/test_legal_mails.py +359 -0
- udata/tests/test_migrations.py +21 -21
- udata/tests/test_notifications.py +15 -57
- udata/tests/test_notifications_task.py +43 -0
- udata/tests/test_owned.py +81 -1
- udata/tests/test_storages.py +25 -19
- udata/tests/test_topics.py +77 -61
- udata/tests/test_uris.py +33 -0
- udata/tests/workers/test_jobs_commands.py +23 -23
- udata/translations/ar/LC_MESSAGES/udata.mo +0 -0
- udata/translations/ar/LC_MESSAGES/udata.po +187 -108
- udata/translations/de/LC_MESSAGES/udata.mo +0 -0
- udata/translations/de/LC_MESSAGES/udata.po +187 -108
- udata/translations/es/LC_MESSAGES/udata.mo +0 -0
- udata/translations/es/LC_MESSAGES/udata.po +187 -108
- udata/translations/fr/LC_MESSAGES/udata.mo +0 -0
- udata/translations/fr/LC_MESSAGES/udata.po +188 -109
- udata/translations/it/LC_MESSAGES/udata.mo +0 -0
- udata/translations/it/LC_MESSAGES/udata.po +187 -108
- udata/translations/pt/LC_MESSAGES/udata.mo +0 -0
- udata/translations/pt/LC_MESSAGES/udata.po +187 -108
- udata/translations/sr/LC_MESSAGES/udata.mo +0 -0
- udata/translations/sr/LC_MESSAGES/udata.po +187 -108
- udata/translations/udata.pot +215 -106
- udata/uris.py +0 -2
- udata-14.5.1.dev6.dist-info/METADATA +109 -0
- {udata-14.0.0.dist-info → udata-14.5.1.dev6.dist-info}/RECORD +143 -140
- udata/core/post/forms.py +0 -30
- udata/flask_mongoengine/json.py +0 -38
- udata/templates/mail/base.html +0 -105
- udata/templates/mail/base.txt +0 -6
- udata/templates/mail/button.html +0 -3
- udata/templates/mail/layouts/1-column.html +0 -19
- udata/templates/mail/layouts/2-columns.html +0 -20
- udata/templates/mail/layouts/center-panel.html +0 -16
- udata-14.0.0.dist-info/METADATA +0 -132
- {udata-14.0.0.dist-info → udata-14.5.1.dev6.dist-info}/WHEEL +0 -0
- {udata-14.0.0.dist-info → udata-14.5.1.dev6.dist-info}/entry_points.txt +0 -0
- {udata-14.0.0.dist-info → udata-14.5.1.dev6.dist-info}/licenses/LICENSE +0 -0
- {udata-14.0.0.dist-info → udata-14.5.1.dev6.dist-info}/top_level.txt +0 -0
udata/uris.py
CHANGED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: udata
|
|
3
|
+
Version: 14.5.1.dev6
|
|
4
|
+
Summary: Open data portal
|
|
5
|
+
Author-email: Opendata Team <opendatateam@data.gouv.fr>
|
|
6
|
+
Maintainer-email: Opendata Team <opendatateam@data.gouv.fr>
|
|
7
|
+
License: MIT
|
|
8
|
+
Project-URL: Homepage, https://github.com/opendatateam/udata
|
|
9
|
+
Project-URL: Repository, https://github.com/opendatateam/udata
|
|
10
|
+
Project-URL: Documentation, https://udata.readthedocs.io/
|
|
11
|
+
Project-URL: Bug Tracker, https://github.com/opendatateam/udata/issues
|
|
12
|
+
Keywords: udata,open data,portal,data
|
|
13
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
+
Classifier: Programming Language :: Python
|
|
15
|
+
Classifier: Environment :: Web Environment
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Intended Audience :: Developers
|
|
18
|
+
Classifier: Topic :: System :: Software Distribution
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
|
+
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
|
|
25
|
+
Requires-Python: <3.14,>=3.11
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
License-File: LICENSE
|
|
28
|
+
Requires-Dist: authlib<2.0.0,>=1.5.1
|
|
29
|
+
Requires-Dist: awesome-slugify<2.0.0,>=1.6.5
|
|
30
|
+
Requires-Dist: babel<3.0.0,>=2.17.0
|
|
31
|
+
Requires-Dist: bcrypt<5.0.0,>=4.0.0
|
|
32
|
+
Requires-Dist: bleach[css]<7.0.0,>=6.2.0
|
|
33
|
+
Requires-Dist: blinker<2.0,>=1.5
|
|
34
|
+
Requires-Dist: boto3<2.0.0,>=1.26.102
|
|
35
|
+
Requires-Dist: botocore<2.0.0,>=1.29.165
|
|
36
|
+
Requires-Dist: celery<6.0.0,>=5.4.0
|
|
37
|
+
Requires-Dist: celerybeat-mongo<1.0.0,>=0.2.0
|
|
38
|
+
Requires-Dist: click<9.0.0,>=8.1.8
|
|
39
|
+
Requires-Dist: email-validator<3.0.0,>=2.2.0
|
|
40
|
+
Requires-Dist: factory-boy<4.0.0,>=3.3.3
|
|
41
|
+
Requires-Dist: feedgenerator<3.0.0,>=2.1.0
|
|
42
|
+
Requires-Dist: flask<4.0.0,>=3.0.0
|
|
43
|
+
Requires-Dist: flask-babel<5.0.0,>=4.0.0
|
|
44
|
+
Requires-Dist: flask-caching<3.0.0,>=2.3.1
|
|
45
|
+
Requires-Dist: flask-cdn<2.0.0,>=1.5.3
|
|
46
|
+
Requires-Dist: flask-gravatar<1.0.0,>=0.5.0
|
|
47
|
+
Requires-Dist: flask-login<1.0.0,>=0.6.3
|
|
48
|
+
Requires-Dist: flask-mail<1.0.0,>=0.10.0
|
|
49
|
+
Requires-Dist: flask-principal<1.0.0,>=0.4.0
|
|
50
|
+
Requires-Dist: flask-restx<2.0.0,>=1.3.0
|
|
51
|
+
Requires-Dist: flask-security-too<6.0.0,>=5.1.2
|
|
52
|
+
Requires-Dist: flask-sitemap<1.0.0,>=0.4.0
|
|
53
|
+
Requires-Dist: flask-storage<2.0.0,>=1.4.0
|
|
54
|
+
Requires-Dist: flask-wtf<2.0.0,>=1.2.2
|
|
55
|
+
Requires-Dist: geojson<4.0.0,>=3.2.0
|
|
56
|
+
Requires-Dist: geomet<2.0.0,>=1.1.0
|
|
57
|
+
Requires-Dist: html2text==2025.4.15
|
|
58
|
+
Requires-Dist: humanfriendly<11.0.0,>=10.0
|
|
59
|
+
Requires-Dist: importlib-resources<7.0.0,>=6.5.2
|
|
60
|
+
Requires-Dist: itsdangerous<3.0.0,>=2.2.0
|
|
61
|
+
Requires-Dist: jinja2<4.0.0,>=3.1.6
|
|
62
|
+
Requires-Dist: jsonschema<5.0.0,>=4.23.0
|
|
63
|
+
Requires-Dist: kombu[redis]<6.0.0,>=5.5.0
|
|
64
|
+
Requires-Dist: langdetect<2.0.0,>=1.0.9
|
|
65
|
+
Requires-Dist: levenshtein<1.0.0,>=0.27.1
|
|
66
|
+
Requires-Dist: lxml<7.0.0,>=6.0.0
|
|
67
|
+
Requires-Dist: markupsafe<4.0.0,>=3.0.3
|
|
68
|
+
Requires-Dist: mistune<4.0.0,>=3.1.3
|
|
69
|
+
Requires-Dist: mongoengine<1.0.0,>=0.29.1
|
|
70
|
+
Requires-Dist: netaddr<2.0.0,>=1.3.0
|
|
71
|
+
Requires-Dist: pillow<13.0.0,>=11.0.0
|
|
72
|
+
Requires-Dist: pydenticon<1.0.0,>=0.3.1
|
|
73
|
+
Requires-Dist: pymongo<5.0.0,>=4.11.3
|
|
74
|
+
Requires-Dist: python-dateutil<3.0.0,>=2.9.0.post0
|
|
75
|
+
Requires-Dist: pytz
|
|
76
|
+
Requires-Dist: rdflib<8.0.0,>=7.1.3
|
|
77
|
+
Requires-Dist: redis<8.0.0,>=5.0.0
|
|
78
|
+
Requires-Dist: requests<3.0.0,>=2.32.4
|
|
79
|
+
Requires-Dist: saxonche<13.0.0,>=12.8.0
|
|
80
|
+
Requires-Dist: sentry-sdk[flask]<3.0.0,>=2.23.1
|
|
81
|
+
Requires-Dist: speaklater<2.0.0,>=1.3
|
|
82
|
+
Requires-Dist: tlds>=2025022800
|
|
83
|
+
Requires-Dist: typing-extensions<5.0.0,>=4.12.2
|
|
84
|
+
Requires-Dist: tzdata
|
|
85
|
+
Requires-Dist: urlextract<2.0.0,>=1.9.0
|
|
86
|
+
Requires-Dist: urllib3<3.0.0,>=2.0.0
|
|
87
|
+
Requires-Dist: voluptuous<1.0.0,>=0.15.2
|
|
88
|
+
Requires-Dist: werkzeug<3.1.4,>=3.0.0
|
|
89
|
+
Requires-Dist: wtforms[email]<4.0.0,>=3.2.1
|
|
90
|
+
Requires-Dist: wtforms-json<1.0.0,>=0.3.5
|
|
91
|
+
Dynamic: license-file
|
|
92
|
+
|
|
93
|
+
<p align="center"><img src="https://i.imgur.com/rlRox1c.png"></p>
|
|
94
|
+
|
|
95
|
+
udata
|
|
96
|
+
=====
|
|
97
|
+
|
|
98
|
+
Customizable and skinnable social platform dedicated to (open) data.
|
|
99
|
+
|
|
100
|
+
The [full documentation][readthedocs-url] is hosted on Read the Docs.
|
|
101
|
+
|
|
102
|
+
udata is maintained by [data.gouv.fr](https://data.gouv.fr/), the
|
|
103
|
+
French public agency in charge of open data. data.gouv.fr is responsible
|
|
104
|
+
for publishing udata's roadmap and for building consensus around it.
|
|
105
|
+
|
|
106
|
+
It is collectively taken care of by members of the
|
|
107
|
+
[OpenDataTeam](https://github.com/opendatateam).
|
|
108
|
+
|
|
109
|
+
[readthedocs-url]: https://udata.readthedocs.io/en/stable/
|