Skip to main content

Pure Python website engine. Zero dependencies. Real JSX templates.

Project description

Boask

Boask Logo
Pure Python website engine.
Zero external dependencies.
pip install boask

Quick Start

from boask import route, use, run_server, html_templates

@route("/")
def home(handler):
    return html_templates.render("home.html", title="Boask")

if __name__ == "__main__":
    run_server()

Comparison to Flask

  1. Lightweight.
  2. No external dependecies.
  3. Unlike Flask, it's for beginners, and movers from Flask.
  4. No {{ url_for('static', filename='css/main.css') }} (example), we use /static/css/main.css for example!

Info

  1. Do not install a earlier version than 1.0.4, you can 1.0.0 but that one is not supported! You can't import them! Also, do not install 1.1.4! It had a bug in strict slashes and it did 500 always! I don't know how the 1.1.4 issue happened! Do not install 1.1.5a2 also! It has import error instead of import .error
Changelog
Right now

New! "app" yeah, like Flask

To use

from boask import Boask

app = Boask()

And to do it with route (yeah, i added app.route()) this example is for HTML templates

from boask import Boask, route, use, run_server, html_templates

app = Boask()

def home(handler):
    return html_templates.render("home.html")

Note: Replace home.html with your file name (e.g index.html)

New in authentication! Banning!

Usage:

from auth.ban import Ban

# 'handler' is the instance of your HTTP request handler (from BaseHTTPRequestHandler, for example).
response = Ban.ban_user(handler)

Advanced Auth Added!

Example:

from boask.core import route, use, run_server, Boask
from boask.middleware.advanced_auth import AdvancedAuth
from boask.auth.login import login
from boask.auth.register import register

app = Boask()
auth = AdvancedAuth()

use(auth.middleware)

@route("/register", methods=["POST"])
def do_register(handler):
    return register(handler)

@route("/login", methods=["POST"])
def do_login(handler):
    return login(handler)

@route("/dashboard", methods=["GET"])
@auth.protected
def dashboard(handler):
    return f"Welcome, {handler.user}!"

if __name__ == "__main__":
    run_server(port=8080, host="0.0.0.0")

INFO: DO NOT USE 1.1.6 YOU CAN BUT IT HAS A BROKEN README.

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

boask-1.1.7.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

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

boask-1.1.7-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file boask-1.1.7.tar.gz.

File metadata

  • Download URL: boask-1.1.7.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for boask-1.1.7.tar.gz
Algorithm Hash digest
SHA256 2b4df0fc430235d31e363426bf5334a8da281f07f00290cd5467f774f8cc2d3d
MD5 f2ccf62fabb818c62590d0618efc33bb
BLAKE2b-256 ae4b623b6e28bf3b6a55e90475befff38964328ed8777ad0efe4061f7e6ebae7

See more details on using hashes here.

File details

Details for the file boask-1.1.7-py3-none-any.whl.

File metadata

  • Download URL: boask-1.1.7-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for boask-1.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e53791061d8c85928f10a581af04b1cfd89603bcafdda9417945603fba07db3c
MD5 1fa4ac9d78abec1e9683692b60fb5084
BLAKE2b-256 3b9b33e922dab067a8137ca994fee14a66c2ae2ae10d99f310a49c9e02fca9ac

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