Metadata-Version: 2.4
Name: nexios
Version: 2.11.1
Summary: Nexios is a modern, high-performance ASGI web framework for Python with multi-server support with zero overhead.
Author-email: Chidebele Dunamis <techwithdunamix@gmail.com>
License-Expression: BSD-3-Clause
License-File: LICENSE
Keywords: API,ASGI,HTTP,Python,async,asynchronous,backend,concurrent,framework,granian,real-time,scalable,uvicorn,web,web server,websocket
Requires-Python: >=3.9
Requires-Dist: anyio==4.3.0
Requires-Dist: itsdangerous>=2.1.2
Requires-Dist: pydantic<3.0,>=2.0
Requires-Dist: python-multipart>=0.0.6
Requires-Dist: typing-extensions>=4.12.2; python_version < '3.10'
Requires-Dist: uvicorn>=0.27.0
Provides-Extra: all
Requires-Dist: anyio>=4.0.0; extra == 'all'
Requires-Dist: click>=8.1.3; extra == 'all'
Requires-Dist: granian>=1.2.0; extra == 'all'
Requires-Dist: itsdangerous>=2.1.2; extra == 'all'
Requires-Dist: jinja2>=3.1.6; extra == 'all'
Requires-Dist: pyjwt>=2.7.0; extra == 'all'
Requires-Dist: python-multipart>=0.0.6; extra == 'all'
Requires-Dist: uvicorn>=0.27.0; extra == 'all'
Provides-Extra: cli
Requires-Dist: click>=8.1.3; extra == 'cli'
Provides-Extra: dev
Requires-Dist: anyio>=4.0.0; extra == 'dev'
Requires-Dist: black>=23.0.0; extra == 'dev'
Requires-Dist: click>=8.1.3; extra == 'dev'
Requires-Dist: coverage<8.0,>=6.3; extra == 'dev'
Requires-Dist: granian>=1.2.0; extra == 'dev'
Requires-Dist: httpx<0.29.0,>=0.23.3; extra == 'dev'
Requires-Dist: isort>=5.13.2; extra == 'dev'
Requires-Dist: itsdangerous>=2.1.2; extra == 'dev'
Requires-Dist: jinja2>=3.1.6; extra == 'dev'
Requires-Dist: mkdocs>=1.2.3; extra == 'dev'
Requires-Dist: mypy>=1.15.0; extra == 'dev'
Requires-Dist: pyjwt>=2.7.0; extra == 'dev'
Requires-Dist: pytest-asyncio<0.27.0,>=0.25.3; extra == 'dev'
Requires-Dist: pytest<8.5.0,>=8.3.4; extra == 'dev'
Requires-Dist: python-multipart>=0.0.6; extra == 'dev'
Requires-Dist: ruff>=0.0.256; extra == 'dev'
Requires-Dist: typing-extensions==4.12.2; extra == 'dev'
Requires-Dist: uvicorn>=0.27.0; extra == 'dev'
Provides-Extra: granian
Requires-Dist: granian>=1.2.0; extra == 'granian'
Provides-Extra: http
Requires-Dist: anyio>=4.0.0; extra == 'http'
Requires-Dist: itsdangerous>=2.1.2; extra == 'http'
Requires-Dist: python-multipart>=0.0.6; extra == 'http'
Requires-Dist: uvicorn>=0.27.0; extra == 'http'
Provides-Extra: jwt
Requires-Dist: pyjwt>=2.7.0; extra == 'jwt'
Provides-Extra: templating
Requires-Dist: jinja2>=3.1.6; extra == 'templating'
Description-Content-Type: text/markdown

## `NEXIOS`

<div align="left">

<a href="https://git.io/typing-svg"><img src="https://readme-typing-svg.demolab.com?font=Fira+Code&pause=1000&color=4CAF50&center=true&width=435&lines=Nexios+ASGI+Framework;Fast%2C+Simple%2C+Flexible" alt="Typing SVG" /></a>

<p align="center">
  <a href="">
    <img alt=Support height="350" src="https://nexios-docs.netlify.app/logo.png"> 
    </p>
    <h1 align="center">Nexios 2.11.x<br></h1>
    
   </a>
</p>

