{"id":23197,"library":"abstra","title":"Abstra","description":"Abstra is a Python library for building web apps with Python logic, featuring a visual editor and cloud deployment. Current version: 3.30.23, released frequently (weekly).","status":"active","version":"3.30.23","language":"python","source_language":"en","source_url":"https://github.com/abstra-labs/abstra","tags":["web-framework","low-code","visual-editor","cloud-deploy"],"install":[{"cmd":"pip install abstra","lang":"bash","label":"Install Abstra"}],"dependencies":[{"reason":"Underlying web framework","package":"flask","optional":false},{"reason":"HTTP requests","package":"requests","optional":false},{"reason":"Authentication for cloud features","package":"google-auth","optional":false}],"imports":[{"note":"Wildcard imports discouraged; import the module directly.","wrong":"from abstra import *","symbol":"abstra","correct":"import abstra"},{"note":"Abstra 3.x moved many modules to top-level package.","wrong":"from abstra.forms import form","symbol":"App, forms, tables, charts","correct":"from abstra import App, forms, tables, charts"}],"quickstart":{"code":"import os\nimport abstra\nfrom abstra import App\n\napp = App()\n\n@app.route('/')\ndef home():\n    return \"Hello, Abstra!\"\n\nif __name__ == '__main__':\n    app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 5000)))","lang":"python","description":"Minimal web app using Abstra. Run on localhost:5000."},"warnings":[{"fix":"Change imports to `from abstra import forms` and use `forms.form(...)`.","message":"In v3.x, the package structure was reorganized: many submodules (e.g., abstra.forms, abstra.tables) are now exposed directly under `abstra`. Code using `from abstra.forms import form` may break.","severity":"breaking","affected_versions":"<3.0 to >=3.0"},{"fix":"Set environment variable `ABSTRA_API_TOKEN` to authenticate non-interactively.","message":"Abstra cloud deployment requires authentication via `abstra login`. Running in a non-interactive environment (like CI) may block unless using API tokens.","severity":"gotcha","affected_versions":"all"},{"fix":"Use the `abstra` command-line tool (installed via pip) instead of Python module.","message":"The `abstra.cli` module for custom commands is deprecated in favor of the `abstra CLI` tool installed separately.","severity":"deprecated","affected_versions":"<3.20.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `pip install abstra` and ensure you are using the correct Python environment.","cause":"Abstra not installed or installed in wrong environment.","error":"ModuleNotFoundError: No module named 'abstra'"},{"fix":"Upgrade to latest with `pip install --upgrade abstra` and use `from abstra import App`.","cause":"Using an older version (<3.0) where App was in a different location.","error":"ImportError: cannot import name 'App' from 'abstra'"},{"fix":"Update abstra to >=3.0 or use `from abstra.forms import form` for old versions.","cause":"Installed version is too old (pre-3.0) or import path is wrong.","error":"AttributeError: module 'abstra' has no attribute 'forms'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}