{"id":27065,"library":"invenio-accounts","title":"Invenio-Accounts","description":"Invenio module for user management and authentication. Handles user registration, login, password reset, and session management. Current version 7.2.1 (requires Python >=3.7). Released under the MIT license. Maintenance mode; new features are being integrated into InvenioRDM.","status":"maintenance","version":"7.2.1","language":"python","source_language":"en","source_url":"https://github.com/inveniosoftware/invenio-accounts","tags":["invenio","user management","authentication","flask"],"install":[{"cmd":"pip install invenio-accounts","lang":"bash","label":"Latest release"}],"dependencies":[{"reason":"Core framework integration","package":"invenio-base","optional":false},{"reason":"Legacy dependency for some account views (may be removed in future versions)","package":"flask-security","optional":true}],"imports":[{"note":"InvenioAccounts is the Flask extension class, not a model.","wrong":"from invenio_accounts.models import InvenioAccounts","symbol":"InvenioAccounts","correct":"from invenio_accounts import InvenioAccounts"},{"note":"The User model is in invenio_accounts.models.","symbol":"User","correct":"from invenio_accounts.models import User"}],"quickstart":{"code":"from flask import Flask\nfrom invenio_accounts import InvenioAccounts\n\napp = Flask(__name__)\napp.config['SECRET_KEY'] = 'change_this_key'\nInvenioAccounts(app)\n\n@app.route('/')\ndef index():\n    return 'Hello'\n\nif __name__ == '__main__':\n    app.run()","lang":"python","description":"Minimal Flask app with Invenio-Accounts initialized."},"warnings":[{"fix":"Run the provided upgrade script `invenio accounts upgrade` or manually rehash passwords with scrypt.","message":"In version 7.0, the default hashing algorithm for passwords changed from bcrypt to scrypt. Existing passwords stored with bcrypt will fail to verify unless migrated.","severity":"breaking","affected_versions":">=7.0"},{"fix":"Install `Flask-Security` and configure it alongside Invenio-Accounts, or implement your own login/registration views.","message":"The `invenio-accounts` package does not include a ready-to-use user interface. You must integrate with Flask-Security or build custom templates.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'3.7':25 '7.2.1':22 'account':3 'authent':10,43 'current':20 'featur':34 'flask':44 'handl':11 'integr':37 'invenio':2,4,40 'invenio-account':1 'inveniordm':39 'licens':30 'login':14 'mainten':31 'manag':8,19,42 'mit':29 'mode':32 'modul':5 'new':33 'password':15 'python':24 'registr':13 'releas':26 'requir':23 'reset':16 'session':18 'user':7,12,41 'version':21","created_at":"2026-05-01T17:44:19.934213+00:00","updated_at":"2026-05-01T17:44:19.934213+00:00","problems":[{"fix":"Run `pip install invenio-accounts` in your current environment.","cause":"The package is not installed or is installed in a different environment.","error":"ModuleNotFoundError: No module named 'invenio_accounts'"},{"fix":"Use `from invenio_accounts import InvenioAccounts`.","cause":"Using an outdated import path. InvenioAccounts was previously located in invenio_accounts.ext or similar.","error":"ImportError: cannot import name 'InvenioAccounts'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"invenio","cli_version":"sh: 1: invenio: not found","type":"library","homepage":"https://inveniosoftware.org","github":"https://github.com/inveniosoftware/invenio-accounts","docs":null,"changelog":null,"pypi":"https://pypi.org/project/invenio-accounts/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["auth-security","web-framework","database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}