lara-django-data 0.2.91__tar.gz

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.
Files changed (37) hide show
  1. lara_django_data-0.2.91/PKG-INFO +133 -0
  2. lara_django_data-0.2.91/README.md +106 -0
  3. lara_django_data-0.2.91/pyproject.toml +218 -0
  4. lara_django_data-0.2.91/src/lara_django_data/__init__.py +8 -0
  5. lara_django_data-0.2.91/src/lara_django_data/admin.py +101 -0
  6. lara_django_data-0.2.91/src/lara_django_data/apps.py +63 -0
  7. lara_django_data-0.2.91/src/lara_django_data/filters.py +91 -0
  8. lara_django_data-0.2.91/src/lara_django_data/forms.py +468 -0
  9. lara_django_data-0.2.91/src/lara_django_data/grpc/__init__.py +0 -0
  10. lara_django_data-0.2.91/src/lara_django_data/grpc/handlers.py +28 -0
  11. lara_django_data-0.2.91/src/lara_django_data/grpc/serializers.py +304 -0
  12. lara_django_data-0.2.91/src/lara_django_data/grpc/services.py +209 -0
  13. lara_django_data-0.2.91/src/lara_django_data/grpc/services_orig.py +247 -0
  14. lara_django_data-0.2.91/src/lara_django_data/management/__init__.py +5 -0
  15. lara_django_data-0.2.91/src/lara_django_data/management/commands/__init__.py +5 -0
  16. lara_django_data-0.2.91/src/lara_django_data/management/commands/eval_data.py +74 -0
  17. lara_django_data-0.2.91/src/lara_django_data/management/eval_data_db.py +199 -0
  18. lara_django_data-0.2.91/src/lara_django_data/mcp.py +30 -0
  19. lara_django_data-0.2.91/src/lara_django_data/migrations/0001_initial.py +232 -0
  20. lara_django_data-0.2.91/src/lara_django_data/migrations/__init__.py +0 -0
  21. lara_django_data-0.2.91/src/lara_django_data/minio.py +57 -0
  22. lara_django_data-0.2.91/src/lara_django_data/models.py +833 -0
  23. lara_django_data-0.2.91/src/lara_django_data/semantics.py +70 -0
  24. lara_django_data-0.2.91/src/lara_django_data/signals.py +169 -0
  25. lara_django_data-0.2.91/src/lara_django_data/static/lara_django_data/fonts/.gitkeep +0 -0
  26. lara_django_data-0.2.91/src/lara_django_data/static/lara_django_data/images/favicons/favicon.ico +0 -0
  27. lara_django_data-0.2.91/src/lara_django_data/tables.py +140 -0
  28. lara_django_data-0.2.91/src/lara_django_data/tasks.py +169 -0
  29. lara_django_data-0.2.91/src/lara_django_data/templates/lara_django_data/create_form.html +25 -0
  30. lara_django_data-0.2.91/src/lara_django_data/templates/lara_django_data/data_detail.html +160 -0
  31. lara_django_data-0.2.91/src/lara_django_data/templates/lara_django_data/data_detail_bootstrap.html +146 -0
  32. lara_django_data-0.2.91/src/lara_django_data/templates/lara_django_data/delete_form.html +28 -0
  33. lara_django_data-0.2.91/src/lara_django_data/templates/lara_django_data/extradata_detail.html +27 -0
  34. lara_django_data-0.2.91/src/lara_django_data/templates/lara_django_data/list.html +50 -0
  35. lara_django_data-0.2.91/src/lara_django_data/templates/lara_django_data/update_form.html +31 -0
  36. lara_django_data-0.2.91/src/lara_django_data/urls.py +55 -0
  37. lara_django_data-0.2.91/src/lara_django_data/views.py +313 -0
