A new generic API that exposes datasets. It uses the "Amsterdam Schema" to define the datasets, and exposes these in a DSO (Digitaal Stelsel Omgevingswet) compatible API. Part of that means that the API follows the HAL-JSON style.
- Python >= 3.9
- Recommended: Docker/Docker Compose
Run docker compose:
docker compose up
Navigate to localhost:8090
.
By default a collection of example datasets is loaded, and a local database is setup and initialized. This behaviour can be changed with environment variables as described below.
The following environment variables are useful for configuring a local development environment.
DATABASE_URL
: the postgresql URL of the database the application should connect to. The default is thedatabase
container in the compose file.INITIALIZE_DB
: Initialize the database with django migrate and import schema's. Defaulttrue
.MOCK_DATA
: Fill the initialized database with autogenerated mock data. Default:false
.SCHEMA_URL
: URL of the dataset schemas. To use the production schemas set this to: "https://schemas.data.amsterdam.nl/datasets/" Default is theschemas
container in the compose file.
To connect to an authentication provider, setup the following environment variables:
OAUTH_CLIENT_ID
: The client id of the applicationOAUTH_JWKS_URL
: The JWKS URL of the authentication provider.OAUTH_URL
: The auth URL of the authentication provider.
A local setup using the production dataset schema's with mock data:
export INITIALIZE_DB=true
export MOCK_DATA=true
export SCHEMA_URL="https://schemas.data.amsterdam.nl/datasets/"
compose up
See the instructions at: https://dso-api.readthedocs.io/en/latest/howto/install.html
These instructions can also be found in the dev-docs/source/howto/install.rst
file.
See: https://api.data.amsterdam.nl/v1/docs/ or the docs
folder.