Metadata-Version: 2.4
Name: moxie-api
Version: 2.0.3
Summary: A fast, expressive, Python-native web framework with auto OpenAPI docs.
Author: Moxie Team
License: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: anyio>=4.0.0
Requires-Dist: httptools>=0.6.0
Requires-Dist: h11>=0.14.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: PyYAML>=6.0.0
Requires-Dist: click>=8.1.0
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: httpx>=0.24.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: pyright>=1.1.330; extra == "dev"
Requires-Dist: uvicorn>=0.23.0; extra == "dev"
Provides-Extra: full
Requires-Dist: moxie-api[dev]; extra == "full"
Dynamic: license-file

<p align="center">
  <img src="./moxie.png" alt="Moxie Banner" width="800">
</p>

<h1 align="center">Moxie API</h1>

<p align="center">
  <strong>The blazing-fast, modern Python framework designed for speed, efficiency, and developer productivity.</strong>
</p>

<p align="center">
  <img src="https://img.shields.io/badge/Python-3.10+-blue.svg" alt="Python Version">
  <img src="https://img.shields.io/badge/License-MIT-green.svg" alt="License">
  <img src="https://img.shields.io/badge/Performance-Blazing%20Fast-orange.svg" alt="Performance">
</p>

---

Moxie is an ASGI-native web framework built on top of high-performance components. It combines the ease of use of FastAPI with a modular architecture that gives you full control over your API's lifecycle.

## ✨ Key Features

- 🚀 **Blazing Fast**: Built on `uvicorn` and optimized `asyncio` for maximum throughput.
- 🛠️ **Dependency Injection**: A robust, built-in DI system that makes testing and modularity a breeze.
- 📜 **Auto OpenAPI**: Stunning, interactive documentation with Swagger UI and ReDoc, generated automatically from your code.
- 🔌 **Plugin System**: Easily extend the framework with custom plugins for health checks, logging, and more.
- 🛡️ **Type Safety**: Full Pydantic integration for request validation and response serialization.
- 🌐 **WebSockets**: Native, easy-to-use WebSocket support with JSON serialization.

## 🚀 Quickstart

Install Moxie using pip:

```bash
pip install moxie-api
```

Create a file named `app.py`:

```python
from moxie import Moxie

app = Moxie(title="My Awesome API")

@app.get("/")
async def root():
    return {"message": "Welcome to Moxie!"}

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}
```

Run your API:

```bash
moxie dev app:app
```

Now visit `http://127.0.0.1:8000/docs` to see your interactive documentation!

## 🤝 Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for more details.

## 📄 License

Moxie is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.
