Skip to main content

Write professional web interface with Python

Project description

Python AdminUI

Documentation 中文文档

Write professional web interface with Python.

If you need a simple web interface and you don't want to mess around with HTML, CSS, React, Angular, Webpack or other fancy Javascript frontend stuff, this project is for you. Now you can write web pages, forms, charts and dashboards with only Python.

This library is good for: data projects, tools and scripts, small IT systems and management systems, Hacker or Hackathon projects. Basically if you need an interface for your system and you don't care much about customizing the style or performance for large traffic, consider this package.

This project is based on Flask and Ant Design Pro.

Screen Shot

Features

  • No HTML, CSS, JS needed
  • Database agnostic: feed content at your own, no matter it's MySql, Sqlite, Excel tables, Firebase or some IoT hardware
  • JWT based authentication/login system with a neat login page
  • Forms and detail pages
  • Line and Bar Chart
  • Create decent looking menus
  • Data tables with pagination
  • Adaptive to small screens and mobile devices

Installation and quick start

install the package with pip:

pip install adminui

The basic "form page" example:

# example_form.py
from adminui import *

app = AdminApp()

def on_submit(form_data):
    print(form_data)

@app.page('/', 'form')
def form_page():
    return [
        Form(on_submit = on_submit, content = [
            TextField('Title', required=True),
            TextArea('Description'),
            FormActions(content = [
                SubmitButton('Submit')
            ])
        ])
    ]

if __name__ == '__main__':
    app.run()

Run the Python file:

python example_form.py

Then visit http://127.0.0.1:5000/ to see the result.

Documentation

Hosted on Read the Docs

Contributing and Development

This is a personal project. So please create issues to tell me what you need from this project.

You may also give stars to let me know if this project is worthy to invest more time on.

To work with the source code:

This project has a Typescript front-end and a Python backend.
The front-end is in the /src folder.
The back-end is in the /python folder.
To start developing:

  • cd into /python folder and run pip install -r requirements.txt to install requirements
  • run one of the example_xxx.py file in the /python folder
  • Open another terminal, run npm install & npm start at the root folder to start the frontend;

Under this development mode, requests from front-end will forward to the backend.

When you are done with developing:

  • run npm run build will build the project.

The front-end is based on the amazing Ant Design Pro library, you may consult their documentation during the development.

The Python backend is located in /python/adminui. It is Flask based. There are some examples in the /python folder.

Release log for early preview

  • 0.3.1: newlines now work in Paragraph; adding color="" attribute in Paragraph; fixed a bug in CombinedAction and now you can use an array instead of CombinedAction
  • 0.3.0: added ReplaceElement and UpdateElement as Page Actions
  • 0.2.1: added SelectBox, CheckboxGroup and DatePicker as form controls; fixed bug in authentication
  • 0.2.0: added authentication system

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

adminui-0.3.1.tar.gz (889.4 kB view details)

Uploaded Source

Built Distribution

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

adminui-0.3.1-py3-none-any.whl (4.2 MB view details)

Uploaded Python 3

File details

Details for the file adminui-0.3.1.tar.gz.

File metadata

  • Download URL: adminui-0.3.1.tar.gz
  • Upload date:
  • Size: 889.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for adminui-0.3.1.tar.gz
Algorithm Hash digest
SHA256 dd110b1bd34e37aeaaa2c19ba7621e769e06d06e4a396f9c7831b3ea65888078
MD5 7043a78bd117b49c2feaf4366fa3664a
BLAKE2b-256 673e53b1d0e7530fe23e1cb782a98e85d5db93451581f150928b09a7168f00af

See more details on using hashes here.

File details

Details for the file adminui-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: adminui-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for adminui-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e3ca1dfcbe22cf98cd68c96f3336d1378c4926d1048ff9d82e968e50fec39fb9
MD5 62254286c6eb2b29410b7f15d6ba76fa
BLAKE2b-256 ce8e71227fcf98767ea80e2d5f324cac5c45311175e4bf6b16c53aaae75c1643

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