Skip to main content

It is a simple and lightweight web framework built for learning and experimentation purposes.

Project description

BizAPI

A Lightweight Web Framework for Python


Contents


A Simple Example

Installation using a Python package manager:

pip install BizAPI
from bizapi import BizAPI
from bizapi.types import Request, Response

app = BizAPI()


@app.route('/')
def home(request: Request, response: Response):
    response.text = 'This is the home page'
gunicorn main:app

Function-Based Routing

@app.route('/')
def index(request: Request, response: Response):
    response.text = "Hello World!"

Parameterized Routing

@app.route('/say-hello/{name}')
def sayhello(request: Request, response: Response, name: str):
    response.text = f"Assalawma áleykum {name}"

Allowed Methods

@app.route('/article', methods=['POST'])
def create_article(request: Request, response: Response):
    # Create a new article
    pass


@app.route('/article', methods=['GET'])
def get_article(request: Request, response: Response):
    # Get an article
    pass
@app.post('/article')
def create_product(request: Request, response: Response):
    # Create a new article
    pass


@app.get('/article')
def get_product(request: Request, response: Response):
    # Get an article
    pass

Class-Based Routing

@app.route('/article')
class Article:
    def get(request: Request, response: Response):
        # Get an article
        pass
    
    def post(request: Request, response: Response):
        # Create a new article
        pass

Simple Router

def create_article(request: Request, response: Response):
    response.text = "A new article has been created"


app.register_route('/article', create_article, ['POST'])

Templates

from bizapi import render

# First way
@app.route('/say-hello', methods=['GET'])
def home_page(request: Request, response: Response):
    response.body = render('hello.html', title="Say Hello!", name="John")

# Second way
@app.route('/say-hello', methods=['GET'])
def home_page(request: Request, response: Response):
    response.body = render('hello.html', {
        'title': 'Say Hello!',
        'name': 'John'
    })
<!-- File: templates/hello.html -->
<html>
    <head>
        <title>{{title}}</title>
    </head>
    <body>
        <p>Hello {{name}}</p>
    </body>
</html>

Features (To-Do)

Here's a list of upcoming features that will be included in BizAPI:

  • Function-Based Routing
  • Parameterized Routing
  • Allowed Methods
  • Class-Based Routing
  • Simple Routes
  • Templates
  • Static Folder
  • Exception Handler
  • Custom Response
  • Middleware

License
This project is licensed under the MIT License.

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

bizapi-0.0.6.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

BizAPI-0.0.6-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file bizapi-0.0.6.tar.gz.

File metadata

  • Download URL: bizapi-0.0.6.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for bizapi-0.0.6.tar.gz
Algorithm Hash digest
SHA256 23b618b59b0f027bbb3e43c4b1fd8acd4a1963e3765ed17d8e92998389c874db
MD5 254c770b22e8d6b5ed221f4ad689f107
BLAKE2b-256 a1efaf6ab997da28a2d0f4ee7053bee0583903e724a0491970623d80c191165b

See more details on using hashes here.

File details

Details for the file BizAPI-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: BizAPI-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for BizAPI-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a74d09ea3db57196a802d9bc653ca6d96e7dac0b324a3835b360b1d6411c2f70
MD5 ec676f08bb388cfb5ab2368fa8dbfb03
BLAKE2b-256 f5299e954735198b563321c0260605a9ca0dba509adfb70b0e0fee135a02ee77

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