// readme

FOCA

An archetype for OpenAPI-based web services in Python, brought to you by ELIXIR On-Cloud. FOCA (Flask-OpenAPI-Connexion-Archetype) builds a Connexion app on Flask from your OpenAPI specifications and a single configuration file, so that you only write the controllers and the logic of your app. It provides:

  • OpenAPI 2.x/3.x specifications, validated and routed by Connexion and modified on the fly;
  • a validated, typed configuration, with environment-specific overlays;
  • errors as problem details;
  • bearer token validation for the OpenID Connect providers that you trust;
  • access control with Casbin: policies on all operations, roles of users and groups, resource ownership and a permissions API;
  • MongoDB databases, collections and indexes;
  • background tasks with Celery and RabbitMQ;
  • CORS and a [GA4GH service…