Skip to main content

OLDP: Open Legal Data Platform

[!NOTE] We're back! This project is getting a fresh update - join us on Discord to help revive it.

Documentation PyPI version

OLDP is a Web application, written in Python 3.12 and based on the Django web framework, It is used for processing legal text and providing a REST-API and Elasticsearch-based search engine. OLDP is being develop by the non-profit initiative Open Legal Data with the goal of building an Open Data platform for legal documents (mainly court decisions and laws). The platform makes legal information freely accessible for the general public and especially third-party apps.

Our documentation is available here.

Demo

Live demo

A live demo is available here (in German).

Features

  • Cases: Court decisions with meta data and content in HTML.
  • Laws: Full-text laws and regulations and their corresponding case-law.
  • Courts: Browse courts organized by states, jurisdiction and level of appeal from your country.
  • Search: A document search engine based on Elasticsearch/Haystack supporting most common search syntax and faceting.
  • API: Adding, updating, retrieving and deleting data through CRUD REST API based on DRF including auto-generated API clients from Swagger.
  • Themes: Easily adjust the look and feel depending on your countries needs (see German theme).

Installation guide

Before you can use OLDP, you’ll need to get it installed. For a more detailed guide on how to get started with OLDP have a look at: Getting started

Docker

To skip the whole installation procedure you can simply run OLDP as Docker (or Podman) container. Steps:

  1. Clone the repository git clone https://github.com/openlegaldata/oldp
  2. Rename the local env file (local.env) to .env
  3. Run make up, which will either call the docker or podman container engine depending on your setup
  4. Navigate to localhost:8000 to view the site

A small tutorial on how to use OLDP with Docker can be found here.

Dependencies

Before anything else you will need to install the application dependencies.

  • Python 3.12 with pip (uv recommended)
  • Database (MySQL, SQLite, ...): All database engines that support Django's DB API should work. MySQL is recommended.
  • Elasticsearch 7.17.x: Our search engine backend. Other systems supported by haystack should also work.
  • gcc Required to compile some Python libs
  • python-mysqldb, libmysqlclient-dev if you choose MySQL as database
  • gettext for Django locales with msguniq
  • pandoc convert docbook to HTML (import GG)
  • GDAL: Geospatial libraries used by the haystack search module (see here).
# Create virtualenv with uv
uv venv --python 3.12
source .venv/bin/activate

# Clone repository to current directory
git clone https://github.com/openlegaldata/oldp.git .

# Install dependencies
apt-get install -y $(cat apt_requirements.txt)
uv pip install -e ".[dev]"

The first time you run OLDP, you will need to initialize the database with its default blank values. If you want to run OLDP in production mode, you also need to prepare static files and localization.

# Prepare assets (JS, CSS, images, fonts, ...)
./manage.py compress

# Prepare database
./manage.py migrate

# Localization (German and English, needed for production)
./manage.py compilemessages --l de --l en

# Prepare static files (needed for production)
./manage.py collectstatic --no-input

Run

Run the following command to start the web app at http://localhost:8000/.

./manage.py runserver 8000

Settings

To manage the app settings we rely on django-configurations. Pre-configured settings can be used by setting the DJANGO_CONFIGURATION environment variable to either ProdConfiguration, DevConfiguration or TestConfiguration. You can also override specific settings from src/oldp/settings.py with environment variables (all prefixed with DJANGO_).

See the Configuration reference for the full list of environment variables (database, Elasticsearch, caching, email, MCP, logging, …).

Issues

Please use our GitHub issues to report bugs, request feature or simply leave some feedback.

Contact

To contact Open Legal Data Platform, see here:

https://de.openlegaldata.io/contact/

Citation

Please cite the following research paper, if you use our code or data:

@inproceedings{10.1145/3383583.3398616,
author = {Ostendorff, Malte and Blume, Till and Ostendorff, Saskia},
title = {Towards an Open Platform for Legal Information},
year = {2020},
isbn = {9781450375856},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3383583.3398616},
doi = {10.1145/3383583.3398616},
booktitle = {Proceedings of the ACM/IEEE Joint Conference on Digital Libraries in 2020},
pages = {385–388},
numpages = {4},
keywords = {open data, open source, legal information system, legal data},
location = {Virtual Event, China},
series = {JCDL '20}
}

License

OLDP is licensed under the MIT License.

Release files for oldp 0.13.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oldp 0.13.0
File Size Uploaded
oldp-0.13.0.tar.gz 499.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for oldp 0.13.0
File Interpreter ABI Platform
oldp-0.13.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / oldp-0.13.0.tar.gz

Download URL oldp-0.13.0.tar.gz
Size 499.2 kB
Tags Source
SHA-256 checksum
How to use checksums
cffca8ab8c07ac9c9f27f55b51c1c2997abf770ed61a839b37ee57d8abc709ec
BLAKE2b-256 checksum
How to use checksums
d6abc1efc601092e741a9c7f81d095dca93506d50a030a94400b010fbbf54e41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / oldp-0.13.0-py3-none-any.whl

Download URL oldp-0.13.0-py3-none-any.whl
Size 677.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54a73e1835d1d754b5b13e7479fd51477ebcbb554f1b658a1d5d54f1ec041c01
BLAKE2b-256 checksum
How to use checksums
f781c653177b01a48eadf7ab769803adccec66981f054e5cf2cddd21344bbca3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.14.4

2 release files

0.14.3

2 release files

0.14.2

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.8

2 release files

0.13.7

2 release files

0.13.6

2 release files

0.13.5

2 release files

0.13.4

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

This release

0.13.0 This release

2 release files

0.12.0

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.9

2 release files

0.10.8

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.5

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.9.12

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.8.0

1 release file

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page