https://github.com/piccolo-orm/piccolo_admin
A powerful web admin for your database.
https://github.com/piccolo-orm/piccolo_admin
admin asgi asyncio cms content-management-system dashboard database fastapi hacktoberfest piccolo postgresql python python3 sqlite starlette vuejs
Last synced: 15 days ago
JSON representation
A powerful web admin for your database.
- Host: GitHub
- URL: https://github.com/piccolo-orm/piccolo_admin
- Owner: piccolo-orm
- License: mit
- Created: 2019-06-25T19:24:31.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-05-12T15:10:43.000Z (17 days ago)
- Last Synced: 2025-05-12T15:53:18.229Z (17 days ago)
- Topics: admin, asgi, asyncio, cms, content-management-system, dashboard, database, fastapi, hacktoberfest, piccolo, postgresql, python, python3, sqlite, starlette, vuejs
- Language: Python
- Homepage: https://piccolo-orm.com/ecosystem/
- Size: 9.23 MB
- Stars: 350
- Watchers: 6
- Forks: 42
- Open Issues: 52
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.rst
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-fastapi - Piccolo Admin - A powerful and modern admin GUI, using the Piccolo ORM. (Third-Party Extensions / Admin)
- awesome-litestar - Piccolo Admin - A powerful and modern admin GUI, using the Piccolo (Third-Party Extensions / Admin)
- awesome-fastapi - :octocat: piccolo_admin :star: 160+ :fork_and_knife: 20+ - A powerful web admin for your database. (Admin)
- awesome-fastapi - Piccolo Admin - A powerful and modern admin GUI, using the Piccolo ORM. (Third-Party Extensions / Admin)
- awesome-pydantic - Piccolo Admin - An admin interface powered by Pydantic. Automatically generate forms using Pydantic models. (Web)
- awesome-pydantic - Piccolo Admin - An admin interface powered by Pydantic. Automatically generate forms using Pydantic models. (Web)
README

# Piccolo Admin
[](https://piccolo-admin.readthedocs.io/en/latest/?badge=latest)
Piccolo Admin is a powerful admin interface / content management system for Python, built on top of Piccolo.

It was created at a design agency to serve the needs of customers who demand a high quality, beautiful admin interface for their websites. It's a modern alternative to tools like Wordpress and Django Admin.
It's built using the latest technologies, with Vue.js on the front end, and a powerful REST backend.
Some of it's standout features:
* Powerful data filtering
* Builtin security
* Media support, both locally and in S3 compatible services
* Dark mode support
* CSV exports
* Easily create custom forms
* Works on mobile and desktop
* Use standalone, or integrate it easily with ASGI apps like FastAPI, and Starlette
* Multilingual out of box
* Bulk actions, like updating and deleting data
* Flexible UI - only show the columns you want your users to see## Try it
[Try it online](https://demo1.piccolo-orm.com/) (username: piccolo, password: piccolo123).
## Local Demo
To run a demo locally, using Python 3.8 or above:
```bash
pip install piccolo_admin
admin_demo
```And then just launch `localhost:8000` in your browser.
To see what happens behind the scenes, see `piccolo_admin/example/app.py`.
In a few lines of code we are able to:
- Define our models
- Setup a database
- Create a REST API
- Setup a web server and admin interface## ASGI
Since the admin is an ASGI app, you can either run it standalone like in the demo, or integrate it with a larger ASGI app such as FastAPI and Starlette.
For example, using Starlette routes:
```python
import uvicorn
from movies.endpoints import HomeEndpoint
from movies.tables import Director, Movie
from starlette.routing import Mount, Route, Routerfrom piccolo_admin.endpoints import create_admin
# The `allowed_hosts` argument is required when running under HTTPS. It's
# used for additional CSRF defence.
admin = create_admin([Director, Movie], allowed_hosts=["my_site.com"])router = Router(
[
Route(path="/", endpoint=HomeEndpoint),
Mount(path="/admin/", app=admin),
]
)if __name__ == "__main__":
uvicorn.run(router)```
## Full docs
Full documentation is available on [Read the docs](https://piccolo-admin.readthedocs.io/en/latest/).