Metadata-Version: 2.4
Name: velocipy
Version: 0.2.0
Summary: VelociPy - a blazing fast, feature-rich RSGI/ASGI web framework
License-Expression: MIT
License-File: LICENSE
License-File: NOTICE
Keywords: rsgi,asgi,web,framework,fast,async
Author: Vojko Pribudić
Author-email: dmanthing@gmail.com
Maintainer: Vojko Pribudić
Maintainer-email: dmanthing@gmail.com
Requires-Python: >=3.11
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Provides-Extra: all
Provides-Extra: granian
Provides-Extra: jinja2
Provides-Extra: msgspec
Provides-Extra: multipart
Provides-Extra: orjson
Provides-Extra: pydantic
Provides-Extra: redis
Provides-Extra: uvicorn
Requires-Dist: granian[reload] (>=2.0.0) ; extra == "all"
Requires-Dist: granian[reload] (>=2.0.0) ; extra == "granian"
Requires-Dist: httpx2 (>=2.0.0)
Requires-Dist: jinja2 (>=3.0) ; extra == "all"
Requires-Dist: jinja2 (>=3.0) ; extra == "jinja2"
Requires-Dist: msgspec (>=0.18.0) ; extra == "all"
Requires-Dist: msgspec (>=0.18.0) ; extra == "msgspec"
Requires-Dist: orjson (>=3.0) ; extra == "all"
Requires-Dist: orjson (>=3.0) ; extra == "orjson"
Requires-Dist: pydantic (>=2.0) ; extra == "all"
Requires-Dist: pydantic (>=2.0) ; extra == "pydantic"
Requires-Dist: python-multipart (>=0.0.20) ; extra == "all"
Requires-Dist: python-multipart (>=0.0.20) ; extra == "multipart"
Requires-Dist: redis (>=4.2.0) ; extra == "all"
Requires-Dist: redis (>=4.2.0) ; extra == "redis"
Requires-Dist: uvicorn[standard] (>=0.29.0) ; extra == "all"
Requires-Dist: uvicorn[standard] (>=0.29.0) ; extra == "uvicorn"
Project-URL: Homepage, https://gitlab.com/velocipy/velocipy
Project-URL: Repository, https://gitlab.com/velocipy/velocipy
Description-Content-Type: text/markdown

<div align="center"><h3>The speed of a velociraptor, the flexibility of Python.</h3>

<p><em>A micro framework built to hunt.</em></p>

<p>
  <img src="https://gitlab.com/velocipy/velocipy/-/raw/main/docs/assets/logo.png" alt="VelociPy logo" width="180">
</p>

<p>
  <!-- Package identity -->
  <a href="https://pypi.org/project/velocipy"><img src="https://img.shields.io/pypi/v/velocipy?logo=pypi" alt="PyPI - Version"></a>
  <img src="https://img.shields.io/pypi/pyversions/velocipy?logo=python&color=%4cb70f" alt="PyPI - Python Version">
  <a href="https://gitlab.com/velocipy/velocipy/-/blob/main/LICENSE"><img src="https://img.shields.io/pypi/l/velocipy?color=%4cb70f&logo=pypi" alt="PyPI - License"></a>
  <br>
  <!-- Project health -->
  <a href="https://pepy.tech/project/velocipy"><img src="https://img.shields.io/pypi/dm/velocipy?logo=pypi" alt="PyPi - Downloads"></a>
  <a href="https://gitlab.com/velocipy/velocipy/-/pipelines"><img src="https://img.shields.io/gitlab/pipeline-status/velocipy%2Fvelocipy?branch=main&label=pipeline&logo=gitlab" alt="GitLab Pipeline Status"></a>
  <img src="https://img.shields.io/gitlab/pipeline-coverage/velocipy/velocipy?branch=main&job_name=run-tests&logo=gitlab" alt="GitLab Coverage">
  <a href="https://gitlab.com/velocipy/velocipy/-/commits/main"><img src="https://img.shields.io/gitlab/last-commit/velocipy%2Fvelocipy?logo=gitlab" alt="GitLab Last Commit"></a>
  <a href="https://gitlab.com/velocipy/velocipy/-/issues"><img src="https://img.shields.io/gitlab/issues/open/velocipy%2Fvelocipy?logo=gitlab" alt="GitLab Issues"></a>
  <br>
  <!-- Dependencies & code quality -->
  <a href="https://libraries.io/pypi/velocipy"><img src="https://img.shields.io/librariesio/release/pypi/velocipy?logo=librariesdotio" alt="Libraries.io dependency status"></a>
  <img src="https://img.shields.io/badge/formatted-blue?logo=ruff&logoColor=white&label=ruff&color=%4cb70f" alt="Python - Formatter">
  <img src="https://img.shields.io/badge/git%20hooks-prek-4cb70f?logo=git" alt="Git hooks">
  <br>
  <!-- Protocol support -->
  <img src="https://img.shields.io/badge/RSGI-supported-success.svg" alt="RSGI">
  <img src="https://img.shields.io/badge/ASGI-supported-success.svg" alt="ASGI">
</p></div>

VelociPy is a small, fast, and friendly Python web framework. Start with a tiny
core and plug in only what your project needs: validation, OpenAPI, security,
rate limiting, multipart uploads, Redis storage, and more. Import what you use;
ignore what you don't.

## Quick start

```bash
pip install velocipy
```

```python
from velocipy import VelociPy

app = VelociPy()

@app.get("/")
async def hello():
    return {"message": "Hello, VelociPy!"}
```

```bash
# RSGI - fastest path
granian main:app --interface rsgi --reload

# ASGI
uvicorn main:app --reload
```

## Optional extras

The core package is tiny. Install only the integrations you need:

```bash
pip install velocipy[pydantic,uvicorn]      # validation + ASGI server
pip install velocipy[jinja2,redis]          # templates + Redis storage
pip install velocipy[all]                   # all runtime features
```

See `pyproject.toml` for the full list of extras.

## Documentation

Full documentation is available at [https://docs.velocipy.dev](https://docs.velocipy.dev).

- [Getting started](https://docs.velocipy.dev/getting-started/)
- [Deployment](https://docs.velocipy.dev/deployment/)
- [Contributing](https://docs.velocipy.dev/contributing/)
- [Changelog](https://docs.velocipy.dev/changelog/)

Feature guides cover [routing](https://docs.velocipy.dev/features/routing/), [requests & responses](https://docs.velocipy.dev/features/requests-and-responses/), [middleware](https://docs.velocipy.dev/features/middleware/), [security](https://docs.velocipy.dev/features/security/), [OpenAPI](https://docs.velocipy.dev/features/openapi/), [rate limiting](https://docs.velocipy.dev/features/rate-limiting/), and more.

## License

VelociPy is released under the [MIT License](https://gitlab.com/velocipy/velocipy/-/blob/main/LICENSE).

