<div align="center">
<img src="https://raw.githubusercontent.com/nordxai/Artanis/main/assets/artanis-logo.png" alt="Artanis Framework Logo" width="200" height="200">
# Artanis
A lightweight, minimalist ASGI web framework for Python built with simplicity and performance in mind.
**📚 [Complete Documentation](https://nordxai.github.io/Artanis/) | 🚀 [Quick Start Guide](https://nordxai.github.io/Artanis/getting-started/quickstart/) | 💡 [Examples](https://nordxai.github.io/Artanis/examples/) | 🔍 [API Reference](https://nordxai.github.io/Artanis/api/core/app/)**
</div>
[](https://github.com/nordxai/Artanis/actions/workflows/test.yml)
[](https://github.com/nordxai/Artanis/actions/workflows/code-quality.yml)
[](https://www.python.org/downloads/)
[](LICENSE)
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
> **📖 [View Complete Feature List & Documentation →](https://nordxai.github.io/Artanis/)**
## 📦 Installation
```bash
pip install artanis
```
**Requirements**: Python 3.8+ • Zero runtime dependencies
> **📚 [Development Setup Guide](https://nordxai.github.io/Artanis/getting-started/installation/) | 🔧 [Contributing Guidelines](https://nordxai.github.io/Artanis/contributing/documentation/)**
## 🚀 Quick Start
```python
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
```
> **🚀 [Complete Quick Start Tutorial](https://nordxai.github.io/Artanis/getting-started/quickstart/) | 💡 [View More Examples](https://nordxai.github.io/Artanis/examples/)**
## 📚 Documentation & Resources
**Complete Documentation**: [nordxai.github.io/Artanis](https://nordxai.github.io/Artanis/)
### Quick Links
- **🚀 [Quick Start Guide](https://nordxai.github.io/Artanis/getting-started/quickstart/)** - Get started in minutes
- **💡 [Examples](https://nordxai.github.io/Artanis/examples/)** - Real-world applications and patterns
- **🔍 [API Reference](https://nordxai.github.io/Artanis/api/core/app/)** - Complete API documentation
- **🏗️ [Tutorial](https://nordxai.github.io/Artanis/getting-started/first-app/)** - Build your first application
- **🛠️ [Contributing](https://nordxai.github.io/Artanis/contributing/documentation/)** - Development setup and guidelines
## 🚀 CLI Tool
Create new projects instantly:
```bash
# Create a new Artanis project
artanis new my-project
cd my-project
# Run your application
uvicorn main:app --reload
```
## 🛠️ Development & Testing
```bash
# 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](https://nordxai.github.io/Artanis/)** - Complete guides and API reference
- **🐛 [Issues](https://github.com/nordxai/Artanis/issues)** - Bug reports and feature requests
- **💬 [Discussions](https://github.com/nordxai/Artanis/discussions)** - Community support and questions
- **📦 [PyPI](https://pypi.org/project/artanis/)** - Package releases and changelog
- **⭐ [GitHub](https://github.com/nordxai/Artanis)** - Source code and contributions
**Requirements**: Python 3.8+ • Zero runtime dependencies • ASGI compliant
---
<div align="center">
<strong>Built with ❤️ for the Python community</strong><br>
<em>Express.js simplicity meets Python performance</em>
</div>
Raw data
{
"_id": null,
"home_page": null,
"name": "artanis",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Asep Norzai <nordxai@gmail.com>",
"keywords": "asgi, web, framework, async, routes, middleware, logging, express, python, http, api, rest, enterprise, professional",
"author": null,
"author_email": "Asep Norzai <nordxai@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/fd/72/23ff5a9bd9973fdd91bd278eb16ec0476ddfe99904aaeff2f1a9839d5155/artanis-0.1.4.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <img src=\"https://raw.githubusercontent.com/nordxai/Artanis/main/assets/artanis-logo.png\" alt=\"Artanis Framework Logo\" width=\"200\" height=\"200\">\n\n # Artanis\n\n A lightweight, minimalist ASGI web framework for Python built with simplicity and performance in mind.\n\n **\ud83d\udcda [Complete Documentation](https://nordxai.github.io/Artanis/) | \ud83d\ude80 [Quick Start Guide](https://nordxai.github.io/Artanis/getting-started/quickstart/) | \ud83d\udca1 [Examples](https://nordxai.github.io/Artanis/examples/) | \ud83d\udd0d [API Reference](https://nordxai.github.io/Artanis/api/core/app/)**\n</div>\n\n[](https://github.com/nordxai/Artanis/actions/workflows/test.yml)\n[](https://github.com/nordxai/Artanis/actions/workflows/code-quality.yml)\n[](https://www.python.org/downloads/)\n[](LICENSE)\n\nArtanis provides a clean, intuitive API for building modern web applications with Express.js-style middleware and comprehensive built-in features.\n\n## \u2728 Key Features\n\n- **\ud83d\ude80 Express.js-Style API**: Clean `app.get()`, `app.post()`, `app.use()` middleware patterns\n- **\ud83c\udfd7\ufe0f Advanced Routing**: Modular routers, path parameters, nested subrouting, parameterized mounts\n- **\ud83d\udd10 Built-in Security**: CORS, CSP, HSTS, rate limiting, security headers, comprehensive middleware suite\n- **\ud83d\udce1 Event System**: Startup/shutdown events, custom business events, priority execution, event middleware\n- **\u26a0\ufe0f Exception Handling**: Custom exception hierarchy, structured error responses, automatic logging\n- **\ud83d\udcca Professional Logging**: Structured logging, JSON/text formats, request tracking, component-specific loggers\n- **\ud83d\udd37 Type Safety**: Complete type hints, mypy compatibility, excellent IDE support\n- **\ud83c\udfaf ASGI Compliant**: Works with Uvicorn, Hypercorn, Daphne - zero runtime dependencies\n\n> **\ud83d\udcd6 [View Complete Feature List & Documentation \u2192](https://nordxai.github.io/Artanis/)**\n\n## \ud83d\udce6 Installation\n\n```bash\npip install artanis\n```\n\n**Requirements**: Python 3.8+ \u2022 Zero runtime dependencies\n\n> **\ud83d\udcda [Development Setup Guide](https://nordxai.github.io/Artanis/getting-started/installation/) | \ud83d\udd27 [Contributing Guidelines](https://nordxai.github.io/Artanis/contributing/documentation/)**\n\n## \ud83d\ude80 Quick Start\n\n```python\nfrom artanis import App\n\napp = App()\n\n# Simple route\nasync def hello():\n return {\"message\": \"Hello, World!\"}\n\napp.get(\"/\", hello)\n\n# Route with path parameter\nasync def get_user(user_id):\n return {\"user_id\": user_id, \"name\": f\"User {user_id}\"}\n\napp.get(\"/users/{user_id}\", get_user)\n\n# POST route with JSON body\nasync def create_user(request):\n data = await request.json()\n return {\"created\": data}\n\napp.post(\"/users\", create_user)\n\n# Run with: uvicorn main:app --reload\n```\n\n> **\ud83d\ude80 [Complete Quick Start Tutorial](https://nordxai.github.io/Artanis/getting-started/quickstart/) | \ud83d\udca1 [View More Examples](https://nordxai.github.io/Artanis/examples/)**\n\n## \ud83d\udcda Documentation & Resources\n\n**Complete Documentation**: [nordxai.github.io/Artanis](https://nordxai.github.io/Artanis/)\n\n### Quick Links\n\n- **\ud83d\ude80 [Quick Start Guide](https://nordxai.github.io/Artanis/getting-started/quickstart/)** - Get started in minutes\n- **\ud83d\udca1 [Examples](https://nordxai.github.io/Artanis/examples/)** - Real-world applications and patterns\n- **\ud83d\udd0d [API Reference](https://nordxai.github.io/Artanis/api/core/app/)** - Complete API documentation\n- **\ud83c\udfd7\ufe0f [Tutorial](https://nordxai.github.io/Artanis/getting-started/first-app/)** - Build your first application\n- **\ud83d\udee0\ufe0f [Contributing](https://nordxai.github.io/Artanis/contributing/documentation/)** - Development setup and guidelines\n\n## \ud83d\ude80 CLI Tool\n\nCreate new projects instantly:\n\n```bash\n# Create a new Artanis project\nartanis new my-project\ncd my-project\n\n# Run your application\nuvicorn main:app --reload\n```\n\n## \ud83d\udee0\ufe0f Development & Testing\n\n```bash\n# Clone repository\ngit clone https://github.com/nordxai/Artanis\ncd Artanis\n\n# Install in development mode\npip install -e \".[dev]\"\n\n# Run tests (191 comprehensive tests)\npytest\n\n# Code quality checks\nruff check . && mypy src/artanis\n```\n\n## \ud83e\udd1d Community & Support\n\n- **\ud83d\udcda [Documentation](https://nordxai.github.io/Artanis/)** - Complete guides and API reference\n- **\ud83d\udc1b [Issues](https://github.com/nordxai/Artanis/issues)** - Bug reports and feature requests\n- **\ud83d\udcac [Discussions](https://github.com/nordxai/Artanis/discussions)** - Community support and questions\n- **\ud83d\udce6 [PyPI](https://pypi.org/project/artanis/)** - Package releases and changelog\n- **\u2b50 [GitHub](https://github.com/nordxai/Artanis)** - Source code and contributions\n\n**Requirements**: Python 3.8+ \u2022 Zero runtime dependencies \u2022 ASGI compliant\n\n---\n\n<div align=\"center\">\n<strong>Built with \u2764\ufe0f for the Python community</strong><br>\n<em>Express.js simplicity meets Python performance</em>\n</div>\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A simple, yet fast, Python framework with named routes",
"version": "0.1.4",
"project_urls": {
"Bug Reports": "https://github.com/nordxai/Artanis/issues",
"Changelog": "https://github.com/nordxai/Artanis/releases",
"Discussions": "https://github.com/nordxai/Artanis/discussions",
"Homepage": "https://github.com/nordxai/Artanis",
"Issues": "https://github.com/nordxai/Artanis/issues",
"Repository": "https://github.com/nordxai/Artanis",
"Source Code": "https://github.com/nordxai/Artanis"
},
"split_keywords": [
"asgi",
" web",
" framework",
" async",
" routes",
" middleware",
" logging",
" express",
" python",
" http",
" api",
" rest",
" enterprise",
" professional"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "d12e81cc3e8bef9cc60685b22cdd1e90e1ebedad455287dde4a2d1a655b2b851",
"md5": "a7466ffedd8960fdae72220af8631c51",
"sha256": "3c36a87aa9ef6327203b70c844ac19ec95284dbc6cc1f6573dff8eee4855ef7e"
},
"downloads": -1,
"filename": "artanis-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a7466ffedd8960fdae72220af8631c51",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 60262,
"upload_time": "2025-08-09T13:07:24",
"upload_time_iso_8601": "2025-08-09T13:07:24.374322Z",
"url": "https://files.pythonhosted.org/packages/d1/2e/81cc3e8bef9cc60685b22cdd1e90e1ebedad455287dde4a2d1a655b2b851/artanis-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fd7223ff5a9bd9973fdd91bd278eb16ec0476ddfe99904aaeff2f1a9839d5155",
"md5": "7897de006b88adc1e293237fa293faca",
"sha256": "4e069550b424867f8d0c1fac1900bbaee1aaa380a97315b717317197dc79a9ee"
},
"downloads": -1,
"filename": "artanis-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "7897de006b88adc1e293237fa293faca",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 77618,
"upload_time": "2025-08-09T13:07:25",
"upload_time_iso_8601": "2025-08-09T13:07:25.663189Z",
"url": "https://files.pythonhosted.org/packages/fd/72/23ff5a9bd9973fdd91bd278eb16ec0476ddfe99904aaeff2f1a9839d5155/artanis-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-09 13:07:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nordxai",
"github_project": "Artanis",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "artanis"
}