{"id":23895,"library":"invenio-base","title":"Invenio-Base","description":"Base package for building Invenio application factories. Provides foundational utilities such as configuration loading, instance path setup, logging configuration, and Flask application factory. Current version 2.4.0, requires Python >=3.7. Invenio-Base follows semantic versioning with a stable release cadence.","status":"active","version":"2.4.0","language":"python","source_language":"en","source_url":"https://github.com/inveniosoftware/invenio-base","tags":["invenio","flask","application-factory","digital-library"],"install":[{"cmd":"pip install invenio-base","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"The main class is InvenioBase, not Base.","wrong":"from invenio_base import Base","symbol":"InvenioBase","correct":"from invenio_base import InvenioBase"},{"note":"create_app is located in the app submodule.","wrong":"from invenio_base import create_app","symbol":"create_app","correct":"from invenio_base.app import create_app"}],"quickstart":{"code":"from invenio_base.app import create_app\nfrom invenio_base import InvenioBase\n\nclass MyApp(InvenioBase):\n    pass\n\napp = create_app(MyApp)\nif __name__ == '__main__':\n    app.run()","lang":"python","description":"Create a minimal Invenio application using InvenioBase and create_app."},"warnings":[{"fix":"Upgrade Python to 3.7+ or pin to invenio-base<2.0.0 if stuck on Python 2.7/3.6.","message":"Invenio-Base dropped support for Python 3.6 and earlier. Requires Python >=3.7.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Remove imports from invenio_base.helpers; use standard library or Flask helpers instead.","message":"Invenio-Base 2.0.0 removed the deprecated invenio_base.helpers module. Code depending on helpers must be updated.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Ensure you pass the class (not an instance) to create_app.","message":"The create_app function requires an InvenioBase subclass, not an instance. Passing an instance will raise a TypeError.","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":"Call create_app with your InvenioBase subclass: create_app(MyApp).","cause":"Calling create_app() without the mandatory app_class argument.","error":"TypeError: create_app() missing 1 required positional argument: 'app_class'"},{"fix":"Use 'from invenio_base import InvenioBase' instead of 'from invenio_base import Base'.","cause":"Wrong import path; Base class is named InvenioBase.","error":"AttributeError: module 'invenio_base' has no attribute 'Base'"},{"fix":"Remove import of invenio_base.helpers or update code to use other utilities.","cause":"The helpers submodule was removed in invenio-base 2.0.0.","error":"ModuleNotFoundError: No module named 'invenio_base.helpers'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}