OLDP — это веб-приложение, написанное на Python 3.5 и основанное на веб-фреймворке Django. Оно используется для обработки юридического текста и предоставления поисковой системы на основе REST-API и Elasticsearch. OLDP разрабатывается некоммерческой инициативой Open Legal Data с целью создания платформы открытых данных для юридических документов (в основном судебных решений и законов). Платформа делает юридическую информацию свободно доступной для широкой публики и особенно для сторонних приложений.
Наша документация доступна здесь.
Живая демо-версия доступна здесь (на немецком языке).
Прежде чем вы сможете использовать OLDP, вам необходимо его установить. Более подробное руководство о том, как начать работу с OLDP, см. в разделе Начало работы.
Чтобы пропустить всю процедуру установки, вы можете просто запустить OLDP как контейнер Docker. Просто сначала git clone
репозиторий, а затем запустите все с помощью docker-compose up
из каталога репозитория. Небольшое руководство по использованию OLDP с Docker можно найти здесь.
Прежде всего вам необходимо установить зависимости приложения.
# Create virtualenv
virtualenv -p python3 env
source env/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)
pip install -r requirements.txt
npm install
При первом запуске OLDP вам потребуется инициализировать базу данных с пустыми значениями по умолчанию. Если вы хотите запустить OLDP в производственном режиме, вам также необходимо подготовить статические файлы и локализацию.
# Prepare assets (JS, CSS, images, fonts, ...)
npm run-script build
# 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
Выполните следующую команду, чтобы запустить веб-приложение по адресу http://localhost:8000/.
./manage.py runserver 8000
Для управления настройками приложения мы полагаемся на конфигурации django. Предварительно настроенные настройки можно использовать, установив для переменной среды DJANGO_CONFIGURATION
значение Prod
, Dev
или Test
. Вы также можете переопределить определенные настройки из oldp/settings.py
с помощью переменных среды:
Имя переменной | Значение по умолчанию | Комментарий |
---|---|---|
DJANGO_SETTINGS_MODULE | oldp.settings | Сообщите Django, какой файл настроек вы хотите использовать (в синтаксисе пути Python). |
DJANGO_CONFIGURATION | Prod | Выбор предопределенного класса настроек: Dev , Prod или Test |
DATABASE_URL | mysql://oldp:[email protected]/oldp | Путь к базе данных (обычно mysql или sqlite) |
DJANGO_SECRET_KEY | None | Установите для этого секретное значение в производственном режиме. |
DJANGO_ELASTICSEARCH_URL | http://localhost:9200/ | Настройки Elasticsearch (схема, хост, порт) |
DJANGO_ELASTICSEARCH_INDEX | oldp | Имя индекса Elasticsearch |
DJANGO_DEBUG | True | Включите отображение сообщений и ошибок отладки. |
DJANGO_ADMINS | Admin,[email protected] | Формат: Foo,[email protected];Bar,[email protected] |
DJANGO_ALLOWED_HOSTS | None | Формат: foo.com,bar.net |
DJANGO_LANGUAGES_DOMAINS | Формат: {'de.foo.com':'de','fr.foo.com':'fr'} | |
DJANGO_DEFAULT_FROM_EMAIL | [email protected] | Письма отправляются с этого адреса |
DJANGO_EMAIL_HOST | localhost | SMTP-сервер |
DJANGO_EMAIL_HOST_USER | SMTP-пользователь | |
DJANGO_EMAIL_HOST_PASSWORD | SMTP-пароль | |
DJANGO_EMAIL_USE_TLS | False | включить TLS |
DJANGO_EMAIL_PORT | 25 | SMTP-порт |
DJANGO_FEEDBACK_EMAIL | [email protected] | На этот адрес отправляются сообщения из виджета обратной связи. |
DJANGO_TIME_ZONE | UTC | Часовой пояс |
DJANGO_TEST_WITH_ES | False | Запуск тестов, требующих Elasticsearch |
DJANGO_TEST_WITH_WEB | False | Запуск тестов, требующих веб-доступа |
DJANGO_LOG_FILE | oldp.log | Имя файла журнала (в каталоге журналов) |
DJANGO_CACHE_DISABLE | False | Установите значение True , чтобы отключить кеш (Redis). |
Пожалуйста, используйте наши вопросы GitHub, чтобы сообщить об ошибках, запросить функцию или просто оставить отзыв.
Чтобы связаться с Платформой открытых правовых данных, см. здесь:
https://de.openlegaldata.io/contact/
Если вы используете наш код или данные, процитируйте следующую исследовательскую работу:
@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 лицензируется по лицензии MIT.