Skip to main content

A modern ASGI web framework for Python focused on simplicity, clean architecture, and a great developer experience.

Project description

NEXIOS

Typing SVG

Support

Nexios 3.x.x

Python Version Downloads Contributions Active Development


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)

# 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

  • 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

Web Framework Essentials

  • 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 & Extensibility

  • 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

Quick Start - Utility-First Approach

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

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 http://localhost:8000/docs to view the Swagger API documentation.

See the full docs

👉 https://nexioslabs.com

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
  • 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

Community Resources

Support the Project

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.

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.

Source Distribution

nexios-3.12.0rc1.tar.gz (3.7 MB view details)

Uploaded Source

Built Distribution

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

nexios-3.12.0rc1-py3-none-any.whl (204.8 kB view details)

Uploaded Python 3

File details

Details for the file nexios-3.12.0rc1.tar.gz.

File metadata

  • Download URL: nexios-3.12.0rc1.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nexios-3.12.0rc1.tar.gz
Algorithm Hash digest
SHA256 e16f41dffa0f3bcca13ba2106ccaea7a388f8e8f9cb5e00cabd0c1eed074ad47
MD5 bea16b662c7e1c109dd500dd3fac4b21
BLAKE2b-256 4ae0f1f53098d82d600863b32e2be32ad888e1e73405d300e96814468172f729

See more details on using hashes here.

File details

Details for the file nexios-3.12.0rc1-py3-none-any.whl.

File metadata

  • Download URL: nexios-3.12.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 204.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nexios-3.12.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 d1abbe99a83b80ab80d2450fa691e6c8f3c9e5995051380bd7fa9877ca1be92b
MD5 0acb2ee1d6e5cf22c919d8a3b9069b6c
BLAKE2b-256 9acce7eec822ccfb78fe9013f8132379a4ca7b37d265fe5d25cfe6b272c8d862

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