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.
Install and update using pip:
~$ pip install -i https://test.pypi.org/simple/ bootwrap
Please note, The Bootwrap is currently deployed using TestPyPI โ which is a separate instance of the Python Package Index. This allows us to test distribution before moving this package to the real index
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().add_classes('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, content):
super().__init__(
favicon = 'favicon.ico',
title='Hello World Application',
menu=MyMenu(),
content=content
)
@app.route('/')
def home():
return Markup(MyPage(content=[Text('Home').as_heading(1)]))
@app.route('/about')
def about():
return Markup(MyPage(content=[Text('About').as_heading(1)]))
@app.route('/signin')
def signin():
return Markup(MyPage(content=[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.
For information on how to set up a development environment and how to make a contribution to Bootwrap, see the contributing guidelines.
- Documentation: https://mmgalushka.github.io/bootwrap/
- PyPI Releases: https://test.pypi.org/project/bootwrap/
- Source Code: https://github.com/mmgalushka/bootwrap
- Issue Tracker: https://github.com/mmgalushka/bootwrap/issues