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.

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

Bootwrap package has no external dependencies!

Why & where you might use Bootwrap?

The vast majority of web applications consist of frontend and backend. If you are a small team or even a solo developer you need to divide resources and time to focus on both parts. This often results in switching between different platforms such as Python and React, AngularJs, Flask templates (HTML, CSS, JS), etc. But what if your main focus is the backend and you also don't want to compromise on the quality of your WebUI. In this case, the Bootwrap library is for you! It will help you develop WebUI without leaving the Python ecosystem and not waste your time on HTML, CSS, and Javascript. To understand its capability just clone the project and run the demo application ":pig: PiggyBank".

Screenshots Collage

For more information also read the Bootwrap documentation.

Hello World Application

The following code will create three pages application with a top-level menu bar for navigations. Since this application is based on Flask make sure that you installed it as well.

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

app = Flask(__name__, static_folder='docs', static_url_path='')

LOGO = 'https://github.com/mmgalushka/bootwrap/blob/main/docs/logo.png?raw=true'
FAVICON = 'https://raw.githubusercontent.com/mmgalushka/bootwrap/main/docs/favicon.ico'

class MyMenu(Menu):
    def __init__(self):
        super().__init__(
            logo=Image(LOGO, width=32, alt='Logo'),
            brand=Text('Bootwrap').as_strong().as_light().ms(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,
            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.2.0.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

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

bootwrap-1.2.0-py3-none-any.whl (52.0 kB view details)

Uploaded Python 3

File details

Details for the file bootwrap-1.2.0.tar.gz.

File metadata

  • Download URL: bootwrap-1.2.0.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for bootwrap-1.2.0.tar.gz
Algorithm Hash digest
SHA256 deef7b8aeda6eb33d7ccbb7fbfda8d9a06c165a7da59d692a25e9cff51459349
MD5 4a3fe135332c39a9f7b603af76ddfccd
BLAKE2b-256 9da51207e81ef20bc418211440d8638758fdc16b0e1e34c04d2e316815d869a3

See more details on using hashes here.

File details

Details for the file bootwrap-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: bootwrap-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 52.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for bootwrap-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dcb1dd77b28b6608ff3aa9b561ac8eed16040b0e47a141a5c28d516e26a8ebcc
MD5 0b61828905492da6692ef23f22308f41
BLAKE2b-256 86a7a4d04cb4b539c45714d4f037eebbcadb612bba4088ffff4ae47967d42f7f

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