Base bundleΒΆ

The base bundle contains all modules related to the generic web application. This includes the Flask/Celery application factories, configuration management, I18N, logging, database management, assets/theme management, mail handling and administration interface.

Included modules:

  • invenio-admin
    • Administration interface for Invenio based on Flask-Admin.

  • invenio-app
    • Flask, WSGI, Celery and CLI applications for Invenio including security-related headers and rate limiting.

  • invenio-assets
    • Static files management and Webpack integration for Invenio.

  • invenio-base
    • Flask application factories implementing the application loading patterns with entry points in Invenio.

  • invenio-cache
    • Caching module for Invenio, supporting Redis and Memcached as backends.

  • invenio-celery
    • Task discovery and default configuration of Celery for Invenio.

  • invenio-config
    • Configuration loading pattern responsible for loading configuration from Python modules, instance folder and environment variables.

  • invenio-db
    • Database connection management for Invenio.

  • invenio-formatter
    • Jinja template engine utilities for Invenio.

  • invenio-i18n
    • I18N utilities like user locale detection, message catalog merging and views for language change.

  • invenio-logging
    • Configuration of logging to both console, files and log aggregation engines like sentry.io

  • invenio-mail
    • Mail sending for Invenio using Flask-Mail.

  • invenio-rest
    • REST API utilities including Cross Origin Resource Sharing (CORS) and Content Negotiation versioning support.

  • invenio-theme
    • Jinja templates implementing a basic theme for Invenio as well as menus and breadcrumbs support.

  • docker-invenio
    • Docker base images based on CentOS 7 for Invenio.

  • pytest-invenio
    • Testing utilities for Invenio modules and applications.