Skip to main content

An admin dashboard.

Project description

An admin dashboard for use with ASGI web frameworks.

Work in progress.

example.py

from starlette.applications import Starlette
from starlette.routing import Mount, Route
from starlette.responses import RedirectResponse
from starlette.templating import Jinja2Templates
from starlette.staticfiles import StaticFiles
import databases
import dashboard
import orm
import datetime


database = databases.Database('sqlite:///test.db')
models = orm.ModelRegistry(database=database)
statics = StaticFiles(packages=['dashboard'])


class Notes(orm.Model):
    registry = models
    tablename = 'notes'
    fields = {
        'id': orm.Integer(title="ID", primary_key=True, read_only=True),
        'created': orm.DateTime(title="Created", default=datetime.datetime.now, read_only=True),
        'text': orm.String(title="Text", max_length=100),
        'completed': orm.Boolean(title="Completed", default=False)
    }

admin = dashboard.Dashboard(tables=[
    dashboard.DashboardTable(ident="notes", title="Notes", datasource=Notes.objects.order_by('-id')),
])


routes = [
    Mount("/admin", app=admin, name='dashboard'),
    Mount("/statics", app=statics, name='static'),
    Route("/", endpoint=RedirectResponse(url='/admin')),
]

app = Starlette(debug=True, routes=routes, on_startup=[database.connect], on_shutdown=[database.disconnect])

Rough installation...

$ virtualenv venv
$ venv/bin/pip install dashboard
$ venv/bin/python
>>> from example import models
>>> models.create_all()
$ venv/bin/uvicorn example:app

With many thanks to Eren Güven (Twitter, GitHub) for the dashboard PyPI package name.

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

dashboard-0.0.6.tar.gz (195.9 kB view details)

Uploaded Source

Built Distribution

dashboard-0.0.6-py3-none-any.whl (201.1 kB view details)

Uploaded Python 3

File details

Details for the file dashboard-0.0.6.tar.gz.

File metadata

  • Download URL: dashboard-0.0.6.tar.gz
  • Upload date:
  • Size: 195.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.6

File hashes

Hashes for dashboard-0.0.6.tar.gz
Algorithm Hash digest
SHA256 38007d6d097704febfe1e983fbbae826b1b020f4314476b915576a4f236cdb67
MD5 3739c46c5d86f10f032a24f10d9d27bb
BLAKE2b-256 584a3dd2390c73d952d8edd27c42906924ffc339615a41ce226a1e62b78fdc5c

See more details on using hashes here.

Provenance

File details

Details for the file dashboard-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: dashboard-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 201.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.6

File hashes

Hashes for dashboard-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ce8a1009059b45f7e80b3c033a634e1d53f29ee439dabff81ffe301a14b77962
MD5 30328475aff6d3707d2635c8fe7246fd
BLAKE2b-256 9150d38d44dae705d62b1ae3015b85d7a2eb5201a04d22ce676e2d8046d8a07e

See more details on using hashes here.

Provenance

Supported by

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