Skip to main content

Package for rapid development of web-based user interfaces.

Project description

Python Bootwrap

Python + Bootstrap = Bootwrap

Continuous Integration Status Code Coverage Percentage Codacy Badge Project License Project Documentation

Bootwrap is a Python library for rapid developing of web-based user interfaces (WebUI). It helps creating WebUI using Python code only and can be used in conjunction with different web-development frameworks such as Flask. Under the hood, this library wraps one of the most popular front-end toolkit Bootstrap.

This library would be useful for developers and data scientists who wish to build interactive web-application without crafting HTML, CSS and Javascript.

As a showcase of what this library is capable of please check the documentation. The entire documentation web interface is created using the Bootwrap.

Installing

Install and update using pip:

~$ pip install bootwrap

A Simple Example

The following code will care three pages application with the top-level menu bar for navigations.

from flask import Flask, Markup
from bootwrap import Page, Menu, Image, Anchor, Button, Text

# Both 'logo.png' and 'favicon.ico' are stored in 'docs' folder
app = Flask(__name__, static_folder='docs', static_url_path='')

class MyMenu(Menu):
    def __init__(self):
        super().__init__(
            logo=Image('logo.png', width=32, alt='Logo'),
            brand=Text('Bootwrap').as_strong().as_light().ml(2),
            anchors=[
                Anchor('Home').link('/'),
                Anchor('About').link('/about')
            ], 
            actions=[
                Button('Sign In').as_outline().as_light().link('/signin')
            ]
        )

class MyPage(Page):
    def __init__(self, container):
        super().__init__(
            favicon = 'favicon.ico',
            title='Hello World Application',
            menu=MyMenu(),
            container=container
        )

@app.route('/')
def home():
    return Markup(MyPage(container=[Text('Home').as_heading(1)]))

@app.route('/about')
def about():
    return Markup(MyPage(container=[Text('About').as_heading(1)]))

@app.route('/signin')
def signin():
    return Markup(MyPage(container=[Text('Sign In').as_heading(1)]))

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

Use the following command to launch the application.

$ flask run
  * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

The result should look like.

Simple Example

Contributing

For information on how to set up a development environment and how to make a contribution to Bootwrap, see the contributing guidelines.

Links

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

bootwrap-1.0.0.tar.gz (316.5 kB view hashes)

Uploaded Source

Built Distribution

bootwrap-1.0.0-py3-none-any.whl (37.4 kB view hashes)

Uploaded Python 3

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