Skip to main content

A lightweight and highly customizable Python framework for building web applications

Project description

Mango Framework

License

Introduction

Mango is a lightweight Python framework for building web applications. It provides a simple and intuitive way to handle routing, render HTML templates, and serve files. With Mango, you can quickly set up a web server and define routes to handle different HTTP requests. It is made to be accessible and highly modifiable even by beginners to learn and eventually move on to more mature frameworks such as Flask or Bottle. You only need python3 to run Mango and nothing else.

Features

  • Easy routing configuration
  • Rendering HTML templates
  • Serving static files
  • Handling JSON data
  • Handling of basic form data
  • Lightweight and minimal dependencies
  • Suitable for small to medium-sized web applications
  • Human readible code even beginners could modify
  • Integrated basic ORM for DB functions
  • Integrated basic Template engine Shake

Installation

Mango can be easily installed via pip:

pip install mango-framework

Usage

  1. Import the necessary modules and functions from Mango:
from mango import route, run, render, send_json, send_file, Shake, get_json
  1. Define your routes using the @route() decorator:
@route('/')
def index():
    return "Hello, Mango!"
  1. Get JSON data:
@route('/post')
def post(post):
    user = get_json(post)
    return f"Hello, {user['name']}!"
  1. Send JSON data:
@route('/send')
def send():
    return send_json({'name':'john'})
  1. Send a file for the user to download:
@route('/download')
def download():
    return send_file('image.jpeg')
  1. Render the HTML to the user (now supports shake without the class):
@route('/render')
def render():
    return render('index.html')

### New shake rendering

@route('/render')
def render():
    return render('index.html',{'name':'john'})
  1. Render the HTML to the user as a template with Shake (Legacy method will be removed in future versions.):
@route('/render')
def shake():
    return Shake().render('index.html',{'name':'john'})
  1. Get form data:
@route('/form')
def form(form_data):
    name = get_data(form_data,'name')
    return f"Hello, {name}!"
  1. Run the Mango server:
run()

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

mango-framework-0.7.9.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

mango_framework-0.7.9-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file mango-framework-0.7.9.tar.gz.

File metadata

  • Download URL: mango-framework-0.7.9.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for mango-framework-0.7.9.tar.gz
Algorithm Hash digest
SHA256 034a40472955c21f5762ffe29a324b9821bf8afba183752c639a727928a15429
MD5 c47cd9ef83a6251d15245293fb2d32cd
BLAKE2b-256 a45ccc0dcbb30be2d329d83cdb0aeb330a046192415784d2300187a05902c4d3

See more details on using hashes here.

File details

Details for the file mango_framework-0.7.9-py3-none-any.whl.

File metadata

File hashes

Hashes for mango_framework-0.7.9-py3-none-any.whl
Algorithm Hash digest
SHA256 6c514a5236a880392d816cf8696074a5415e82c9d5744ca1b17cf4c7357d63bd
MD5 f10ff776ddcf9dbe334a66e0044e4659
BLAKE2b-256 7dd1a0b065c81a4806c224d560e00774e5c078ccd2681ec8078f06be3e59f8ec

See more details on using hashes here.

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