Pythonic web development
Project description
µHTTP - Pythonic web development
µHTTP emerged from the need of a simple web framework. It's great for micro-services, small applications, AND monolithic monsters.
In µHTTP there is no hidden logic. Everything is what it seems.
Why
- Stupid simple, seriously, there are maybe 15 lines of "real" code in it. No external dependencies.
- Extremely modular, entire extensions can just follow the simple App pattern.
- Very flexible, because of decisions like being able to raise Responses.
- Quite fast, because it doesn't do much.
- Great learning device.
Installation
µHTTP is on PyPI.
pip install uhttp
You might also need an ASGI server. I recommend Uvicorn.
pip install uvicorn
Hello, world!
#!/usr/bin/env python3
from uhttp import App
app = App()
@app.get('/')
def hello(request):
return f'Hello, {request.ip or "World"}!'
if __name__ == '__main__':
import uvicorn
uvicorn.run('__main__:app')
Documentation
First, you should read the tutorial. It will show you how to write and deploy a link aggregation platform (read: Hacker News clone).
Then, take look at the API reference.
Finally, enjoy the source code. ;)
Extensions
µHTTP doesn't come with bells and whistles.
If you want more, search for µHTTP extensions. No luck? Write your own?!
Contributing
All contributions are welcome.
License
Released under the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.