# ANAL Framework
[](https://badge.fury.io/py/anal-framework)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/analframework/anal/actions)
[](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[](https://badge.fury.io/py/anal-framework)\r\n[](https://www.python.org/downloads/)\r\n[](https://opensource.org/licenses/MIT)\r\n[](https://github.com/analframework/anal/actions)\r\n[](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"
}