{"id":27068,"library":"invenio-theme","title":"invenio-theme","description":"Invenio standard theme for the Invenio digital library framework. It provides base templates, CSS/JS assets, and theming utilities. Version 4.7.0 requires Python >=3.7. Released infrequently; follows Invenio major releases.","status":"active","version":"4.7.0","language":"python","source_language":"en","source_url":"https://github.com/inveniosoftware/invenio-theme","tags":["invenio","theme","flask","digital-library"],"install":[{"cmd":"pip install invenio-theme","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Web framework dependency","package":"Flask","optional":false},{"reason":"Internationalization support","package":"Flask-BabelEx","optional":false}],"imports":[{"note":"","wrong":"","symbol":"InvenioTheme","correct":"from invenio_theme import InvenioTheme"}],"quickstart":{"code":"from flask import Flask\nfrom invenio_theme import InvenioTheme\n\napp = Flask(__name__)\nInvenioTheme(app)\n\n@app.route('/')\ndef index():\n    return '<h1>Hello Invenio Theme</h1>'\n\nif __name__ == '__main__':\n    app.run()","lang":"python","description":"Initialize InvncioTheme on a Flask application."},"warnings":[{"fix":"Use `from invenio_theme import InvenioTheme` instead of `from invenio_theme.ext import InvenioTheme`.","message":"From version 2.0, the import path changed from `invenio_theme.ext` to `invenio_theme`. Old imports will fail.","severity":"breaking","affected_versions":"<2.0"},{"fix":"Update your Jinja template inheritance to extend `invenio_theme/page_admin.html` or `invenio_theme/page_front.html` as appropriate.","message":"The `theme.base` template no longer extends `invenio_theme/page.html`; it now extends `invenio_theme/page_admin.html`. Custom templates targeting the old base will break.","severity":"deprecated","affected_versions":">=3.0"},{"fix":"Install Flask-BabelEx: `pip install Flask-BabelEx`.","message":"The package silently requires Flask-BabelEx if you use translations. Missing it causes a `ModuleNotFoundError` at import.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Replace `from invenio_theme.ext import InvenioTheme` with `from invenio_theme import InvenioTheme`.","cause":"You are using an old import path from before version 2.0.","error":"ModuleNotFoundError: No module named 'invenio_theme.ext'"},{"fix":"Check your template inheritance: use `invenio_theme/page_admin.html` for admin pages or `invenio_theme/page_front.html` for public pages.","cause":"The base template was renamed or removed in a newer version.","error":"jinja2.exceptions.TemplateNotFound: invenio_theme/page.html"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}