anal-framework


Nameanal-framework JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryAdvanced Network Application Layer - A modern Python backend framework
upload_time2025-08-21 22:44:52
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseNone
keywords web framework backend api async orm rest graphql
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ANAL Framework

[![PyPI version](https://badge.fury.io/py/anal-framework.svg)](https://badge.fury.io/py/anal-framework)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Tests](https://github.com/analframework/anal/workflows/Tests/badge.svg)](https://github.com/analframework/anal/actions)
[![Coverage](https://codecov.io/gh/analframework/anal/branch/main/graph/badge.svg)](https://codecov.io/gh/analframework/anal)

**ANAL** (Advanced Network Application Layer) is a modern, high-performance Python backend framework designed for building scalable web applications and APIs. It combines the best features of Django, FastAPI, and Laravel while maintaining clean architecture principles and async-first design.

## ⚡ Quick Start

### Installation

```bash
pip install anal-framework
```

### Create Your First Project

```bash
# Create a new project
anal-admin startproject myproject
cd myproject

# Create your first app
anal-admin startapp blog

# Run development server
anal-admin runserver
```

### Hello World Example

```python
from anal import ANAL, Controller, route
from anal.http import JsonResponse

app = ANAL()

@app.route('/')
async def hello_world(request):
    return JsonResponse({'message': 'Hello, World!'})

class BlogController(Controller):
    @route.get('/posts')
    async def list_posts(self, request):
        return JsonResponse({'posts': []})
    
    @route.post('/posts')
    async def create_post(self, request):
        data = await request.json()
        # Auto-validation with Pydantic models
        return JsonResponse({'created': True})

if __name__ == '__main__':
    app.run(debug=True)
```

## 🚀 Key Features

### 🏗️ **Clean Architecture & DDD**
- Domain-driven design patterns
- Dependency injection container
- Clean separation of concerns
- Testable and maintainable code

### ⚡ **Async-First Performance**
- Native async/await support
- High-performance ASGI server
- Connection pooling
- Background task processing

### 🗄️ **Powerful ORM**
- Database-agnostic design
- Support for PostgreSQL, MySQL, SQLite, MongoDB
- Async queries and migrations
- Relationship management

### 🛡️ **Security Built-In**
- JWT/OAuth2 authentication
- CSRF/XSS protection
- Rate limiting
- Input validation and sanitization

### 🔌 **API Generation**
- Auto-generated REST APIs
- GraphQL support
- OpenAPI/Swagger documentation
- API versioning

### 🎨 **Rich Feature Set**
- Admin panel with auto-generated UI
- Template engine (Jinja2)
- Middleware system
- WebSocket support
- Internationalization (i18n)
- Background jobs and scheduling
- Real-time capabilities

## 📚 Documentation

- **[Getting Started](https://docs.analframework.org/getting-started/)**
- **[Tutorial](https://docs.analframework.org/tutorial/)**
- **[API Reference](https://docs.analframework.org/api/)**
- **[Best Practices](https://docs.analframework.org/best-practices/)**

## 🏛️ Architecture

ANAL follows Clean Architecture principles with clear separation between layers:

```
┌─────────────────────────────────────────┐
│         Presentation Layer              │ ← Controllers, Views, API
├─────────────────────────────────────────┤
│         Application Layer               │ ← Use Cases, Services
├─────────────────────────────────────────┤
│            Domain Layer                 │ ← Entities, Value Objects
├─────────────────────────────────────────┤
│       Infrastructure Layer              │ ← Database, External APIs
└─────────────────────────────────────────┘
```

## 🎯 Performance

- **High throughput**: 40,000+ requests/second
- **Low latency**: Sub-millisecond response times
- **Memory efficient**: Optimized for containerized deployments
- **Scalable**: Horizontal scaling support

## 🛠️ Development Tools

### CLI Commands

```bash
# Project management
anal-admin startproject myproject
anal-admin startapp myapp

# Database operations
anal-admin makemigrations
anal-admin migrate
anal-admin shell

# Development server
anal-admin runserver --reload
anal-admin runserver --workers 4

# Testing and deployment
anal-admin test
anal-admin collectstatic
anal-admin deploy
```

### Development Features

- Hot reloading
- Interactive shell
- Database migrations
- Test utilities
- Static file handling
- Docker integration

## 🌐 Ecosystem

### Built-in Apps
- **anal.auth** - Authentication and authorization
- **anal.admin** - Auto-generated admin interface
- **anal.api** - REST and GraphQL API generation
- **anal.files** - File upload and management
- **anal.cache** - Multi-level caching
- **anal.tasks** - Background job processing

### Third-party Packages
- **anal-cms** - Content management system
- **anal-ecommerce** - E-commerce functionality
- **anal-analytics** - Analytics and monitoring
- **anal-payments** - Payment processing
- **anal-social** - Social authentication

## 📈 Comparison

| Feature | ANAL | Django | FastAPI | Laravel |
|---------|------|--------|---------|---------|
| Async Support | ✅ Native | ⚠️ Partial | ✅ Native | ❌ No |
| Performance | ⚡ Very High | 🔥 Medium | ⚡ Very High | 🔥 Medium |
| Learning Curve | 📈 Gentle | 📈 Steep | 📈 Medium | 📈 Gentle |
| Auto API Docs | ✅ Yes | ❌ No | ✅ Yes | ⚠️ Manual |
| Admin Panel | ✅ Built-in | ✅ Built-in | ❌ No | ❌ No |
| ORM | ✅ Advanced | ✅ Good | ❌ No | ✅ Eloquent |
| Type Safety | ✅ Full | ⚠️ Partial | ✅ Full | ❌ No |

## 🤝 Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

### Development Setup

```bash
git clone https://github.com/analframework/anal.git
cd anal
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e ".[dev]"
pre-commit install
pytest
```

## 📝 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgments

- Inspired by Django's batteries-included philosophy
- Built on the async foundation of FastAPI
- Influenced by Laravel's elegant developer experience
- Powered by modern Python 3.12+ features

## 🎉 Community

- **Discord**: [Join our community](https://discord.gg/analframework)
- **GitHub Discussions**: [Ask questions and share ideas](https://github.com/analframework/anal/discussions)
- **Twitter**: [@ANALFramework](https://twitter.com/ANALFramework)
- **Blog**: [Latest news and tutorials](https://blog.analframework.org)

---

**Made with ❤️ by the ANAL Framework Team**

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "anal-framework",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": "ANAL Framework Team <team@analframework.org>",
    "keywords": "web, framework, backend, api, async, orm, rest, graphql",
    "author": null,
    "author_email": "ANAL Framework Team <team@analframework.org>",
    "download_url": "https://files.pythonhosted.org/packages/10/da/12339aea8276c50ec15e3cef28d32b93037f430fb5cb8ab78627d20dd9d6/anal_framework-0.1.0.tar.gz",
    "platform": null,
    "description": "# ANAL Framework\r\n\r\n[![PyPI version](https://badge.fury.io/py/anal-framework.svg)](https://badge.fury.io/py/anal-framework)\r\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![Tests](https://github.com/analframework/anal/workflows/Tests/badge.svg)](https://github.com/analframework/anal/actions)\r\n[![Coverage](https://codecov.io/gh/analframework/anal/branch/main/graph/badge.svg)](https://codecov.io/gh/analframework/anal)\r\n\r\n**ANAL** (Advanced Network Application Layer) is a modern, high-performance Python backend framework designed for building scalable web applications and APIs. It combines the best features of Django, FastAPI, and Laravel while maintaining clean architecture principles and async-first design.\r\n\r\n## \u26a1 Quick Start\r\n\r\n### Installation\r\n\r\n```bash\r\npip install anal-framework\r\n```\r\n\r\n### Create Your First Project\r\n\r\n```bash\r\n# Create a new project\r\nanal-admin startproject myproject\r\ncd myproject\r\n\r\n# Create your first app\r\nanal-admin startapp blog\r\n\r\n# Run development server\r\nanal-admin runserver\r\n```\r\n\r\n### Hello World Example\r\n\r\n```python\r\nfrom anal import ANAL, Controller, route\r\nfrom anal.http import JsonResponse\r\n\r\napp = ANAL()\r\n\r\n@app.route('/')\r\nasync def hello_world(request):\r\n    return JsonResponse({'message': 'Hello, World!'})\r\n\r\nclass BlogController(Controller):\r\n    @route.get('/posts')\r\n    async def list_posts(self, request):\r\n        return JsonResponse({'posts': []})\r\n    \r\n    @route.post('/posts')\r\n    async def create_post(self, request):\r\n        data = await request.json()\r\n        # Auto-validation with Pydantic models\r\n        return JsonResponse({'created': True})\r\n\r\nif __name__ == '__main__':\r\n    app.run(debug=True)\r\n```\r\n\r\n## \ud83d\ude80 Key Features\r\n\r\n### \ud83c\udfd7\ufe0f **Clean Architecture & DDD**\r\n- Domain-driven design patterns\r\n- Dependency injection container\r\n- Clean separation of concerns\r\n- Testable and maintainable code\r\n\r\n### \u26a1 **Async-First Performance**\r\n- Native async/await support\r\n- High-performance ASGI server\r\n- Connection pooling\r\n- Background task processing\r\n\r\n### \ud83d\uddc4\ufe0f **Powerful ORM**\r\n- Database-agnostic design\r\n- Support for PostgreSQL, MySQL, SQLite, MongoDB\r\n- Async queries and migrations\r\n- Relationship management\r\n\r\n### \ud83d\udee1\ufe0f **Security Built-In**\r\n- JWT/OAuth2 authentication\r\n- CSRF/XSS protection\r\n- Rate limiting\r\n- Input validation and sanitization\r\n\r\n### \ud83d\udd0c **API Generation**\r\n- Auto-generated REST APIs\r\n- GraphQL support\r\n- OpenAPI/Swagger documentation\r\n- API versioning\r\n\r\n### \ud83c\udfa8 **Rich Feature Set**\r\n- Admin panel with auto-generated UI\r\n- Template engine (Jinja2)\r\n- Middleware system\r\n- WebSocket support\r\n- Internationalization (i18n)\r\n- Background jobs and scheduling\r\n- Real-time capabilities\r\n\r\n## \ud83d\udcda Documentation\r\n\r\n- **[Getting Started](https://docs.analframework.org/getting-started/)**\r\n- **[Tutorial](https://docs.analframework.org/tutorial/)**\r\n- **[API Reference](https://docs.analframework.org/api/)**\r\n- **[Best Practices](https://docs.analframework.org/best-practices/)**\r\n\r\n## \ud83c\udfdb\ufe0f Architecture\r\n\r\nANAL follows Clean Architecture principles with clear separation between layers:\r\n\r\n```\r\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502         Presentation Layer              \u2502 \u2190 Controllers, Views, API\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502         Application Layer               \u2502 \u2190 Use Cases, Services\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502            Domain Layer                 \u2502 \u2190 Entities, Value Objects\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502       Infrastructure Layer              \u2502 \u2190 Database, External APIs\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n```\r\n\r\n## \ud83c\udfaf Performance\r\n\r\n- **High throughput**: 40,000+ requests/second\r\n- **Low latency**: Sub-millisecond response times\r\n- **Memory efficient**: Optimized for containerized deployments\r\n- **Scalable**: Horizontal scaling support\r\n\r\n## \ud83d\udee0\ufe0f Development Tools\r\n\r\n### CLI Commands\r\n\r\n```bash\r\n# Project management\r\nanal-admin startproject myproject\r\nanal-admin startapp myapp\r\n\r\n# Database operations\r\nanal-admin makemigrations\r\nanal-admin migrate\r\nanal-admin shell\r\n\r\n# Development server\r\nanal-admin runserver --reload\r\nanal-admin runserver --workers 4\r\n\r\n# Testing and deployment\r\nanal-admin test\r\nanal-admin collectstatic\r\nanal-admin deploy\r\n```\r\n\r\n### Development Features\r\n\r\n- Hot reloading\r\n- Interactive shell\r\n- Database migrations\r\n- Test utilities\r\n- Static file handling\r\n- Docker integration\r\n\r\n## \ud83c\udf10 Ecosystem\r\n\r\n### Built-in Apps\r\n- **anal.auth** - Authentication and authorization\r\n- **anal.admin** - Auto-generated admin interface\r\n- **anal.api** - REST and GraphQL API generation\r\n- **anal.files** - File upload and management\r\n- **anal.cache** - Multi-level caching\r\n- **anal.tasks** - Background job processing\r\n\r\n### Third-party Packages\r\n- **anal-cms** - Content management system\r\n- **anal-ecommerce** - E-commerce functionality\r\n- **anal-analytics** - Analytics and monitoring\r\n- **anal-payments** - Payment processing\r\n- **anal-social** - Social authentication\r\n\r\n## \ud83d\udcc8 Comparison\r\n\r\n| Feature | ANAL | Django | FastAPI | Laravel |\r\n|---------|------|--------|---------|---------|\r\n| Async Support | \u2705 Native | \u26a0\ufe0f Partial | \u2705 Native | \u274c No |\r\n| Performance | \u26a1 Very High | \ud83d\udd25 Medium | \u26a1 Very High | \ud83d\udd25 Medium |\r\n| Learning Curve | \ud83d\udcc8 Gentle | \ud83d\udcc8 Steep | \ud83d\udcc8 Medium | \ud83d\udcc8 Gentle |\r\n| Auto API Docs | \u2705 Yes | \u274c No | \u2705 Yes | \u26a0\ufe0f Manual |\r\n| Admin Panel | \u2705 Built-in | \u2705 Built-in | \u274c No | \u274c No |\r\n| ORM | \u2705 Advanced | \u2705 Good | \u274c No | \u2705 Eloquent |\r\n| Type Safety | \u2705 Full | \u26a0\ufe0f Partial | \u2705 Full | \u274c No |\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\r\n\r\n### Development Setup\r\n\r\n```bash\r\ngit clone https://github.com/analframework/anal.git\r\ncd anal\r\npython -m venv venv\r\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\r\npip install -e \".[dev]\"\r\npre-commit install\r\npytest\r\n```\r\n\r\n## \ud83d\udcdd License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## \ud83d\ude4f Acknowledgments\r\n\r\n- Inspired by Django's batteries-included philosophy\r\n- Built on the async foundation of FastAPI\r\n- Influenced by Laravel's elegant developer experience\r\n- Powered by modern Python 3.12+ features\r\n\r\n## \ud83c\udf89 Community\r\n\r\n- **Discord**: [Join our community](https://discord.gg/analframework)\r\n- **GitHub Discussions**: [Ask questions and share ideas](https://github.com/analframework/anal/discussions)\r\n- **Twitter**: [@ANALFramework](https://twitter.com/ANALFramework)\r\n- **Blog**: [Latest news and tutorials](https://blog.analframework.org)\r\n\r\n---\r\n\r\n**Made with \u2764\ufe0f by the ANAL Framework Team**\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Advanced Network Application Layer - A modern Python backend framework",
    "version": "0.1.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/analframework/anal/issues",
        "Changelog": "https://github.com/analframework/anal/blob/main/CHANGELOG.md",
        "Documentation": "https://docs.analframework.org",
        "Homepage": "https://github.com/analframework/anal",
        "Repository": "https://github.com/analframework/anal"
    },
    "split_keywords": [
        "web",
        " framework",
        " backend",
        " api",
        " async",
        " orm",
        " rest",
        " graphql"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b870151da9553c891b8494c329310d0e541ff1ef305f5d05da576a5c8fd4c7f3",
                "md5": "1b57a3e006050d1989e2e8b6d5742904",
                "sha256": "62b70e2c42fbf1c131b73d0aec5873ebf3e8f0e6626a960cdb6d51b8e427b4f3"
            },
            "downloads": -1,
            "filename": "anal_framework-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1b57a3e006050d1989e2e8b6d5742904",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 93131,
            "upload_time": "2025-08-21T22:44:50",
            "upload_time_iso_8601": "2025-08-21T22:44:50.404394Z",
            "url": "https://files.pythonhosted.org/packages/b8/70/151da9553c891b8494c329310d0e541ff1ef305f5d05da576a5c8fd4c7f3/anal_framework-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "10da12339aea8276c50ec15e3cef28d32b93037f430fb5cb8ab78627d20dd9d6",
                "md5": "5090a2755b50d18da9c52998f789725e",
                "sha256": "5208bcb997cc889553cb4a18ba59fccb7bb0aaeccab64c6438cd82d2f0edfde7"
            },
            "downloads": -1,
            "filename": "anal_framework-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5090a2755b50d18da9c52998f789725e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 79840,
            "upload_time": "2025-08-21T22:44:52",
            "upload_time_iso_8601": "2025-08-21T22:44:52.273316Z",
            "url": "https://files.pythonhosted.org/packages/10/da/12339aea8276c50ec15e3cef28d32b93037f430fb5cb8ab78627d20dd9d6/anal_framework-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-21 22:44:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "analframework",
    "github_project": "anal",
    "github_not_found": true,
    "lcname": "anal-framework"
}
        
Elapsed time: 1.13462s