Nebula is a lightweight ASGI-based Python web framework that provides simple, decorator-based routing and middleware support for building fast, asynchronous web applications.
- Decorator-based Routing: Define your routes with simple and intuitive decorators.
- Asynchronous Support: Full
async/awaitsupport for handling requests and events. - Session Management & Authentication: Secure session handling and user authentication.
- WebSocket Support: Real-time communication with WebSocket routing.
- Template Loading: Easily load and serve HTML templates from a designated directory.
- Statics Loading: Easily load and serve files from designated directory.
- Middleware Support:
before_requestandafter_requesthooks for flexible request handling. - Flexible Error Handling: Easily handle HTTP errors with use of
error_handler(<http_code:int>). - Easy to Use: Get a server up and running in just a few lines of code.
Install Nebula from PyPI:
pip install nebula-coreor clone and install from GitHub.
git clone https://github.com/VxidDev/nebula.git
cd nebula
pip install .Here's a basic example of creating a simple web server with Nebula.
main.py:
from nebula import Nebula , run_dev
from nebula.response import HTMLResponse
app = Nebula(__file__, "localhost", 8000)
@app.get("/", return_class=HTMLResponse)
async def root(request) -> None:
return "<h1>Welcome to Nebula!</h1>"
if __name__ == "__main__":
run_dev(app)Run your app:
python main.pyOpen your browser and navigate to http://localhost:8000 to see your page.
amogus-gggy:
- refactoring Nebula 0.2.0.
- adding websockets support (2.0.0)
- adding session support
Huge thank you!
This project is licensed under the MIT License - see the LICENSE file for details.