Metadata-Version: 2.4
Name: endoreg_db
Version: 1.6.0
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: django-bootstrap5>=25.2
Requires-Dist: django-cors-headers>=4.8.0
Requires-Dist: django-extensions>=3.2.3
Requires-Dist: django>=5.2.4
Requires-Dist: djangorestframework>=3.16.1
Requires-Dist: dotenv>=0.9.9
Requires-Dist: faker>=37.6.0
Requires-Dist: icecream>=2.1.4
Requires-Dist: numpy>=2.2.3
Requires-Dist: opencv-python-headless>=4.11.0.86
Requires-Dist: pandas>=2.2.3
Requires-Dist: pillow>=11.3.0
Requires-Dist: pydantic>=2.12
Requires-Dist: pytesseract>=0.3.13
Requires-Dist: python-ffmpeg>=2.0.12
Requires-Dist: pytorch-lightning>=2.5.1
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: regex>=2024.11.6
Requires-Dist: scikit-learn>=1.5.2
Requires-Dist: scipy>=1.16.1
Requires-Dist: sphinx-rtd-theme>=3.0.2
Requires-Dist: sphinx>=8.2.3
Requires-Dist: tesseract>=0.1.3
Requires-Dist: llvmlite>=0.44.0
Requires-Dist: tqdm>=4.67.0
Requires-Dist: urllib3>=2.2.3
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: xlrd>=2.0.2
Requires-Dist: pyjwt>=2.10.1
Requires-Dist: cryptography>=44.0.2
Requires-Dist: whitenoise>=6.10.0
Requires-Dist: requests>=2.32.3
Requires-Dist: gunicorn>=23.0.0
Requires-Dist: django-filter>=25.1
Requires-Dist: django-ninja==1.5.3
Requires-Dist: optimum==1.26.1
Requires-Dist: torch==2.5.1
Requires-Dist: torchaudio==2.5.1
Requires-Dist: torchvision==0.20.1
Requires-Dist: transformers==4.45.0
Requires-Dist: librosa==0.11.0
Requires-Dist: soundfile==0.12.1
Requires-Dist: vector-quantize-pytorch==1.18.5
Requires-Dist: vocos==0.1.0
Requires-Dist: moviepy==2.2.1
Requires-Dist: safetensors>=0.4.5
Requires-Dist: celery[redis]>=5.5.3
Requires-Dist: python-magic>=0.4.27
Requires-Dist: python-jose[cryptography]>=3.5.0
Requires-Dist: mozilla-django-oidc>=4.0.1
Requires-Dist: lx-anonymizer[gpu]==1.0.9
Requires-Dist: googlemaps>=4.10.0
Requires-Dist: numba>=0.63.1
Requires-Dist: ziglang>=0.15.2
Requires-Dist: ffprobe>=0.5
Requires-Dist: kombu>=5.6.1
Requires-Dist: report-pdf-renderer>=0.1.0
Requires-Dist: lx-ai-core[torch]==0.0.4
Requires-Dist: celery-types>=0.26.0
Requires-Dist: lightning-fabric>=2.6.5
Requires-Dist: lx-dtypes>=0.5.5
Requires-Dist: snakemake==9.23.1
Requires-Dist: types-xlrd>=2.0.0 ; extra == 'dev'
Requires-Dist: black ; extra == 'dev'
Requires-Dist: build>=1.3.0 ; extra == 'dev'
Requires-Dist: flake8>=7.3.0 ; extra == 'dev'
Requires-Dist: mypy>=1.16.0 ; extra == 'dev'
Requires-Dist: pip>=25.2 ; extra == 'dev'
Requires-Dist: prek>=0.5.3 ; extra == 'dev'
Requires-Dist: pytest>=8.3.5 ; extra == 'dev'
Requires-Dist: pytest-cov>=6.1.1 ; extra == 'dev'
Requires-Dist: pytest-django>=4.11.1 ; extra == 'dev'
Requires-Dist: pytest-env>=1.1.5 ; extra == 'dev'
Requires-Dist: pytest-xdist>=3.6.1 ; extra == 'dev'
Requires-Dist: ruff>=0.14.0 ; extra == 'dev'
Requires-Dist: django-stubs>=5.2.8 ; extra == 'dev'
Requires-Dist: djangorestframework-stubs>=3.16.6 ; extra == 'dev'
Requires-Dist: types-django-filter>=25.2.0.20251010 ; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0.12.20250915 ; extra == 'dev'
Requires-Dist: types-requests>=2.32.4.20250913 ; extra == 'dev'
Requires-Dist: types-tqdm>=4.67.0.20250809 ; extra == 'dev'
Requires-Dist: twine>=6.2.0 ; extra == 'dev'
Requires-Dist: pyright>=1.1.414 ; extra == 'dev'
Requires-Dist: pylint>=4.0.5 ; extra == 'dev'
Requires-Dist: vulture>=2.16 ; extra == 'dev'
Requires-Dist: radon>=6.0.1 ; extra == 'dev'
Requires-Dist: pytest-postgresql>=9.1.0 ; extra == 'dev'
Requires-Dist: linkify-it-py>=2.0.3 ; extra == 'docs'
Requires-Dist: myst-parser>=4.0.1 ; extra == 'docs'
Requires-Dist: sphinx-autodoc-typehints>=3.5.2 ; extra == 'docs'
Requires-Dist: sphinx-copybutton>=0.5.2 ; extra == 'docs'
Requires-Dist: sphinx>=8.2.3,<9.0 ; extra == 'docs'
Requires-Dist: furo>=2025.9.25 ; extra == 'docs'
Provides-Extra: dev
Provides-Extra: docs
License-File: LICENSE
Summary: EndoReg Db Django App
Home-Page: https://info.coloreg.de
Author: Hamza Zahid
Author-email: "Thomas J. Lux" <lux_t1@ukw.de>, Max Hild <hild_m@ukw.de>
Maintainer: Hamza Zahid
Maintainer-email: "Thomas J. Lux" <lux_t1@ukw.de>, Max Hild <hild_m@ukw.de>
Requires-Python: >=3.12, <3.13
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://info.coloreg.de
Project-URL: Repository, https://github.com/wg-lux/endoreg-db

