Skip to main content

Simple and lightweight data managment framework powered by FastAPI and Vue3 Vuetify all-in-one. Some call it heavenly in its brilliance.

Project description

Brilliance Admin

PyPI CI

Simple and lightweight data management framework powered by FastAPI and Vue3 Vuetify all-in-one.
Integrated with SQLAlchemy. Inspaired by Django Admin and DRF.
Some call it heavenly in its brilliance.

Live Demo | Demo Sources | Documentation

Preview

Brilliance Admin provides

A quick way to create a data management interface using:

  • Admin page - endpoint with a prebuilt SPA frontend Vue3 + Vuetify
    This endpoint can be added to any ASGI compatable backend. For existing project or standalone admin app.
  • API to fetch the UI JSON schema
  • API methods for that UI to work with (to read and modify data)

Screenshots

Key ideas

  • API Oriented
    Data generation/updating API separated from rendering fontend with zero hardcode, this makes it possible to have a single frontend with multiple backend implementations in different languages and makes test coverage easier.
  • Rich visualization
    Providing rich and convenient ways to display and manage data (tables, charts, etc) from any data source.
  • UI JSON Schema
    Represents the data describing the structure of entire admin panel UI.
    You only need to specify what should be rendered. The frontend will display it and automatically request data from the backend for rendering or updates.
  • ORM
    Automatic generation from ORM for schema UI frontend and backend methods for CRUD operations.
  • Minimal boilerplate
    Focused on simplified, but rich configuration.

Features

  • Tables with full CRUD support, including filtering, sorting, and pagination.
  • Ability to define custom table actions with forms, response messages, and file downloads.
  • Graphs via ChartJS
  • Localization support
  • Adapted for different screen sizes and mobile devices
  • Auth via any account data source

Integrations:

  • SQLAlchemy - schema autogeneration for tables + CRUD operations + authorization

Planned:

  • Dashboard features
  • Role-based access permissions system via interface
  • Backend interface for storing and viewing action history in the admin interface
  • Nested data support for creation and detail views (inline editing), nested CRUD workflows
  • Django ORM integration
  • Support for Oauth providers

Installation:

pip install brilliance-admin

Usage example

You need to generate AdminSchema instance:

from brilliance_admin import schema


class CategoryExample(schema.CategoryTable):
    "Implementation of get_list and retrieve; update and create are optional"


admin_schema = schema.AdminSchema(
    title='Admin Panel',
    auth=YourAdminAuthentication(),
    categories=[
        schema.Category(
            slug='example',
            categories=[
                CategoryExample(),
            ]
        ),
    ],
)

admin_app = admin_schema.generate_app()

# Your FastAPI app (Any ASGI framework can be used)
app = FastAPI()
app.mount('/admin', admin_app)

For more details, check out our how-to-start documentation

Comparison of Similar Projects

The project closest in concept is React Admin.
It is an SPA frontend that store the schema UI inside and works with separate API backend providers.

The key difference of Brilliance Admin is that its all-in-one.
It is more focused on rapid setup for data management, without the need to work with frontend configuration, while it still available.

Comparison of Similar Python Projects

Criterion Brilliance Admin Django Admin FastAPI Admin Starlette Admin SQLAdmin
Base framework FastAPI Django FastAPI Starlette FastAPI
ASGI compatible Yes Partial Yes Yes Yes
Rendering model Prebuilt Vue 3 + Vuetify SPA + Jinja2 Server-side Django templates Server-side Jinja2 templates + Tabler UI Server-side Jinja2 templates + Tabler UI Server-side Jinja2 templates + Bootstrap
Frontend architecture Separate frontend (SPA) Classic server-rendered UI Server-rendered UI with JS interactivity Server-rendered UI with JS interactivity Server-rendered UI
Data source Any source + SQLAlchemy Django ORM Tortoise ORM Any source + SQLAlchemy, MongoDB SQLAlchemy
Multiple databases per model Yes Database routers No (global engine) Yes (session per ModelView) No (single engine per Admin)
Schema generation User-defined format From Django models From ORM models User-defined format From SQLAlchemy models
Async support Yes No Yes Yes Yes
API-first approach Yes No Partially Partially No
Built-in Localization Yes Yes No No No

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brilliance_admin-0.44.13.tar.gz (3.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brilliance_admin-0.44.13-py3-none-any.whl (3.7 MB view details)

Uploaded Python 3

File details

Details for the file brilliance_admin-0.44.13.tar.gz.

File metadata

  • Download URL: brilliance_admin-0.44.13.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for brilliance_admin-0.44.13.tar.gz
Algorithm Hash digest
SHA256 e936f8c63127480b6da43559b296c5c7420b26dcc7f22b876e4ce253efed1cc1
MD5 1bebb455792e85be16a03301fba71879
BLAKE2b-256 959c4a73ec99b9c5f79613114fa9b6492dfcefd75a57b641dffd4cb24ebc2f55

See more details on using hashes here.

File details

Details for the file brilliance_admin-0.44.13-py3-none-any.whl.

File metadata

File hashes

Hashes for brilliance_admin-0.44.13-py3-none-any.whl
Algorithm Hash digest
SHA256 dec77a5ea873bf0cb2d701aca4f2c81cee63db106d49b6868e15f7016715b7cd
MD5 07d928f81642b1ec85a21f1e75e7c25c
BLAKE2b-256 e5ef6c35b0157d3e31ef5af9139351ab5b7862a4b39c6d45c919e2d7066a1900

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page