Skip to main content

A lightweight, readable Python API framework. Simple by design.

Project description

Bamboo

A lightweight, readable Python API framework. Simple by design.

Bamboo is an ASGI micro-framework you can read in one sitting and fully understand. No magic. No hidden complexity. Just clean, honest Python.

Install

pip install bambooapi-framework

Quickstart

from bambooapi import Bamboo, Response

app = Bamboo()

@app.get("/")
async def home(request):
    """Welcome message."""
    return {"message": "Hello from Bamboo"}

@app.post("/notes")
async def create_note(request):
    """Create a note."""
    data = await request.json()
    return Response({"note": data}, status=201)

Run it:

uvicorn myapp:app

Then visit http://localhost:8000/docs for the interactive API docs.

Features

  • GET, POST, PUT, DELETE routing
  • Path parameters: /notes/{note_id}
  • Async request body and JSON parsing
  • Auto-generated OpenAPI spec at /openapi.json
  • Interactive docs page at /docs
  • Zero dependencies beyond an ASGI server

Philosophy

The entire framework fits in one file you can read in an afternoon. If you can read it, you can understand it. If you can understand it, you can trust it.

License

MIT

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

bamboo_framework-0.1.7.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

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

bamboo_framework-0.1.7-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file bamboo_framework-0.1.7.tar.gz.

File metadata

  • Download URL: bamboo_framework-0.1.7.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for bamboo_framework-0.1.7.tar.gz
Algorithm Hash digest
SHA256 db5771dba18f3790ef9264863e4f2c618cd5061b0143a1c1423898afeb25e13d
MD5 dad921e49306f5205c91471863f0d4ae
BLAKE2b-256 271d0467cf50e1c02e6bca3945d6acb06add4c9b89ec9e2c3d7f30026f40e08d

See more details on using hashes here.

File details

Details for the file bamboo_framework-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for bamboo_framework-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c170de53a010f25630421117ebf8f417ab60a6be0eb0e9bdbe3ef07e6f9eb802
MD5 172b00b4f847b5ca178b2a3cb28b6db4
BLAKE2b-256 3efb00ab5773f98335adcdab6dc358f39c78ef1e5aed4f44ff98a90e5e51e0b9

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