Metadata-Version: 2.3
Name: lara_django
Version: 0.2.108
Summary: 
Author: mark doerr
Author-email: mark doerr <mark.doerr@uni-greifswald.de>
License: GPLv3+
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Education
Classifier: Operating System :: OS Independent
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Requires-Dist: pyyaml
Requires-Dist: django>=5.2
Requires-Dist: django-environ>=0.11
Requires-Dist: django-model-utils
Requires-Dist: django-mptt
Requires-Dist: django-crispy-forms
Requires-Dist: crispy-tailwind
Requires-Dist: django-tailwind
Requires-Dist: django-widget-tweaks
Requires-Dist: django-htmx
Requires-Dist: django-template-partials
Requires-Dist: django-webpack-loader>=3.2
Requires-Dist: django-cors-headers>=4.3
Requires-Dist: django-filter
Requires-Dist: django-tables2
Requires-Dist: django-allauth
Requires-Dist: fido2
Requires-Dist: tablib
Requires-Dist: colour
Requires-Dist: pillow
Requires-Dist: whitenoise
Requires-Dist: django-socio-grpc>=0.22
Requires-Dist: django-filter>=23.2
Requires-Dist: tablib>=3.6
Requires-Dist: grpcio>=1.66
Requires-Dist: protobuf>=5.28
Requires-Dist: sparqlwrapper>=2.0.0
Requires-Dist: emmontopy>=0.8.0
Requires-Dist: rdflib>=6.3
Requires-Dist: s3fs
Requires-Dist: boto3
Requires-Dist: minio
Requires-Dist: pika
Requires-Dist: django-storages
Requires-Dist: celery
Requires-Dist: django-celery-beat
Requires-Dist: django-mcp-server
Requires-Dist: mcp
Requires-Dist: prefect
Requires-Dist: prefect-aws
Requires-Dist: chemdatareader==0.0.4
Requires-Dist: lara-django
Requires-Dist: lara-django-base
Requires-Dist: lara-django-people
Requires-Dist: lara-django-store
Requires-Dist: lara-django-material
Requires-Dist: lara-django-material-store
Requires-Dist: lara-django-samples
Requires-Dist: lara-django-substances
Requires-Dist: lara-django-substances-store
Requires-Dist: lara-django-organisms
Requires-Dist: lara-django-organisms-store
Requires-Dist: lara-django-data
Requires-Dist: lara-django-processes
Requires-Dist: lara-django-projects
Requires-Dist: lara-django-sequences
Requires-Dist: lara-django-base-grpc
Requires-Dist: lara-django-people-grpc
Requires-Dist: lara-django-material-grpc
Requires-Dist: lara-django-material-store-grpc
Requires-Dist: lara-django-samples-grpc
Requires-Dist: lara-django-substances-grpc
Requires-Dist: lara-django-substances-store-grpc
Requires-Dist: lara-django-organisms-grpc
Requires-Dist: lara-django-organisms-store-grpc
Requires-Dist: lara-django-data-grpc
Requires-Dist: lara-django-processes-grpc
Requires-Dist: lara-django-projects-grpc
Requires-Dist: lara-django-sequences-grpc
Requires-Python: ==3.13.*
Project-URL: Documentation, https://larasuite.gitlab.io/lara_django
Project-URL: Source, https://gitlab.com/larasuite/lara_django
Project-URL: Bug Tracker, https://gitlab.com/larasuite/lara_django/issues
Project-URL: Changelog, https://gitlab.com/larasuite/lara_django/blob/main/CHANGELOG.md
Description-Content-Type: text/markdown

# LARA-django

The core LARA project database and webservice, hosting LARA-django applications for planning, storing and presenting experimental data and its meta data, realised as a python-django project


### Installation

The installation process of the database core of LARA is a very simple two-step process:
Download the *docker-compose* file and the *.env* file, and then run `docker compose pull and then up`, like described below:


To Run development version with docker compose:

```bash
 wget https://gitlab.com/LARAsuite/lara-django/-/raw/master/docker/docker-compose.dev-full.yml
 wget https://gitlab.com/LARAsuite/lara-django/-/raw/master/docker/.env.dev
 
 # or if you like curl:
 curl -O https://gitlab.com/LARAsuite/lara-django/-/blob/master/docker/docker-compose.dev-full.yml
 curl -O https://gitlab.com/LARAsuite/lara-django/-/blob/master/docker/.env.dev

```


**Important**:  rename .env.dev -> .env : 

```bash
 mv .env.dev .env
```

**Important**: in .env replace 'latest' in DOCKER_IMAGE_TAG=latest by current short [git commit hash (first 8 characters of hash)](https://gitlab.com/LARAsuite/lara-django/container_registry/4201028).

```bash
 # example: 
 DOCKER_IMAGE_TAG=b6e72259
```

**mind**: the **LARA admin / login credentials** are also set in the *.env file*, change them to your liking

To run docker compose as a non-root user, add your user to the docker group:
and mind to log out and in again to activate the group membership

```bash
sudo addgroup $USER docker
```

To pull the docker containers from the github container registry, run in the directory where the docker-compose file is located:
 
```bash
 docker compose -f docker-compose.dev-full.yml  pull
```


This above procedure needs to be done only once, to update the docker containers, run the above *pull command* again.

## Starting LARA-django with docker compose (development version)

 To start the docker containers, run in the directory where the docker-compose file is located (add -d to run in the background):

```bash
 docker compose -f docker-compose.dev-full.yml up
```


## Monitoring and Creating new entries to the LARA database:

Login to LARA-django interface with the credentials set in the .env file:

http://localhost:8008

or

http://127.0.0.1:8008 


If you see the LARA home screen, then  *Welcome to the new LARA world!*


## LARA-django admin interface:

http://localhost:8008/admin
or
http://127.0.0.1:8008/admin



## Environment variables

for development, please set (in the .env file)

    export DJANGO_ALLOWED_HOSTS=localhost
    export DJANGO_SETTINGS_MODULE=lara_django.settings.devel

for production, please set 

    export DJANGO_SETTINGS_MODULE=lara_django.settings.production

if your media does not reside in the default media folder, please set
environment variable to 

    export DJANGO_MEDIA_PATH='path/to/my/media'

to use user defined fixtures, please set: :: export
    
    DJANGO_FIXTURE_PATH='path/to/user/fixtures'


Testing all applications

## Basic Commands

### Type checks

Running type checks with mypy:

    $ mypy lara_django

### Test coverage

To run the tests, check your test coverage, and generate an HTML coverage report:

    $ coverage run -m pytest
    $ coverage html
    $ open htmlcov/index.html

#### Running tests with pytest

    $ pytest


[![Built with Cookiecutter Django](https://img.shields.io/badge/built%20with-Cookiecutter%20Django-ff69b4.svg?logo=cookiecutter)](https://github.com/cookiecutter/cookiecutter-django/)
[![Black code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)

License: GPLv3

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- prettier-ignore-start -->
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- markdownlint-disable -->
<!-- markdownlint-enable -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
<!-- prettier-ignore-end -->

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!