artanis


Nameartanis JSON
Version 0.1.4 PyPI version JSON
download
home_pageNone
SummaryA simple, yet fast, Python framework with named routes
upload_time2025-08-09 13:07:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords asgi web framework async routes middleware logging express python http api rest enterprise professional
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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>

[![Tests](https://github.com/nordxai/Artanis/actions/workflows/test.yml/badge.svg)](https://github.com/nordxai/Artanis/actions/workflows/test.yml)
[![Code Quality](https://github.com/nordxai/Artanis/actions/workflows/code-quality.yml/badge.svg)](https://github.com/nordxai/Artanis/actions/workflows/code-quality.yml)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/license-Open%20Source-green.svg)](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[![Tests](https://github.com/nordxai/Artanis/actions/workflows/test.yml/badge.svg)](https://github.com/nordxai/Artanis/actions/workflows/test.yml)\n[![Code Quality](https://github.com/nordxai/Artanis/actions/workflows/code-quality.yml/badge.svg)](https://github.com/nordxai/Artanis/actions/workflows/code-quality.yml)\n[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![License](https://img.shields.io/badge/license-Open%20Source-green.svg)](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"
}
        
Elapsed time: 1.91779s