[![Built with devenv](https://devenv.sh/assets/devenv-badge.svg)](https://devenv.sh)

# EndoReg-DB

EndoReg-DB helps clinical teams manage endoscopy data and prepare it for research.
It is a reusable Django application with shared data models, terminology, report
and video processing, and authenticated APIs.

Start with the [project overview](docs/project_overview.md). Then follow the
[contributor roadmap](docs/README.md#contributor-roadmap) to explore the system,
set it up locally, and choose a contribution.

## Quick start

This checkout uses Python 3.12, `uv`, and the environment in `devenv.nix`.
From the repository root:

```bash
direnv allow
devenv tasks run agent:sync
uv run python manage.py migrate
uv run python manage.py setup_endoreg_db
```

`setup_endoreg_db` loads base data and runs setup checks. To load base data
separately, use `load_base_db_data` as described in the
[configuration guide](setup/CONFIGURATION_GUIDE.md). That guide also covers
environment variables, deployment roles, and protected storage.

## Explore and contribute

| Your goal | Start here |
| --- | --- |
| Understand the project | [Capabilities and deployment roles](docs/project_overview.md) |
| Make a first contribution | [Contributor roadmap](docs/README.md#contributor-roadmap) |
| Explore development areas | [Project development](docs/README.md#project-development) |
| Integrate an application | [API, access, and security](docs/README.md#api-access-and-security) |
| Run a deployment | [Deployment and operations](docs/README.md#deployment-and-operations) |
| Try the data models | [Django shell examples](docs/developer_examples.md) |
| Check feature progress | [Feature tracker](feature-tracking/README.md) |

## Development

Run the fast test lane:

```bash
devenv tasks run test:fast
```

Read [AGENTS.md](AGENTS.md) for contribution rules and required checks. The
[documentation index](docs/README.md) links to guides, contracts, and runbooks.

## Data handling

Local watchers and authenticated APIs use shared import services. Applications
access media through center-scoped APIs. Deployments provide encrypted storage
as required by their storage profile.

Read the [privacy guide](setup/HOW_WE_KEEP_DATA_PRIVATE.md) and
[video storage contract](docs/video_storage_normalization.md) before changing
these workflows. See [backup and recovery](docs/backup_recovery.md) for recovery
procedures.

## Repository map

| Path | Contents |
| --- | --- |
| `endoreg_db/` | Application, services, models, commands, and seed data |
| `docs/` | Architecture, APIs, guides, and runbooks |
| `setup/` | Configuration, privacy, and AI setup |
| `feature-tracking/` | Feature scope, acceptance criteria, and verification evidence |
| `tests/` | Automated tests grouped by application area |
| `scripts/` | Repository tools and checks; GPU diagnostics are in `diagnostics/` |
| `workflow/` | Reusable workflow profiles |

Further reading: [AI model setup](setup/AI_MODEL_SETUP.md),
[companion tools](docs/companion_tools.md),
[historical Wiki references](docs/legacy_wiki_index.md), and [license](LICENSE).

