Metadata-Version: 2.4
Name: django-daiquiri
Version: 1.4.0
Summary: Daiquiri is a framework for the publication of scientific databases.
Author-email: Jochen Klar <mail@jochenklar.de>, Kirill Makan <kmakan@aip.de>
License: Apache-2.0
Project-URL: documentation, https://django-daiquiri.github.io
Project-URL: homepage, https://django-daiquiri.github.io
Project-URL: issues, https://github.com/django-daiquiri/daiquiri/issues
Project-URL: repository, https://github.com/django-daiquiri/daiquiri.git
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django :: 5.2
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
License-File: AUTHORS
Requires-Dist: astropy<8.1,>=7.1
Requires-Dist: celery<5.7.0,>=5.5.3
Requires-Dist: Django<5.3.0,>=5.2.5
Requires-Dist: django-allauth[openid,socialaccount]<65.19,>=65.11
Requires-Dist: python-dotenv<1.3.0,>=1.1.1
Requires-Dist: django-extensions~=4.1
Requires-Dist: django-filter<27.0,>=25.1
Requires-Dist: django-honeypot~=1.3.0
Requires-Dist: django-ipware~=7.0.1
Requires-Dist: django-sendfile2~=0.7.2
Requires-Dist: django-settings-export~=1.2.1
Requires-Dist: django-user-agents~=0.4.0
Requires-Dist: django-widget-tweaks~=1.5.0
Requires-Dist: djangorestframework<3.18.0,>=3.16.1
Requires-Dist: dj-database-url<3.2.0,>=3.0.1
Requires-Dist: drf-extensions~=0.8.0
Requires-Dist: ipaddress~=1.0.23
Requires-Dist: iso8601~=2.1.0
Requires-Dist: jsonfield~=3.2.0
Requires-Dist: lunr~=0.8.0
Requires-Dist: Markdown<3.11.0,>=3.8.2
Requires-Dist: pandas<3.1.0,>=2.3.2
Requires-Dist: passlib>=1.7.4
Requires-Dist: pyarrow<25.1.0,>=21.0.0
Requires-Dist: Pygments<2.21.0,>=2.19.2
Requires-Dist: PyJWT<2.14.0,>=2.10.1
Requires-Dist: queryparser-python3~=0.7.4
Requires-Dist: rules~=3.5
Requires-Dist: sqlalchemy<2.1.0,>=2.0.43
Requires-Dist: XlsxWriter==3.2.9
Provides-Extra: ci
Requires-Dist: coveralls; extra == "ci"
Requires-Dist: django-daiquiri[postgres,pytest]; extra == "ci"
Provides-Extra: dev
Requires-Dist: build; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: django-daiquiri[pytest]; extra == "dev"
Provides-Extra: gunicorn
Requires-Dist: gunicorn>=23.0; extra == "gunicorn"
Provides-Extra: postgres
Requires-Dist: psycopg[binary]<3.4.0,>=3.2.9; extra == "postgres"
Provides-Extra: pytest
Requires-Dist: coverage<7.16.0,>=7.10.5; extra == "pytest"
Requires-Dist: pytest<9.2.0,>=8.4.1; extra == "pytest"
Requires-Dist: pytest-cov<7.2,>=6.2; extra == "pytest"
Requires-Dist: pytest-django~=4.11.1; extra == "pytest"
Requires-Dist: pytest-dotenv~=0.5.2; extra == "pytest"
Requires-Dist: pytest-mock<3.16.0,>=3.14.1; extra == "pytest"
Dynamic: license-file

# Daiquiri

[![pytest Workflow Status](https://github.com/django-daiquiri/daiquiri/actions/workflows/pytest.yml/badge.svg)](https://github.com/django-daiquiri/daiquiri/actions/workflows/pytest.yml)
[![Coverage Status](https://coveralls.io/repos/django-daiquiri/daiquiri/badge.svg?branch=main&service=github)](https://coveralls.io/github/django-daiquiri/daiquiri?branch=main)
[![Latest Version](https://img.shields.io/pypi/v/django-daiquiri.svg?style=flat)](https://pypi.org/project/django-daiquiri/)
[![Python versions](https://img.shields.io/pypi/pyversions/django-daiquiri.svg)](https://pypi.org/project/django-daiquiri/)
[![Documentation](https://img.shields.io/badge/docs-online-blue)](https://django-daiquiri.github.io/)
[![License](https://img.shields.io/github/license/django-daiquiri/daiquiri)](https://github.com/django-daiquiri/daiquiri/blob/main/LICENSE)

Daiquiri is a Django framework and Python package for building scientific
data-publication web applications. It provides database query interfaces and
APIs, metadata management, file downloads, asynchronous jobs, and
standards-based endpoints such as TAP, Cone Search, and OAI-PMH.

## Quick start

### Try the default app with the PyPI package

The simplest way to try Daiquiri is through [`dq-dev`](https://github.com/django-daiquiri/dq-dev).
You need Git, Docker Engine, Docker Compose v2, and Python 3.11 or newer.

Clone the default application and the container workflow. You do not need to
clone the Daiquiri source repository for this setup:

```bash
git clone https://github.com/django-daiquiri/app.git
git clone https://github.com/django-daiquiri/dq-dev.git

cd dq-dev
python3 -m venv .venv
source .venv/bin/activate
python -m pip install .
python manage.py -c quickstart
python manage.py -s quickstart
```

Edit `usr/profiles/quickstart/conf.toml` and set the absolute path to the
default application. Comment out both `dq_source` entries so that `dq-dev`
installs the released `django-daiquiri` package from PyPI:

```toml
[folders_on_host]
dq_app = "/absolute/path/to/app"
# dq_source = "/path/to/daiquiri"

[docker_volume_mountpoints]
dq_app = "/home/dq/app"
# dq_source = "/home/dq/source"
```

Keep the default development settings:

```toml
[env.daiquiri]
debug = true
enable_gunicorn = false
```

Start the profile:

```bash
python manage.py -r
```

Open <http://localhost:9280> in a browser. The default profile starts the
Daiquiri application and PostgreSQL containers. You can login using the
username and password `admin`. Asynchronous workers are
disabled by default.

### Develop Daiquiri with a local source checkout

If you are developing Daiquiri itself, also clone the source repository:

```bash
git clone https://github.com/django-daiquiri/daiquiri.git
```

Set `dq_source` in the host-side folder configuration to the absolute path of
that checkout. Keep the container mount point unchanged:

```toml
[folders_on_host]
dq_app = "/absolute/path/to/app"
dq_source = "/absolute/path/to/daiquiri"

[docker_volume_mountpoints]
dq_source = "/home/dq/source"
```

Run the same `dq-dev` profile and edit the Daiquiri source on the host. With
`debug = true` and `enable_gunicorn = false`, the development server reloads
Python changes and they can be viewed at <http://localhost:9280>.

See [`CONTRIBUTING.rst`](CONTRIBUTING.rst) for the development and pull-request
workflow.

## Documentation

- [Full installation](https://django-daiquiri.github.io/docs/installation/)
- [Deployment](https://django-daiquiri.github.io/docs/deployment/)
- [Configuration and settings](https://django-daiquiri.github.io/docs/settings/)
- [Administration](https://django-daiquiri.github.io/docs/administration/)
- [Daiquiri documentation](https://django-daiquiri.github.io/)

For issues and feature requests, use the [GitHub issue tracker](https://github.com/django-daiquiri/daiquiri/issues).

## License

Daiquiri is released under the [Apache License 2.0](LICENSE).
