{"id":16975593,"url":"https://github.com/superzombi/dbnavigator","last_synced_at":"2025-04-12T01:17:20.681Z","repository":{"id":207257006,"uuid":"718808692","full_name":"SuperZombi/DBNavigator","owner":"SuperZombi","description":"Database navigator for Flask","archived":false,"fork":false,"pushed_at":"2024-04-18T16:01:33.000Z","size":1567,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T01:17:15.922Z","etag":null,"topics":["database-gui","flask-extension","sqlite3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SuperZombi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"custom":["https://donatello.to/super_zombi"]}},"created_at":"2023-11-14T20:59:11.000Z","updated_at":"2024-06-05T13:36:41.000Z","dependencies_parsed_at":"2024-04-18T17:26:54.367Z","dependency_job_id":"2b8d6dc9-03d2-488e-a813-14fccba13564","html_url":"https://github.com/SuperZombi/DBNavigator","commit_stats":null,"previous_names":["superzombi/db_navigator","superzombi/dbnavigator"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperZombi%2FDBNavigator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperZombi%2FDBNavigator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperZombi%2FDBNavigator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperZombi%2FDBNavigator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SuperZombi","download_url":"https://codeload.github.com/SuperZombi/DBNavigator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248501859,"owners_count":21114684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database-gui","flask-extension","sqlite3"],"created_at":"2024-10-14T01:23:15.541Z","updated_at":"2025-04-12T01:17:20.615Z","avatar_url":"https://github.com/SuperZombi.png","language":"Python","funding_links":["https://donatello.to/super_zombi"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eDB Navigator\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/SuperZombi/DBNavigator/main/github/images/logo.png\" width=\"200\"\u003e\n\u003c/p\u003e\n\u003ch3 align=\"center\"\u003eDataBase Navigator for Flask\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://shields.io/badge/version-v0.2.2-blue\"\u003e\u003c/br\u003e\n    \u003ca href=\"#donate\"\u003e\u003cimg src=\"https://shields.io/badge/💲-Support_the_Project-2ea043\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg width=\"500px\" src=\"https://raw.githubusercontent.com/SuperZombi/DBNavigator/main/github/images/preview.png\"\u003e\n\u003c/p\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMore images\u003c/summary\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg width=\"500px\" src=\"https://raw.githubusercontent.com/SuperZombi/DBNavigator/main/github/images/preview_dark.png\"\u003e\u003c/br\u003e\n    \u003cimg width=\"500px\" src=\"https://raw.githubusercontent.com/SuperZombi/DBNavigator/main/github/images/preview_edit.png\"\u003e\u003c/br\u003e\n    \u003cimg width=\"500px\" src=\"https://raw.githubusercontent.com/SuperZombi/DBNavigator/main/github/images/preview_sql.png\"\u003e\n\u003c/p\u003e\n\u003c/details\u003e\n\n\n## Installation\n```\npip install DBNavigator\n```\n\n## Usage:\n```python\nfrom flask import Flask\nfrom db_navigator import DBNavigator\n\napp = Flask(__name__)\nDBNavigator(app, \"users.db\", prefix=\"/admin\", password=\"1234\")\n\n### Your Flask app\n\napp.run(debug=True)\n```\n\n### DBNavigator(`app`, `file`, `prefix=\"\"`, `password=\"\"`, `login_func=None`, `readonly=False`, `db_engine`)\n| \u003c!-- --\u003e | \u003c!-- --\u003e |\n|----------|----------|\n| `app`    | Flask app |\n| `file`   | Target database local file|\n| `prefix`   | Route prefix |\n| `password`   | Access password |\n| `login_func`   | [Custom login function](#custom-login) |\n| `readonly`   | Default editable |\n| `db_engine`   | Default is [SQLite](#db-engine) |\n\u003chr\u003e\n\n### Custom login\nMust be returned `True` for access.\u003cbr\u003e\nIt is recommended to save the password from the database in memory because it will be checked before each request.\n```python\ndef custom_login(password):\n\t# make request to db\n\tif password == \"custom_value\":\n\t\treturn True\t\n\nDBNavigator(app, \"users.db\", login_func=custom_login)\n```\n\u003chr\u003e\n\n### DB Engine\n\nA class that should inherit from the abstract class `DataBaseInterface` and implement all its functions.\n```python\nfrom db_navigator.databases import DataBaseInterface\n\nclass YourDBEngine(DataBaseInterface):\n\tdef __init__(self, *args):\n\t\tsuper().__init__(*args)\n\t\tself.__name__ = \"Your DB Engine name\"\n\n```\n\u003chr\u003e\n\n\n#### 💲Donate\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n       \u003cimg width=\"18px\" src=\"https://www.google.com/s2/favicons?domain=https://donatello.to\u0026sz=256\"\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://donatello.to/super_zombi\"\u003eDonatello\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n       \u003cimg width=\"18px\" src=\"https://www.google.com/s2/favicons?domain=https://www.donationalerts.com\u0026sz=256\"\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://www.donationalerts.com/r/super_zombi\"\u003eDonation Alerts\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperzombi%2Fdbnavigator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuperzombi%2Fdbnavigator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperzombi%2Fdbnavigator/lists"}