Metadata-Version: 2.5
Name: kajenn
Version: 0.1.1
Summary: ASGI server with sessions, authentication, websocket channels, tasks, MCP, storage and a base server application included
Project-URL: Homepage, https://kajenn.org
Project-URL: Repository, https://github.com/kajenn-org/kajenn
Project-URL: Bug Tracker, https://github.com/kajenn-org/kajenn/issues
Author-email: Genropy Team <info@softwell.it>
License: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: asgi,async,http,server,web
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Dist: cryptography>=42.0
Requires-Dist: genro-bag>=0.27.0
Requires-Dist: genro-builders>=0.27.0
Requires-Dist: genro-routes>=0.30.1
Requires-Dist: genro-storage[encryption]>=0.8.1
Requires-Dist: genro-toolbox>=0.17.0
Requires-Dist: genro-tytx>=0.16.1
Requires-Dist: httpx>=0.27
Requires-Dist: psutil>=6.0
Requires-Dist: pyjwt>=2.0
Requires-Dist: uvicorn>=0.30
Requires-Dist: websockets>=13.0
Provides-Extra: dev
Requires-Dist: genro-tytx[msgpack]>=0.16.1; extra == 'dev'
Requires-Dist: mkdocs-material>=9.6; extra == 'dev'
Requires-Dist: mkdocs>=1.6; extra == 'dev'
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: myst-parser>=2.0; extra == 'docs'
Requires-Dist: sphinx-autodoc-typehints>=2.0; extra == 'docs'
Requires-Dist: sphinx-rtd-theme>=2.0; extra == 'docs'
Requires-Dist: sphinx>=7.0; extra == 'docs'
Requires-Dist: sphinxcontrib-mermaid>=1.0; extra == 'docs'
Provides-Extra: internals
Requires-Dist: mkdocs-material>=9.6; extra == 'internals'
Requires-Dist: mkdocs>=1.6; extra == 'internals'
Provides-Extra: test
Requires-Dist: genro-tytx[msgpack]>=0.16.1; extra == 'test'
Requires-Dist: mkdocs-material>=9.6; extra == 'test'
Requires-Dist: mkdocs>=1.6; extra == 'test'
Requires-Dist: pytest-asyncio>=0.23; extra == 'test'
Requires-Dist: pytest-cov>=4.0; extra == 'test'
Requires-Dist: pytest>=7.0; extra == 'test'
Description-Content-Type: text/markdown

# kajenn

[![PyPI](https://img.shields.io/pypi/v/kajenn)](https://pypi.org/project/kajenn/)
[![Tests](https://github.com/kajenn-org/kajenn/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/kajenn-org/kajenn/actions/workflows/tests.yml)
[![Codecov](https://codecov.io/gh/kajenn-org/kajenn/branch/main/graph/badge.svg)](https://app.codecov.io/gh/kajenn-org/kajenn)
[![Documentation](https://readthedocs.org/projects/kajenn/badge/?version=latest)](https://kajenn.readthedocs.io/en/latest/)
[![Python](https://img.shields.io/badge/python-3.11%2B-blue)](https://github.com/kajenn-org/kajenn/blob/main/pyproject.toml)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue)](LICENSE)

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="assets/branding/kajenn-logo-dark.png">
    <img src="assets/branding/kajenn-logo.png" alt="kajenn" width="200">
  </picture>
</p>

*A spicy ASGI application server.*

**Status**: Pre-Alpha. This README describes the `main` checkout; the PyPI badge
shows the published package version. For the examples documented here, follow
the [checkout installation instructions](docs/getting-started.md#installation).

kajenn is an ASGI application server with the features FastAPI leaves to the user — sessions, authentication,
websocket channels, tasks, MCP, storage — and a base server application included.

Based on genropy history and genro-modules.

## Why kajenn?

Pronounced “KAY-jen”, kajenn plays on cayenne and Cajun: spicy, with rhythm.

## Packages in this distribution

| Import package | Content |
|---|---|
| `kajenn` | server core and app-side contract |
| `kajenn_server_app` | base server application, mounted by configuration |

The core never imports the server application. A contract test asserts it.

## Project

- Documentation: https://kajenn.org
- Organization: https://github.com/kajenn-org
- Orchestration: [kajenn-orchestra](https://github.com/kajenn-org/kajenn-orchestra)
- Django adapter: [kajenn-django](https://github.com/kajenn-org/kajenn-django)

## License

Apache License 2.0, copyright Softwell S.r.l.
