https://github.com/nexios-labs/nexios
The Utility first python web toolkit
https://github.com/nexios-labs/nexios
api asgi asgi-framework async async-backend asyncio backend backend-framework framework json nexio-backend-framework nexios nexios-api python python-backend web
Last synced: 8 days ago
JSON representation
The Utility first python web toolkit
- Host: GitHub
- URL: https://github.com/nexios-labs/nexios
- Owner: nexios-labs
- License: bsd-3-clause
- Created: 2024-11-09T01:48:45.000Z (over 1 year ago)
- Default Branch: v3
- Last Pushed: 2026-04-13T09:16:45.000Z (13 days ago)
- Last Synced: 2026-04-13T10:28:18.459Z (13 days ago)
- Topics: api, asgi, asgi-framework, async, async-backend, asyncio, backend, backend-framework, framework, json, nexio-backend-framework, nexios, nexios-api, python, python-backend, web
- Language: Python
- Homepage: https://nexioslabs.com
- Size: 51.7 MB
- Stars: 237
- Watchers: 4
- Forks: 27
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.MD
- Funding: .github/funding.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
## `NEXIOS`
Nexios 3.x.x
Star the repo if u like itπ
Nexios is a 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.
---
## `Installation` π¦
**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:
### 1. **From `pip`** (Standard Python Package Manager)
```bash
# Ensure you have Python 3.9+
python --version
# Install Nexios
pip install nexios
# Or install with specific version
pip install nexios == 3.4.0
```
## Utility-First Features β¨
### Core Utilities & Tooling
- [x] **Modular Architecture** - Mix and match components as needed
- [x] **Rich CLI Tooling** - Project scaffolding, code generation, and development tools
- [x] **Plugin System** - Extensible architecture for custom functionality
- [x] **Developer Utilities** - Debug toolbar, profiling, and development helpers
- [x] **Testing Framework** - Built-in testing utilities and fixtures
### Web Framework Essentials
- [x] **Powerful Routing** - Type-safe routing with parameter validation
- [x] **Automatic OpenAPI Documentation** - Self-documenting APIs
- [x] **Authentication Toolkit** - Multiple auth backends and strategies
- [x] **Middleware Pipeline** - Composable request/response processing
- [x] **WebSocket Support** - Real-time communication utilities
- [x] **Session Management** - Flexible session handling
### Community & Extensibility
- [x] **Community Contrib Package** - nexios-contrib with community extensions
- [x] **Custom Middleware Support** - Build and share your own middleware
- [x] **Event System** - Hook into framework events and signals
- [x] **Dependency Injection** - Clean, testable code architecture
- [x] **Security Utilities** - CORS, CSRF, secure headers, and more
### Quick Start - Utility-First Approach
```py
from nexios import NexiosApp
from nexios.http import Request, Response
# Create app with built-in utilities
app = NexiosApp(title="My Utility API")
@app.get("/")
async def basic(request: Request, response: Response):
return {"message": "Hello from Nexios utilities!"}
```
### Using Community Extensions
```py
from nexios import NexiosApp, Depend
from nexios_contrib.etag import ETagMiddleware
from nexios_contrib.trusted import 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 to view the Swagger API documentation.
## See the full docs
## Contributors
---
## π Community-Driven Development
Nexios thrives on community contributions and collaboration. We believe the best tools are built by developers, for developers.
### Get Involved
- **Contribute Code**: Submit PRs to the main framework or [nexios-contrib](https://github.com/nexios-labs/contrib)
- **Share Utilities**: Create and share your own middleware, plugins, and tools
- **Join Discussions**: Participate in [GitHub Discussions](https://github.com/nexios-labs/nexios/discussions)
- **Help Others**: Answer questions and help fellow developers
### Community Resources
- π **Documentation**: [https://nexioslabs.com](https://nexioslabs.com)
- π οΈ **Community Extensions**: [nexios-contrib package](https://github.com/nexios-labs/contrib)
- π¬ **Discussions**: [GitHub Discussions](https://github.com/nexios-labs/nexios/discussions)
- π **Issues**: [Report bugs and request features](https://github.com/nexios-labs/nexios/issues)
### Support the Project
If Nexios has helped you build something awesome, consider supporting its continued development:
π [**Buy Me a Coffee**](https://www.buymeacoffee.com/techwithdul) and help fuel the community-driven future of Nexios.