Skip to main content

A nano web framework

Project description

NANO : A Nano Web Framework

Nano is an Express inspired nano web framework which is under development. Currently, it has features of adding routes, controllers and sending API responses (Refer the example blog app for reference). Defining models with custom field types is also available but is under development.

Status : Under developement

To run example app

$ pip3 install -r requirements.txt

$ python3 main.py run:<appname>

Documentation

Step 1: Install nanoAPI and create folder structure

$ pip3 install nanoAPI

$ touch models.py
$ touch controllers.py
$ touch routes.py
$ touch main.py

Step 1: Install nanoAPI and create folder structure

# models.py
from nanoAPI.db import model

class User(model.Model):
    username = model.StringType('username', max_length=50, min_length=4, unique=True, required=True)
    # define your model here

Step 2: Define your controllers

# controllers.py
from nanoAPI.handler import Response

def index(req):
    # define your controller here
    return Response(status=200, data={"msg": "message"})

Step 3: create a router and assign controllers with routes

# routes.py
from nanoAPI.handler import Router
from .controllers import index

router = Router()
router.get("/", index)

Step 4: create nanoAPI app and assemble your router and models

# main.py
from nanoAPI import nanoAPI, run
from .routes import router
from .models import User

api = nanoAPI()

api.set_router('/api', router)
api.set_models(User)

run(api)

Step 5: Boot your models to db and run the server

$ python3 main.py run:db
$ python3 main.py run:api

Refer the example blog app for folder structure. Working on a better documentation

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

nanoAPI-0.5.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

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

nanoAPI-0.5.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file nanoAPI-0.5.0.tar.gz.

File metadata

  • Download URL: nanoAPI-0.5.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.5

File hashes

Hashes for nanoAPI-0.5.0.tar.gz
Algorithm Hash digest
SHA256 24a04a7ed641de6ca2b0429f01c54f3dcf2ad127f5ced50da916bb6168b821bc
MD5 9da4ab5f50b8d75b3304c6d15b109f81
BLAKE2b-256 597c065cbd42d754836f192048d4e8be0b47106d7f355bce52c6da9384c99b59

See more details on using hashes here.

File details

Details for the file nanoAPI-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: nanoAPI-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.5

File hashes

Hashes for nanoAPI-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 778ae67e8b2bd3a373a617f89330a9ac7a1cd3649a047114930127e82d49aabd
MD5 7c8a99dcd7f94690fb0697f00452ee9f
BLAKE2b-256 a198cba4240a9453b032cb2b605ccef960cd7c49b4628b2a2f0c7e1bf332f31d

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