{"id":13501270,"url":"https://github.com/jowilf/starlette-admin","last_synced_at":"2025-05-14T03:09:47.494Z","repository":{"id":59037983,"uuid":"530277810","full_name":"jowilf/starlette-admin","owner":"jowilf","description":"Fast, beautiful and extensible administrative interface framework for Starlette \u0026 FastApi applications","archived":false,"fork":false,"pushed_at":"2025-05-05T16:33:38.000Z","size":6282,"stargazers_count":767,"open_issues_count":78,"forks_count":71,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-05T17:55:31.277Z","etag":null,"topics":["admin","admin-dashboard","datatables","fastapi","mongoengine","sqlalchemy","starlette"],"latest_commit_sha":null,"homepage":"https://jowilf.github.io/starlette-admin/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jowilf.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-29T15:22:50.000Z","updated_at":"2025-05-04T10:08:26.000Z","dependencies_parsed_at":"2023-10-03T02:21:32.071Z","dependency_job_id":"13717f9a-0c8e-474f-b069-a5c4d1712a79","html_url":"https://github.com/jowilf/starlette-admin","commit_stats":{"total_commits":447,"total_committers":18,"mean_commits":"24.833333333333332","dds":"0.20357941834451898","last_synced_commit":"9e50bc9f02828d1f22c04c63a9c629038c765f86"},"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jowilf%2Fstarlette-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jowilf%2Fstarlette-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jowilf%2Fstarlette-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jowilf%2Fstarlette-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jowilf","download_url":"https://codeload.github.com/jowilf/starlette-admin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254059510,"owners_count":22007769,"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":["admin","admin-dashboard","datatables","fastapi","mongoengine","sqlalchemy","starlette"],"created_at":"2024-07-31T22:01:31.182Z","updated_at":"2025-05-14T03:09:47.453Z","avatar_url":"https://github.com/jowilf.png","language":"Python","readme":"# starlette-admin\n\n*Fast, beautiful, and extensible administrative interface framework for Starlette \u0026 FastApi applications*\n\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/jowilf/starlette-admin/actions/workflows/test.yml\"\u003e\n    \u003cimg src=\"https://github.com/jowilf/starlette-admin/actions/workflows/test.yml/badge.svg\" alt=\"Test suite\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/jowilf/starlette-admin/actions\"\u003e\n    \u003cimg src=\"https://github.com/jowilf/starlette-admin/actions/workflows/publish.yml/badge.svg\" alt=\"Publish\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://codecov.io/gh/jowilf/starlette-admin\"\u003e\n    \u003cimg src=\"https://codecov.io/gh/jowilf/starlette-admin/branch/main/graph/badge.svg\" alt=\"Codecov\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/starlette-admin/\"\u003e\n    \u003cimg src=\"https://badge.fury.io/py/starlette-admin.svg\" alt=\"Package version\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/starlette-admin/\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/pyversions/starlette-admin?color=2334D058\" alt=\"Supported Python versions\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n![Preview image](https://raw.githubusercontent.com/jowilf/starlette-admin/main/docs/images/preview.jpg)\n\n## why starlette-admin?\n\nFastAPI has emerged as a popular web framework for building APIs in Python. However, it lacks a mature admin interface\nsolution like Flask-Admin to quickly manage your data through a user-friendly interface. Although\nsolutions like Sqladmin and Fastapi-Admin exist, they only work with specific ORMs such as SQLAlchemy and Tortoise ORM.\n\nStarlette-admin was born from the need for a FastAPI admin interface that works with various data layer. It aims\nto provide a complete solution for CRUD interfaces regardless of the database backend. Starlette-admin works out of the\nbox with multiple ORM/ODMs and can also be used with a custom data layer.\n\n## Getting started\n\n* Check out [the documentation](https://jowilf.github.io/starlette-admin).\n* Try\n  the [live demo](https://starlette-admin-demo.jowilf.com/). ([Source code](https://github.com/jowilf/starlette-admin-demo))\n* Follow the [tutorials](https://jowilf.github.io/starlette-admin/tutorials/)\n* Try the several usage examples included in\n  the [/examples](https://github.com/jowilf/starlette-admin/tree/main/examples) folder\n* If you find this project helpful or interesting, please consider giving it a star ⭐️\n\n## Features\n\n- CRUD any data with ease\n- Automatic form validation\n- Advanced table widget with [Datatables](https://datatables.net/)\n- Search and filtering\n- Search highlighting\n- Multi-column ordering\n- Export data to CSV/EXCEL/PDF and Browser Print\n- Authentication\n- Authorization\n- Manage Files\n- Custom views\n- Custom batch actions\n- Supported ORMs\n    * [SQLAlchemy](https://www.sqlalchemy.org/)\n    * [SQLModel](https://sqlmodel.tiangolo.com/)\n    * [MongoEngine](http://mongoengine.org/)\n    * [ODMantic](https://github.com/art049/odmantic/)\n    * Custom\n      backend ([doc](https://jowilf.github.io/starlette-admin/advanced/base-model-view/), [example](https://github.com/jowilf/starlette-admin/tree/main/examples/custom-backend))\n- Internationalization\n\n## Installation\n\n### PIP\n\n```shell\n$ pip install starlette-admin\n```\n\n### Poetry\n\n```shell\n$ poetry add starlette-admin\n```\n\n## Example\n\nThis is a simple example with SQLAlchemy model\n\n```python\nfrom sqlalchemy import create_engine\nfrom sqlalchemy.ext.declarative import declarative_base\nfrom sqlalchemy.orm import Mapped, mapped_column\nfrom starlette.applications import Starlette\n\nfrom starlette_admin.contrib.sqla import Admin, ModelView\n\nBase = declarative_base()\nengine = create_engine(\"sqlite:///test.db\", connect_args={\"check_same_thread\": False})\n\n\n# Define your model\nclass Post(Base):\n    __tablename__ = \"posts\"\n\n    id: Mapped[int] = mapped_column(primary_key=True)\n    title: Mapped[str]\n\n\nBase.metadata.create_all(engine)\n\napp = Starlette()  # FastAPI()\n\n# Create admin\nadmin = Admin(engine, title=\"Example: SQLAlchemy\")\n\n# Add view\nadmin.add_view(ModelView(Post))\n\n# Mount admin to your app\nadmin.mount_to(app)\n```\n\nAccess your admin interface in your browser at [http://localhost:8000/admin](http://localhost:8000/admin)\n\n## Third party\n\n*starlette-admin* is built with other open source projects:\n\n- [Tabler](https://tabler.io/)\n- [Datatables](https://datatables.net/)\n- [jquery](https://jquery.com/)\n- [Select2](https://select2.org/)\n- [flatpickr](https://flatpickr.js.org/)\n- [moment](http://momentjs.com/)\n- [jsoneditor](https://github.com/josdejong/jsoneditor)\n- [fontawesome](https://fontawesome.com/)\n- [TinyMCE](https://www.tiny.cloud/)\n\n## Contributing\n\nContributions are welcome and greatly appreciated! Before getting started, please read\n[our contribution guidelines](https://github.com/jowilf/starlette-admin/blob/main/CONTRIBUTING.md)\n","funding_links":[],"categories":["Python","Admin UI","Third-Party Extensions","Uncategorized","Extensions","Miscellaneous"],"sub_categories":["Admin","Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjowilf%2Fstarlette-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjowilf%2Fstarlette-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjowilf%2Fstarlette-admin/lists"}