Nexios is a community-driven, utility-first Python web framework designed for developers who need powerful tooling and extensibility. Built with a modular architecture, Nexios provides a comprehensive toolkit for building everything from simple APIs to complex distributed systems. The framework emphasizes developer productivity through its rich ecosystem of utilities, middleware, and community-contributed extensions. Whether you're building microservices, real-time applications, or enterprise-grade backends, Nexios gives you the tools and flexibility to craft solutions that scale with your needs.
Requirements:
- Python 3.9 or higher
- pip (Python package manager)
To install Nexios, you can use several methods depending on your environment and preferred package manager. Below are the instructions for different package managers:
# Ensure you have Python 3.9+
python --version
# Install Nexios
pip install nexios
# Or install with specific version
pip install nexios==3.0.0b1- Modular Architecture - Mix and match components as needed
- Rich CLI Tooling - Project scaffolding, code generation, and development tools
- Plugin System - Extensible architecture for custom functionality
- Developer Utilities - Debug toolbar, profiling, and development helpers
- Testing Framework - Built-in testing utilities and fixtures
- Powerful Routing - Type-safe routing with parameter validation
- Automatic OpenAPI Documentation - Self-documenting APIs
- Authentication Toolkit - Multiple auth backends and strategies
- Middleware Pipeline - Composable request/response processing
- WebSocket Support - Real-time communication utilities
- Session Management - Flexible session handling
- Community Contrib Package - nexios-contrib with community extensions
- Custom Middleware Support - Build and share your own middleware
- Event System - Hook into framework events and signals
- Dependency Injection - Clean, testable code architecture
- Security Utilities - CORS, CSRF, secure headers, and more
from nexios import NexiosApp
from nexios.http import Request, Response
# Create app with built-in utilities
app = NexiosApp(
title="My Utility API",
debug=True, # Enables debug toolbar and dev utilities
auto_reload=True # Hot reload during development
)
@app.get("/")
async def basic(request: Request, response: Response):
return {"message": "Hello from Nexios utilities!"}from nexios import NexiosApp, Depend
from nexios_contrib.middleware import ETagMiddleware, TrustedHostMiddleware
from nexios.http import Request, Response
app = NexiosApp()
# Add community-contributed middleware
app.add_middleware(ETagMiddleware())
app.add_middleware(TrustedHostMiddleware(allowed_hosts=["example.com"]))
# Utility function with dependency injection
async def get_database():
# Your database utility here
return {"connection": "active"}
@app.get("/health")
async def health_check(request: Request, response: Response, db: Depend(get_database)):
return {"status": "healthy", "database": db}Visit http://localhost:8000/docs to view the Swagger API documentation.
π https://nexios-labs.github.io/nexios
Nexios thrives on community contributions and collaboration. We believe the best tools are built by developers, for developers.
- Contribute Code: Submit PRs to the main framework or nexios-contrib
- Share Utilities: Create and share your own middleware, plugins, and tools
- Join Discussions: Participate in GitHub Discussions
- Help Others: Answer questions and help fellow developers
- π Documentation: nexios-docs.netlify.app
- π οΈ Community Extensions: nexios-contrib package
- π¬ Discussions: GitHub Discussions
- π Issues: Report bugs and request features
If Nexios has helped you build something awesome, consider supporting its continued development:
π Buy Me a Coffee and help fuel the community-driven future of Nexios.
