Open Legal Data Platform
See the code[!NOTE] We're back! This project is getting a fresh update - join us on Discord to help revive it.
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.
A live demo is available here (in German).
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
To skip the whole installation procedure you can simply run OLDP as Docker (or Podman) container. Steps:
git clone https://github.com/openlegaldata/oldplocal.env) to .envmake up, which will either call the docker or podman container engine depending on your setupA small tutorial on how to use OLDP with Docker can be found here.
Before anything else you will need to install the application dependencies.
# 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 the following command to start the web app at http://localhost:8000/.
./manage.py runserver 8000
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, …).
Please use our GitHub issues to report bugs, request feature or simply leave some feedback.
To contact Open Legal Data Platform, see here:
https://de.openlegaldata.io/contact/
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}
}
OLDP is licensed under the MIT License.
Overall
Maintained
Code review
PyPI
Latest release
Releases this year
110 followers · starred Jan 2022
113 followers · starred Jan 2021
364 followers · starred Sep 2026
Open Legal Data Platform
See the code[!NOTE] We're back! This project is getting a fresh update - join us on Discord to help revive it.
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.
A live demo is available here (in German).
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
To skip the whole installation procedure you can simply run OLDP as Docker (or Podman) container. Steps:
git clone https://github.com/openlegaldata/oldplocal.env) to .envmake up, which will either call the docker or podman container engine depending on your setupA small tutorial on how to use OLDP with Docker can be found here.
Before anything else you will need to install the application dependencies.
# 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 the following command to start the web app at http://localhost:8000/.
./manage.py runserver 8000
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, …).
Please use our GitHub issues to report bugs, request feature or simply leave some feedback.
To contact Open Legal Data Platform, see here:
https://de.openlegaldata.io/contact/
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}
}
OLDP is licensed under the MIT License.
Overall
Maintained
Code review
PyPI
Latest release
Releases this year
110 followers · starred Jan 2022
113 followers · starred Jan 2021
364 followers · starred Sep 2026