@@ -0,0 +1,133 @@
1
+ Metadata-Version: 2.3
2
+ Name: lara_django_data
3
+ Version: 0.2.91
4
+ Summary:
5
+ Author: mark doerr
6
+ Author-email: mark doerr <mark.doerr@uni-greifswald.de>
7
+ License: GPLv3+
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: Intended Audience :: Education
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Natural Language :: English
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Topic :: Scientific/Engineering
17
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
18
+ Classifier: Topic :: Scientific/Engineering :: Visualization
19
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
20
+ Classifier: Topic :: Scientific/Engineering :: Chemistry
21
+ Requires-Python: ==3.13.*
22
+ Project-URL: Documentation, https://larasuite.gitlab.io/lara_django_data
23
+ Project-URL: Source, https://gitlab.com/larasuite/lara_django_data
24
+ Project-URL: Bug Tracker, https://gitlab.com/larasuite/lara_django_data/issues
25
+ Project-URL: Changelog, https://gitlab.com/larasuite/lara_django_data/blob/main/CHANGELOG.md
26
+ Description-Content-Type: text/markdown
27
+
28
+ # LARA-django Data
29
+
30
+ A LARA python-django app for generically managing experimental data in lab automation systems and scientific laboratories.
31
+
32
+ ## Installation
33
+
34
+ In the active LARA-django environment, install
35
+
36
+ cd lara_django_data
37
+ pip install .
38
+
39
+
40
+ Add "my_new_app" to your INSTALLED_APPS setting like this:
41
+
42
+ INSTALLED_APPS = [
43
+ ...
44
+ ' lara_django_data',
45
+ ]
46
+
47
+ Include the lara-django-app URLconf in your project urls.py like
48
+ this:
49
+
50
+ path(' lara_django_data', include('my_new_app.urls')),
51
+
52
+ Run
53
+
54
+ python manage.py makemigrations lara_django_data
55
+ python manage.py migrate
56
+
57
+ to create the my_new_app database models.
58
+
59
+
60
+ In case you like to test the app, please load the demo data:
61
+
62
+ Start the development server
63
+
64
+ lara-django-dev runserver
65
+
66
+ and visit
67
+
68
+ http://127.0.0.1:8000/admin/
69
+
70
+ to create some entries (you'll need the Admin app enabled).
71
+
72
+
73
+ ## Environment variables
74
+
75
+ for development, please set
76
+
77
+ export DJANGO_ALLOWED_HOSTS=localhost
78
+ export DJANGO_SETTINGS_MODULE=lara_django.settings.devel
79
+
80
+ for production, please set
81
+
82
+ export DJANGO_SETTINGS_MODULE=lara_django.settings.production
83
+
84
+ if your media does not reside in the default media folder, please set
85
+ environment variable to
86
+
87
+ export DJANGO_MEDIA_PATH='path/to/my/media'
88
+
89
+ to use user defined fixtures, please set: :: export
90
+
91
+ DJANGO_FIXTURE_PATH='path/to/user/fixtures'
92
+
93
+
94
+ Testing all applications
95
+
96
+ ## Basic Commands
97
+
98
+ ### Type checks
99
+
100
+ Running type checks with mypy:
101
+
102
+ $ mypy lara_django_data
103
+
104
+ ### Test coverage
105
+
106
+ To run the tests, check your test coverage, and generate an HTML coverage report:
107
+
108
+ $ coverage run -m pytest
109
+ $ coverage html
110
+ $ open htmlcov/index.html
111
+
112
+ #### Running tests with pytest
113
+
114
+ $ pytest
115
+
116
+
117
+ [![Built with Cookiecutter Django](https://img.shields.io/badge/built%20with-Cookiecutter%20Django-ff69b4.svg?logo=cookiecutter)](https://github.com/cookiecutter/cookiecutter-django/)
118
+ [![Black code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
119
+
120
+ License: GPLv3
121
+
122
+ ## Contributors ✨
123
+
124
+ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
125
+
126
+ <!-- prettier-ignore-start -->
127
+ <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
128
+ <!-- markdownlint-disable -->
129
+ <!-- markdownlint-enable -->
130
+ <!-- ALL-CONTRIBUTORS-LIST:END -->
131
+ <!-- prettier-ignore-end -->
132
+
133
+ This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
@@ -0,0 +1,106 @@
1
+ # LARA-django Data
2
+
3
+ A LARA python-django app for generically managing experimental data in lab automation systems and scientific laboratories.
4
+
5
+ ## Installation
6
+
7
+ In the active LARA-django environment, install
8
+
9
+ cd lara_django_data
10
+ pip install .
11
+
12
+
13
+ Add "my_new_app" to your INSTALLED_APPS setting like this:
14
+
15
+ INSTALLED_APPS = [
16
+ ...
17
+ ' lara_django_data',
18
+ ]
19
+
20
+ Include the lara-django-app URLconf in your project urls.py like
21
+ this:
22
+
23
+ path(' lara_django_data', include('my_new_app.urls')),
24
+
25
+ Run
26
+
27
+ python manage.py makemigrations lara_django_data
28
+ python manage.py migrate
29
+
30
+ to create the my_new_app database models.
31
+
32
+
33
+ In case you like to test the app, please load the demo data:
34
+
35
+ Start the development server
36
+
37
+ lara-django-dev runserver
38
+
39
+ and visit
40
+
41
+ http://127.0.0.1:8000/admin/
42
+
43
+ to create some entries (you'll need the Admin app enabled).
44
+
45
+
46
+ ## Environment variables
47
+
48
+ for development, please set
49
+
50
+ export DJANGO_ALLOWED_HOSTS=localhost
51
+ export DJANGO_SETTINGS_MODULE=lara_django.settings.devel
52
+
53
+ for production, please set
54
+
55
+ export DJANGO_SETTINGS_MODULE=lara_django.settings.production
56
+
57
+ if your media does not reside in the default media folder, please set
58
+ environment variable to
59
+
60
+ export DJANGO_MEDIA_PATH='path/to/my/media'
61
+
62
+ to use user defined fixtures, please set: :: export
63
+
64
+ DJANGO_FIXTURE_PATH='path/to/user/fixtures'
65
+
66
+
67
+ Testing all applications
68
+
69
+ ## Basic Commands
70
+
71
+ ### Type checks
72
+
73
+ Running type checks with mypy:
74
+
75
+ $ mypy lara_django_data
76
+
77
+ ### Test coverage
78
+
79
+ To run the tests, check your test coverage, and generate an HTML coverage report:
80
+
81
+ $ coverage run -m pytest
82
+ $ coverage html
83
+ $ open htmlcov/index.html
84
+
85
+ #### Running tests with pytest
86
+
87
+ $ pytest
88
+
89
+
90
+ [![Built with Cookiecutter Django](https://img.shields.io/badge/built%20with-Cookiecutter%20Django-ff69b4.svg?logo=cookiecutter)](https://github.com/cookiecutter/cookiecutter-django/)
91
+ [![Black code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
92
+
93
+ License: GPLv3
94
+
95
+ ## Contributors ✨
96
+
97
+ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
98
+
99
+ <!-- prettier-ignore-start -->
100
+ <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
101
+ <!-- markdownlint-disable -->
102
+ <!-- markdownlint-enable -->
103
+ <!-- ALL-CONTRIBUTORS-LIST:END -->
104
+ <!-- prettier-ignore-end -->
105
+
106
+ This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
@@ -0,0 +1,218 @@
1
+ [build-system]
2
+ requires = ["uv_build>=0.9.0,<=0.10.0"]
3
+ build-backend = "uv_build"
4
+
5
+ [project]
6
+ name = "lara_django_data"
7
+ version = "0.2.91"
8
+ description = ""
9
+ readme = "README.md"
10
+ license = {text = "GPLv3+"}
11
+ authors =[{name = "mark doerr", email = "mark.doerr@uni-greifswald.de"}]
12
+
13
+ requires-python = "==3.13.*"
14
+ classifiers = [
15
+ 'Development Status :: 3 - Alpha',
16
+ 'Intended Audience :: Developers',
17
+ 'Intended Audience :: Science/Research',
18
+ 'Intended Audience :: Education',
19
+ 'Operating System :: OS Independent',
20
+ 'Natural Language :: English',
21
+ 'Programming Language :: Python :: 3',
22
+ 'Programming Language :: Python :: 3.13',
23
+ 'Topic :: Scientific/Engineering',
24
+ 'Topic :: Scientific/Engineering :: Information Analysis',
25
+ 'Topic :: Scientific/Engineering :: Visualization',
26
+ 'Topic :: Scientific/Engineering :: Bio-Informatics',
27
+ 'Topic :: Scientific/Engineering :: Chemistry',
28
+ ]
29
+
30
+ dependencies = []
31
+
32
+ [project.urls]
33
+ Documentation = "https://larasuite.gitlab.io/lara_django_data"
34
+ Source = "https://gitlab.com/larasuite/lara_django_data"
35
+ "Bug Tracker" = "https://gitlab.com/larasuite/lara_django_data/issues"
36
+ Changelog = "https://gitlab.com/larasuite/lara_django_data/blob/main/CHANGELOG.md"
37
+
38
+
39
+ [dependency-groups]
40
+ dev = [
41
+ "django-mcp-server>=0.5",
42
+ "grpcio>=1.73.0",
43
+ "grpcio-tools>=1.73.0",
44
+ "pytest>=8,<9",
45
+ "pytest-cov>=6,<7",
46
+ "pytest-xdist>=3.3",
47
+ "pytest-asyncio>=1.0.0",
48
+ "git-changelog>=2.4",
49
+ "dotenv>=0.9",
50
+ "pre-commit>=4.0",
51
+ "python-semantic-release>=9.21",
52
+ "ruff>=0.11.0",
53
+ ]
54
+ docs = [
55
+ "myst-parser>=0.16; python_version >= '3.11'",
56
+ "sphinx>=8.2; python_version >= '3.11'",
57
+ "sphinx-autobuild>=2024.10.3",
58
+ "python-docs-theme>=2025.5",
59
+ # alternative theme:
60
+ "furo>=2024.6.0",
61
+ ]
62
+
63
+ [tool.ruff]
64
+ target-version = "py313"
65
+ line-length = 120
66
+ extend-exclude = [
67
+ "*/migrations/*.py",
68
+ "*/tests/*.py",
69
+ "tests/*.py",
70
+ #"staticfiles/*",
71
+ #"lara_django_vue3/lara_vue3_projects1/grpc/*.py",
72
+ #"api/grpc/python/lara_vue3_projects1_grpc/v1/*",
73
+ "jupyter/*.ipynb",
74
+ ]
75
+ lint.select = [
76
+ "B", # flake8-bugbear
77
+ "D", # flake8-docstrings
78
+ "C4", # flake8-comprehensions
79
+ "S", # flake8-bandit
80
+ "F", # pyflake
81
+ "E", # pycodestyle
82
+ "W", # pycodestyle
83
+ "UP", # pyupgrade
84
+ "I", # isort
85
+ "RUF", # ruff specific
86
+ ]
87
+ lint.ignore = [
88
+ "D203", # 1 blank line required before class docstring
89
+ "D212", # Multi-line docstring summary should start at the first line
90
+ "D100", # Missing docstring in public module
91
+ "D104", # Missing docstring in public package
92
+ "D107", # Missing docstring in `__init__`
93
+ "D401", # First line of docstring should be in imperative mood
94
+ ]
95
+ lint.per-file-ignores."conftest.py" = [ "D100" ]
96
+ lint.per-file-ignores."docs/conf.py" = [ "D100" ]
97
+ lint.per-file-ignores."setup.py" = [ "D100" ]
98
+ lint.per-file-ignores."tests/**/*" = [
99
+ "D100",
100
+ "D101",
101
+ "D102",
102
+ "D103",
103
+ "D104",
104
+ "S101",
105
+ ]
106
+ lint.isort.known-first-party = [ "lara_django_data", "tests" ]
107
+
108
+ [tool.pytest.ini_options]
109
+ addopts = """\
110
+ -v
111
+ -Wdefault
112
+ --cov=src/lara_django_data
113
+ --cov-report=term-missing
114
+ --cov-report=term
115
+ --cov-report=xml
116
+ """
117
+
118
+ [tool.coverage.run]
119
+ branch = true
120
+
121
+
122
+ [tool.coverage.report]
123
+ # Regexes for lines to exclude from consideration
124
+ exclude_lines = [
125
+ # Have to re-enable the standard pragma
126
+ "pragma: no cover",
127
+ "@overload",
128
+ # Don't complain about missing debug-only code:
129
+ "def __repr__",
130
+ "def __repr__(self):",
131
+ "if self.debug",
132
+ "if TYPE_CHECKING",
133
+ # Don't complain if tests don't hit defensive assertion code:
134
+ "raise AssertionError",
135
+ "raise NotImplementedError",
136
+ # Don't complain if non-runnable code isn't run:
137
+ "if 0:",
138
+ "if __name__ == .__main__.:",
139
+ # Don't complain about abstract methods, they aren't run:
140
+ "@abstractmethod",
141
+ "@abc.abstractmethod",
142
+ ]
143
+ ignore_errors = true
144
+ skip_empty = true
145
+ precision = 2
146
+ omit = [
147
+ "setup.py",
148
+ # auto-generated by grpcio_tools.protoc
149
+ "*_pb2.py",
150
+ # will be copied to the server, so this source code is never executed
151
+ ]
152
+
153
+ [tool.mypy]
154
+ check_untyped_defs = true
155
+ disallow_any_generics = true
156
+ disallow_incomplete_defs = true
157
+ disallow_untyped_defs = true
158
+ mypy_path = "src/"
159
+ no_implicit_optional = true
160
+ show_error_codes = true
161
+ warn_unreachable = true
162
+ warn_unused_ignores = true
163
+ exclude = [
164
+ 'docs/.*',
165
+ 'setup.py',
166
+ ]
167
+
168
+ [[tool.mypy.overrides]]
169
+ module = "tests.*"
170
+ # allow_untyped_defs = true
171
+ ignore_errors = true
172
+
173
+ [[tool.mypy.overrides]]
174
+ module = "docs.*"
175
+ ignore_errors = true
176
+
177
+ [tool.semantic_release]
178
+ version_toml = [ "pyproject.toml:project.version",
179
+ "api/grpc/pyproject.toml:project.version" ]
180
+ version_variables = [
181
+ "docs/conf.py:release",
182
+ ]
183
+ build_command = """
184
+ uv lock
185
+ git add uv.lock
186
+ uv build
187
+ """
188
+
189
+ [tool.semantic_release.changelog]
190
+ exclude_commit_patterns = [
191
+ '''chore(?:\([^)]*?\))?: .+''',
192
+ '''ci(?:\([^)]*?\))?: .+''',
193
+ '''refactor(?:\([^)]*?\))?: .+''',
194
+ '''style(?:\([^)]*?\))?: .+''',
195
+ '''test(?:\([^)]*?\))?: .+''',
196
+ '''build\((?!deps\): .+)''',
197
+ '''Merged? .*''',
198
+ '''Initial [Cc]ommit.*''', # codespell:ignore
199
+ ]
200
+
201
+ [tool.semantic_release.changelog.environment]
202
+ keep_trailing_newline = true
203
+
204
+ [tool.semantic_release.branches.main]
205
+ match = "main"
206
+
207
+ [tool.semantic_release.branches.noop]
208
+ match = "(?!main$)"
209
+ prerelease = true
210
+
211
+ [tool.semantic_release.remote]
212
+ name = "origin"
213
+ type = "gitlab"
214
+ ignore_token_for_push = false
215
+ insecure = false
216
+
217
+ [tool.semantic_release.publish]
218
+ upload_to_vcs_release = false
@@ -0,0 +1,8 @@
1
+ from importlib.metadata import version as get_version
2
+
3
+ __version__ = get_version(__package__)
4
+
5
+ __version_info__ = tuple(
6
+ int(num) if num.isdigit() else num
7
+ for num in __version__.replace("-", ".", 1).split(".")
8
+ )
@@ -0,0 +1,101 @@
1
+ """_____________________________________________________________________
2
+
3
+ :PROJECT: LARAsuite
4
+
5
+ *lara_django_data admin *
6
+
7
+ :details: lara_django_data admin module admin backend configuration.
8
+ -
9
+ :authors: mark doerr <mark.doerr@uni-greifswald.de>
10
+
11
+ .. note:: -
12
+ .. todo:: - run "lara-django-dev admin_generator lara_django_data >> admin.py" to update this file
13
+ ________________________________________________________________________
14
+ """
15
+
16
+ # -*- coding: utf-8 -*-
17
+ from django.contrib import admin
18
+
19
+ from .models import ExtraData, Visualisation, Data, Evaluation
20
+
21
+
22
+ @admin.register(ExtraData)
23
+ class ExtraDataAdmin(admin.ModelAdmin):
24
+ list_display = (
25
+ "name_full",
26
+ "namespace",
27
+ "data_type",
28
+ "description",
29
+ "media_type",
30
+ "file",
31
+ "image",
32
+ "extradata_id",
33
+ )
34
+ list_filter = ("data_type", "namespace", "media_type")
35
+
36
+
37
+ @admin.register(Visualisation)
38
+ class VisualisationAdmin(admin.ModelAdmin):
39
+ list_display = (
40
+ "name",
41
+ "namespace",
42
+ "version",
43
+ "data_type",
44
+ "description",
45
+ "visualisation_id",
46
+ )
47
+ list_filter = (
48
+ "namespace",
49
+ "data_type",
50
+ "plotting_method_instance",
51
+ "plotting_procedure_instance",
52
+ )
53
+ raw_id_fields = ("tags",)
54
+ search_fields = ()
55
+
56
+
57
+ @admin.register(Data)
58
+ class DataAdmin(admin.ModelAdmin):
59
+ list_display = (
60
+ "name_full",
61
+ "name",
62
+ "namespace",
63
+ "data_type",
64
+ "version",
65
+ "datetime_created",
66
+ "file",
67
+ "description",
68
+ "data_id",
69
+ )
70
+ list_filter = (
71
+ "data_type",
72
+ "media_type",
73
+ "namespace",
74
+ "datetime_created",
75
+ "process_instance",
76
+ )
77
+ raw_id_fields = ("visualisations", "tags", "users", "groups", "data_extra")
78
+ search_fields = ()
79
+
80
+
81
+ @admin.register(Evaluation)
82
+ class EvaluationAdmin(admin.ModelAdmin):
83
+ list_display = (
84
+ "namespace",
85
+ "name",
86
+ "version",
87
+ "eval_method_instance",
88
+ "eval_procedure_instance",
89
+ "caption",
90
+ "description",
91
+ "evaluation_id",
92
+ )
93
+ list_filter = ("namespace", "eval_method_instance", "eval_procedure_instance")
94
+ raw_id_fields = (
95
+ "parent_evals",
96
+ "data_eval",
97
+ "data_results",
98
+ "visualisations",
99
+ "tags",
100
+ )
101
+ search_fields = ()
@@ -0,0 +1,63 @@
1
+ """_____________________________________________________________________
2
+
3
+ :PROJECT: LARAsuite
4
+
5
+ *lara_django_data app *
6
+
7
+ :details: lara_django_data app configuration.
8
+ This provides a generic django app configuration mechanism.
9
+ For more details see:
10
+ https://docs.djangoproject.com/en/4.0/ref/applications/
11
+ -
12
+ :authors: mark doerr <mark.doerr@uni-greifswald.de>
13
+
14
+ .. note:: -
15
+ .. todo:: -
16
+ ________________________________________________________________________
17
+ """
18
+
19
+ from django.apps import AppConfig
20
+
21
+ from django.db.models.signals import pre_save, post_save
22
+
23
+
24
+ class LaraDjangoDataConfig(AppConfig):
25
+ name = 'lara_django_data'
26
+ url_path = 'data/'
27
+ # enter a verbose name for your app: lara_django_data here - this will be used in the admin interface
28
+ verbose_name = 'LARA-django Data'
29
+ # lara_app_icon = 'lara_django_data_icon.svg' # this will be used to display an icon, e.g. in the main LARA menu.
30
+ lara_app_color = 'sky' # this will be used to highlight the app in the main LARA sidebar and app page
31
+ lara_app_icon = "lara_data_icon.svg"
32
+ verbose_name_short = "Data"
33
+ lara_app_description = "Data and Evaluations"
34
+ lara_class_apps = [
35
+ {
36
+ "name": "Data",
37
+ "path": "lara_django_data:data-list", # "/projects/project/list",
38
+ "icon": "lara_projects_icon.svg",
39
+ "color": lara_app_color,
40
+ },
41
+ {
42
+ "name": "Evaluations",
43
+ "path": "lara_django_data:data-list",
44
+ "icon": "lara_experiments_icon.svg",
45
+ "color": lara_app_color,
46
+ }
47
+ ]
48
+ lara_instance_apps = []
49
+
50
+ def ready(self):
51
+ from . import signals
52
+
53
+ pre_save.connect(signals.pre_save_handler, dispatch_uid='lara_django_data.post_save' )
54
+
55
+ # add urlpatterns
56
+ from django.urls import path, include
57
+ from lara_django.urls import urlpatterns
58
+
59
+ urlpatterns += [
60
+ path(self.url_path, include('lara_django_data.urls', namespace='lara_django_data')),
61
+ ]
62
+
63
+