<!-- Badges Section -->
<p align="center">
  <img src="https://img.shields.io/badge/Python-3.9+-blue?logo=python" alt="Python Version">
  <img src="https://img.shields.io/badge/Downloads-10k/month-brightgreen" alt="Downloads">
  <img src="https://img.shields.io/badge/Contributions-Welcome-orange" alt="Contributions">
  <img src="https://img.shields.io/badge/Active Development-Yes-success" alt="Active Development">
</p>

<p align="center">
<a href="https://github.com/nexios-labs/Nexios?tab=followers"><img title="Followers" src="https://img.shields.io/github/followers/nexios-labs?label=Followers&style=social"></a>
<a href="https://github.com/nexios-labs/Nexios/stargazers/"><img title="Stars" src="https://img.shields.io/github/stars/nexios-labs/Nexios?&style=social"></a>
<a href="https://github.com/nexios-labs/Nexios/network/members"><img title="Fork" src="https://img.shields.io/github/forks/nexios-labs/Nexios?style=social"></a>
<a href="https://github.com/nexios-labs/Nexios/watchers"><img title="Watching" src="https://img.shields.io/github/watchers/nexios-labs/Nexios?label=Watching&style=social"></a>

</br>

<h2 align="center"> Star the repo if u like it🌟
</h2>

Nexios is a high-performance Python web framework. Designed for speed, flexibility, and simplicity, Nexios delivers exceptional performance through its native Rust engine while maintaining the simplicity and elegance of Python. It supports RESTful APIs, authentication, and integrates easily with any ORM. Built for modern web development, Nexios allows developers to quickly spin up scalable, modular apps with minimal boilerplate—ideal for startups, rapid prototyping, and custom backend solutions. Think Django's capability with Rust-powered speed.

---

## `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==2.9.0
```

## Features ✨

- [x] **Routing**
- [x] **Automatic OpenAPI Documentation**
- [x] **Session Management**
- [x] **File Router**
- [x] **Authentication (Limited)**
- [x] **Event Listener for Signals**
- [x] **Middleware Support**
- [x] **Express-like Functionality**
- [x] **JWT Authentication**
- [x] **Pydantic Support**
- [x] **Dependency Injection**
- [x] **In-built Support for CORS**
- [x] **Custom Decorators**
- [x] **WebSocket Support**
- [x] **Custom Error Handling**
- [x] **Pagination**
- [x] **HTTP/2 Support**
- [x] **High-Performance Async Processing**

### Upcoming Features

- [ ] **Inbuilt Database ORM Integration**
- [ ] **Asynchronous Task Queue**
- [ ] **Rate Limiting**
- [ ] **API Throttling**

### Basic Example

```py
from nexios import NexiosApp
from nexios.http import Request, Response

app = NexiosApp()

@app.get("/")
async def basic(request: Request, response: Response):
    return {"message": "Hello, world!"}
    # return response.json({"message":"Hello, world!"}) ## This will work for more control


```

### Another Basic Example

```py
from nexios import NexiosApp, Depend
from nexios.http import Request, Response

app = NexiosApp()

async def get_user():
    return {"name": "John Doe"}


@app.get("/users")
async def get_user(request: Request, response: Response, user: Depend(get_user)):

    return {"user": user}
```

Visit http://localhost:4000/docs to view the Swagger API documentation.



## See the full docs

👉 <a href="https://nexios-docs.netlify.app">https://nexios-docs.netlify.app</a>

## Contributors:

<a href="https://github.com/nexios-labs/nexios/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=nexios-labs/nexios" />
</a>

---

> Nexios is currently in active development. The current version is not yet considered stable.We're working towards a stable 3.x.x release. Please be aware that breaking changes may occur in versions before 3.x.

## ☕ Donate to Support Nexios

Nexios is a passion project built to make backend development in Python faster, cleaner, and more developer-friendly. It's fully open-source and maintained with love, late nights, and lots of coffee.

If Nexios has helped you build something awesome, saved you time, or inspired your next project, consider supporting its continued development. Your donation helps cover hosting, documentation tools, and fuels new features and updates.

Every little bit counts — whether it's the cost of a coffee or more. Thank you for believing in the project!

👉 [**Buy Me a Coffee**](https://www.buymeacoffee.com/techwithdul) and support the future of Nexios.
