General
This fastapi-based application provides a REST-API for LEAF-Writer to query when annotating objects. To annotate objects, information from authorities such as GND, Wikidata and so on ca be used. LEAF-Writer used to query these authorities directly, however, an increasing number of authorities set CORS-headers, making this strategie unavailable. Therefore, a backend service is needed. This backend service queries authorities on behalf of LEAF-Writer and returns the results.
Upstream LEAF-Writer developers use their LINCS-API for this purpose. To make standalone deployments of LEAF-Writer possible that do not rely on upstream services the reconcile
-API has been re-implemented in this package to be used by LEAF-Writer.
This application is intended to be used as a dependency running for LEAF-Writer. It may or may not be of any use outside the context of LEAF-Writer.
Development
- Create a virtual Python Environment and install all requirements as specified in
requirements.txt
with the toolings of your liking. - Run
fastapi dev app/main.py
for a development environment
Deployment
This application is intended to be deployed together with a LEAF-Writer instance, see LEAF-Writer Deployment.
If you want or need a standalone deployment, you can start by building upon the provided Dockerfile
. When using this Dockerfile the application runs on port 5700
with the route-prefix of /authority-api
.