Artanis
A lightweight, minimalist ASGI web framework for Python built with simplicity and performance in mind.
📚 Complete Documentation | 🚀 Quick Start Guide | 💡 Examples | 🔍 API Reference
Artanis provides a clean, intuitive API for building modern web applications with Express.js-style middleware and comprehensive built-in features.
✨ Key Features
- 🚀 Express.js-Style API: Clean
app.get(),app.post(),app.use()middleware patterns - 🏗️ Advanced Routing: Modular routers, path parameters, nested subrouting, parameterized mounts
- 🔐 Built-in Security: CORS, CSP, HSTS, rate limiting, security headers, comprehensive middleware suite
- 📡 Event System: Startup/shutdown events, custom business events, priority execution, event middleware
- ⚠️ Exception Handling: Custom exception hierarchy, structured error responses, automatic logging
- 📊 Professional Logging: Structured logging, JSON/text formats, request tracking, component-specific loggers
- 🔷 Type Safety: Complete type hints, mypy compatibility, excellent IDE support
- 🎯 ASGI Compliant: Works with Uvicorn, Hypercorn, Daphne - zero runtime dependencies
📦 Installation
pip install artanis
Requirements: Python 3.8+ • Zero runtime dependencies
🚀 Quick Start
from artanis import App
app = App()
# Simple route
async def hello():
return {"message": "Hello, World!"}
app.get("/", hello)
# Route with path parameter
async def get_user(user_id):
return {"user_id": user_id, "name": f"User {user_id}"}
app.get("/users/{user_id}", get_user)
# POST route with JSON body
async def create_user(request):
data = await request.json()
return {"created": data}
app.post("/users", create_user)
# Run with: uvicorn main:app --reload
📚 Documentation & Resources
Complete Documentation: nordxai.github.io/Artanis
Quick Links
- 🚀 Quick Start Guide - Get started in minutes
- 💡 Examples - Real-world applications and patterns
- 🔍 API Reference - Complete API documentation
- 🏗️ Tutorial - Build your first application
- 🛠️ Contributing - Development setup and guidelines
🚀 CLI Tool
Create new projects instantly:
# Create a new Artanis project
artanis new my-project
cd my-project
# Run your application
uvicorn main:app --reload
🛠️ Development & Testing
# Clone repository
git clone https://github.com/nordxai/Artanis
cd Artanis
# Install in development mode
pip install -e ".[dev]"
# Run tests (191 comprehensive tests)
pytest
# Code quality checks
ruff check . && mypy src/artanis
🤝 Community & Support
- 📚 Documentation - Complete guides and API reference
- 🐛 Issues - Bug reports and feature requests
- 💬 Discussions - Community support and questions
- 📦 PyPI - Package releases and changelog
- ⭐ GitHub - Source code and contributions
Requirements: Python 3.8+ • Zero runtime dependencies • ASGI compliant
Express.js simplicity meets Python performance
Metadata
Release files for artanis 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| artanis-0.1.4.tar.gz | 77.6 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| artanis-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 137.9 kB
Release files / artanis-0.1.4.tar.gz
| Download URL | artanis-0.1.4.tar.gz |
|---|---|
| Size | 77.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e069550b424867f8d0c1fac1900bbaee1aaa380a97315b717317197dc79a9ee
|
|
BLAKE2b-256 checksum How to use checksums |
fd7223ff5a9bd9973fdd91bd278eb16ec0476ddfe99904aaeff2f1a9839d5155
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 9, 2025.
Transparency logRelease files / artanis-0.1.4-py3-none-any.whl
| Download URL | artanis-0.1.4-py3-none-any.whl |
|---|---|
| Size | 60.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3c36a87aa9ef6327203b70c844ac19ec95284dbc6cc1f6573dff8eee4855ef7e
|
|
BLAKE2b-256 checksum How to use checksums |
d12e81cc3e8bef9cc60685b22cdd1e90e1ebedad455287dde4a2d1a655b2b851
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 9, 2025.
Transparency logSecurity for artanis 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for artanis-0.1.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 9, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.