aegis-stack 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aegis-stack might be problematic. Click here for more details.
- aegis/__init__.py +5 -0
- aegis/__main__.py +374 -0
- aegis/core/CLAUDE.md +365 -0
- aegis/core/__init__.py +6 -0
- aegis/core/components.py +115 -0
- aegis/core/dependency_resolver.py +119 -0
- aegis/core/template_generator.py +163 -0
- aegis/templates/CLAUDE.md +306 -0
- aegis/templates/cookiecutter-aegis-project/cookiecutter.json +27 -0
- aegis/templates/cookiecutter-aegis-project/hooks/post_gen_project.py +172 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/.dockerignore +71 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/.env.example.j2 +70 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/.gitignore +127 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/Dockerfile +53 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/Makefile +211 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/README.md.j2 +196 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/__init__.py +5 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/cli/__init__.py +6 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/cli/health.py +321 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/cli/load_test.py +638 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/cli/main.py +41 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/__init__.py +0 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/api/__init__.py +0 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/api/health.py +134 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/api/models.py.j2 +247 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/api/routing.py.j2 +14 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/api/tasks.py.j2 +596 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/hooks.py +133 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/main.py +16 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/middleware/__init__.py +1 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/middleware/cors.py +20 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/shutdown/__init__.py +1 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/shutdown/cleanup.py +14 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/startup/__init__.py +1 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/startup/component_health.py.j2 +190 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/frontend/__init__.py +0 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/frontend/core/__init__.py +1 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/frontend/core/theme.py +46 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/frontend/main.py +687 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/scheduler/__init__.py +1 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/scheduler/main.py +138 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/CLAUDE.md +213 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/__init__.py +6 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/constants.py.j2 +30 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/pools.py +78 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/queues/__init__.py +1 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/queues/load_test.py +48 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/queues/media.py +41 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/queues/system.py +36 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/registry.py +139 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/tasks/__init__.py +119 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/tasks/load_tasks.py +526 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/tasks/simple_system_tasks.py +32 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/tasks/system_tasks.py +279 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/core/config.py.j2 +119 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/core/constants.py +60 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/core/db.py +67 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/core/log.py +85 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/entrypoints/__init__.py +1 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/entrypoints/webserver.py +40 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/entrypoints/{% if cookiecutter.include_scheduler == /"yes/" %}scheduler.py{% endif %}" +21 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/integrations/__init__.py +0 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/integrations/main.py +61 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/py.typed +0 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/__init__.py +1 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/load_test.py +661 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/load_test_models.py +269 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/shared/__init__.py +15 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/shared/models.py +26 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/system/__init__.py +52 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/system/alerts.py +94 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/system/health.py.j2 +1105 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/system/models.py +169 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/system/ui.py +52 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docker-compose.yml.j2 +195 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/api.md +191 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/components/scheduler.md +414 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/development.md +215 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/health.md +240 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/javascripts/mermaid-config.js +62 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/stylesheets/mermaid.css +95 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/mkdocs.yml.j2 +62 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/pyproject.toml.j2 +156 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/scripts/entrypoint.sh +87 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/scripts/entrypoint.sh.j2 +104 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/scripts/gen_docs.py +16 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/api/__init__.py +1 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/api/test_health_endpoints.py.j2 +239 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/components/test_scheduler.py +76 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/conftest.py.j2 +81 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/__init__.py +1 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_component_integration.py.j2 +376 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_health_logic.py.j2 +633 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_load_test_models.py +665 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_load_test_service.py +602 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_system_service.py +96 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_worker_health_registration.py.j2 +224 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/test_core.py +50 -0
- aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/uv.lock +1673 -0
- aegis_stack-0.1.0.dist-info/METADATA +114 -0
- aegis_stack-0.1.0.dist-info/RECORD +103 -0
- aegis_stack-0.1.0.dist-info/WHEEL +4 -0
- aegis_stack-0.1.0.dist-info/entry_points.txt +2 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: aegis-stack
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: A production-ready Python foundation for builders who refuse to wait
|
|
5
|
+
Project-URL: Homepage, https://github.com/lbedner/aegis-stack
|
|
6
|
+
Project-URL: Documentation, https://github.com/lbedner/aegis-stack#readme
|
|
7
|
+
Project-URL: Repository, https://github.com/lbedner/aegis-stack
|
|
8
|
+
Project-URL: Issues, https://github.com/lbedner/aegis-stack/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/lbedner/aegis-stack/blob/main/CHANGELOG.md
|
|
10
|
+
Author-email: Leonard Bedner <gamecoder99@gmail.com>
|
|
11
|
+
License: MIT
|
|
12
|
+
Keywords: boilerplate,cli,cookiecutter,database,fastapi,generator,python,scaffold,scheduler,stack,template,worker
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Natural Language :: English
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
|
|
24
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
25
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
26
|
+
Classifier: Typing :: Typed
|
|
27
|
+
Requires-Python: >=3.11
|
|
28
|
+
Requires-Dist: cookiecutter>=2.6.0
|
|
29
|
+
Requires-Dist: rich>=13.0.0
|
|
30
|
+
Requires-Dist: typer>=0.9.0
|
|
31
|
+
Provides-Extra: dev
|
|
32
|
+
Requires-Dist: mypy>=1.8.0; extra == 'dev'
|
|
33
|
+
Requires-Dist: pip-audit>=2.6.0; extra == 'dev'
|
|
34
|
+
Requires-Dist: pre-commit>=3.7.0; extra == 'dev'
|
|
35
|
+
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
|
|
36
|
+
Requires-Dist: pytest>=8.0.0; extra == 'dev'
|
|
37
|
+
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
38
|
+
Provides-Extra: docs
|
|
39
|
+
Requires-Dist: mkdocs-gen-files>=0.5.0; extra == 'docs'
|
|
40
|
+
Requires-Dist: mkdocs-material>=9.5.0; extra == 'docs'
|
|
41
|
+
Requires-Dist: mkdocs-mermaid2-plugin>=1.1.0; extra == 'docs'
|
|
42
|
+
Requires-Dist: mkdocs>=1.5.0; extra == 'docs'
|
|
43
|
+
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == 'docs'
|
|
44
|
+
Requires-Dist: pymdown-extensions>=10.0.0; extra == 'docs'
|
|
45
|
+
Description-Content-Type: text/markdown
|
|
46
|
+
|
|
47
|
+
# Aegis Stack 🛡️
|
|
48
|
+
|
|
49
|
+
[](https://github.com/lbedner/aegis-stack/actions/workflows/ci.yml)
|
|
50
|
+
[](https://github.com/lbedner/aegis-stack/actions/workflows/docs.yml)
|
|
51
|
+
[](https://www.python.org/downloads/)
|
|
52
|
+
|
|
53
|
+
**Build production-ready Python applications with your chosen components.**
|
|
54
|
+
|
|
55
|
+
Aegis Stack is a CLI-driven framework for creating custom Python applications. Select exactly the components you need - no bloat, no unused dependencies.
|
|
56
|
+
|
|
57
|
+
## 🚀 Quick Start
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Install
|
|
61
|
+
pip install aegis-stack
|
|
62
|
+
|
|
63
|
+
# Create a simple API
|
|
64
|
+
aegis init my-api
|
|
65
|
+
|
|
66
|
+
# Create with background processing
|
|
67
|
+
aegis init task-processor --components scheduler,worker
|
|
68
|
+
|
|
69
|
+
# Start building
|
|
70
|
+
cd my-project && uv sync && source .venv/bin/activate && make run-local
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 🧩 Available Components
|
|
74
|
+
|
|
75
|
+
| Component | Purpose | Status |
|
|
76
|
+
|-----------|---------|--------|
|
|
77
|
+
| **Core** (FastAPI + Flet) | Web API + Frontend | ✅ **Included** |
|
|
78
|
+
| **Scheduler** | Background tasks, cron jobs | ✅ **Available** |
|
|
79
|
+
| **Worker** | Async task queues, job processing | ✅ **Available** |
|
|
80
|
+
| **Database** | PostgreSQL + SQLAlchemy + Alembic | 🚧 **Coming Soon** |
|
|
81
|
+
| **Cache** | Redis caching and sessions | 🚧 **Coming Soon** |
|
|
82
|
+
|
|
83
|
+
## What You Get
|
|
84
|
+
|
|
85
|
+
- **FastAPI backend** with automatic API documentation
|
|
86
|
+
- **Flet frontend** with health dashboard
|
|
87
|
+
- **CLI management** with health monitoring commands
|
|
88
|
+
- **Worker queues** with async task processing and load testing
|
|
89
|
+
- **Production ready** with structured logging and containerization
|
|
90
|
+
- **Async-first** architecture for high-concurrency workloads
|
|
91
|
+
|
|
92
|
+
## 📱 System Health Dashboard
|
|
93
|
+
|
|
94
|
+

|
|
95
|
+

|
|
96
|
+
|
|
97
|
+
Real-time monitoring with component status, health percentages, and cross-platform deployment (web, desktop, mobile).
|
|
98
|
+
|
|
99
|
+
## 📚 Learn More
|
|
100
|
+
|
|
101
|
+
- **[📖 CLI Reference](docs/cli-reference.md)** - Complete command reference
|
|
102
|
+
- **[🏗️ Components](docs/components/index.md)** - Deep dive into available components
|
|
103
|
+
- **[🧠 Philosophy](docs/philosophy.md)** - Architecture and design principles
|
|
104
|
+
|
|
105
|
+
## Development Commands
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
make run-local # Start development server
|
|
109
|
+
make test # Run test suite
|
|
110
|
+
make check # Run all quality checks
|
|
111
|
+
make docs-serve # Serve documentation
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Built on FastAPI, Flet, Typer, and other open-source tools.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
aegis/__init__.py,sha256=OSBsdcZC1i-1eTMi39Qsa3kqy9i44Hwaotsgfmape-c,100
|
|
2
|
+
aegis/__main__.py,sha256=yo67eGR5_wABIrFErtRrdi_vKQMkEE37EA3PClogAD4,12442
|
|
3
|
+
aegis/core/CLAUDE.md,sha256=D_abKXdz-8-hu3KnSoykYRCEkvCmYmbI1bY5OMKKHdY,13080
|
|
4
|
+
aegis/core/__init__.py,sha256=YGTePomNNnhOp4_gG-BNFC2Da9H8F0FX0lMMDfGtyc4,194
|
|
5
|
+
aegis/core/components.py,sha256=eNuCxY5Sj36gIwY7HM32ZRJadv5vRJevFAJQP4Pv12A,3854
|
|
6
|
+
aegis/core/dependency_resolver.py,sha256=h35F3J-nlwGea_cWBUDjxa2ISioaYFvZyu7LXqkiOjs,3693
|
|
7
|
+
aegis/core/template_generator.py,sha256=t7PiPvV9cdmUGW4WinjUMw4d8g_O_IEn6r372xeK08Y,6001
|
|
8
|
+
aegis/templates/CLAUDE.md,sha256=O8Ll-cFhVnsGz1hKdWaDlh98lUZHc69arVivzySwiNg,9733
|
|
9
|
+
aegis/templates/cookiecutter-aegis-project/cookiecutter.json,sha256=UOttggL712p1b_PAYFxovIC8CLuUiPDTxKwzmxrd72s,1530
|
|
10
|
+
aegis/templates/cookiecutter-aegis-project/hooks/post_gen_project.py,sha256=ET-EkUGmm6q4QRwCQ5U0nfWH7GpV5TIKBJB-VIIlPLQ,6118
|
|
11
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/.dockerignore,sha256=NARRLwl2gbQ4daipgvQg84pYSuix3gaxKNJG29w6u8o,602
|
|
12
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/.env.example.j2,sha256=brlTITC7AYv3Nv3u-q2d-3GnqB9gaA98Uk-sB5AzTZQ,2227
|
|
13
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/.gitignore,sha256=jYPGygfk4pQIvO4xO-FFkmeZvMf5qpD3E-n227rhSGA,1404
|
|
14
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/Dockerfile,sha256=5d5ftnBmgyCmz5xDr3Ly2yi98Fy-DK4dygdhW9DZSQI,1300
|
|
15
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/Makefile,sha256=P4L8fDzyoke3YkfU37nNwNiAn8AU5jKxKdz2nW-V_Bs,7769
|
|
16
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/README.md.j2,sha256=96Tz9YMXxmaQl8xNnthEQG6nQVJVstCkcipppCTLLFk,5543
|
|
17
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docker-compose.yml.j2,sha256=NYbdGJENmzTPzudWRCxGeIlxeMRWFMwvxyRH4TKQrRE,4596
|
|
18
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/mkdocs.yml.j2,sha256=WMObs7sbB42in0GE5xYMF9Imh068tHxehiY9Txct_kk,1565
|
|
19
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/pyproject.toml.j2,sha256=GBbkKEvjXeU_HowMVE7mNdnijWLXmY_nUzysQEjv05M,3586
|
|
20
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/uv.lock,sha256=WRkHWUQiLmd9lR9bVyii0PYNf_xjC-Azb2BIXsVzetQ,184378
|
|
21
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/__init__.py,sha256=VPTZjcLPOaEJclWFpgqu7QTNmXbdvnfo7TtZ69RHfes,112
|
|
22
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/cli/__init__.py,sha256=cgbPZzceZP7CG6yvohVIwb9Z46T-sDzxrGmY14v69JE,196
|
|
24
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/cli/health.py,sha256=DFMJWAfFmV8Jb2OA3dUd80V8Rx4bOxuXMxMHhC9vxqY,12628
|
|
25
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/cli/load_test.py,sha256=a_QqC-IHTpuuer7lE7jHKOJlZZv4qnAYpjL-tWn-5VU,21367
|
|
26
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/cli/main.py,sha256=0Rv2AOn6iuMZ1WQC2_wDZIjbSoKJrgLfVI19twCMNrM,841
|
|
27
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/hooks.py,sha256=8isZC64vfWZzQ8d1or5-63no1C7izy2dUptUKprplV0,5089
|
|
29
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/main.py,sha256=xeUEY_9ajIpd_ZrCDlgIXyZ6CskEicG_eTpanf4b6YY,424
|
|
30
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/api/health.py,sha256=M96D9woXYlDD85eAoz_EgFhe9Iz5Ez5PzhplcyaMkn8,4821
|
|
32
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/api/models.py.j2,sha256=mpDRJdMsO67ahjANyE4PdhmD5MO2e8_r5pdah57S7Qw,8863
|
|
33
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/api/routing.py.j2,sha256=A8Rzqo5r0TmB8N7tL9c2kKg9Za4Gu9LE10ENl_C8YYE,490
|
|
34
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/api/tasks.py.j2,sha256=5Q4KxnkBzGogkxVj5xxoPbwLxEmyj_EsJ9iMD4GuvZ0,18918
|
|
35
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/middleware/__init__.py,sha256=-M3SgaoQfZ1CUmRYtezPWZb8YHBqbfRH4UfhTcbWMYc,21
|
|
36
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/middleware/cors.py,sha256=tGYF4j3avMd-rXl2Ux69K-FXO4D4tFNdkNzF4CxuxWk,582
|
|
37
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/shutdown/__init__.py,sha256=srU9Z5M8slY_sI1Lcm_jjK9WDvv4WN_arUMaAn04jNs,25
|
|
38
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/shutdown/cleanup.py,sha256=97WmtsnMdWVvurNerBPC7UIJ_7bdf6r7EiqNzmQrbFI,380
|
|
39
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/startup/__init__.py,sha256=yx71f-eGj5p6yWgfgfapqPLBYOL5IpmLdHubtkCNTZc,24
|
|
40
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/backend/startup/component_health.py.j2,sha256=lQEVFyDL8l1YK2ar7t6ncmrEKCbYjUkJYEueMbHyRCQ,6763
|
|
41
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/frontend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/frontend/main.py,sha256=oYqMY9WxczyCKL-tRRsgBgjgvDDAakPvrsGv4I6ADO4,29753
|
|
43
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/frontend/core/__init__.py,sha256=570Xdeg2bed2omaI50VGAkWBqd1iS7OK4J9YrbPoTm8,30
|
|
44
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/frontend/core/theme.py,sha256=qZL-I2PXzrxZPMRDiVcScDajb6GiwZHi0Wf7FpASJUw,1418
|
|
45
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/scheduler/__init__.py,sha256=dfOSccy_F5-Ob6KU23ZuX1RQ3M1ZQV9Kms6OTQmvz3c,22
|
|
46
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/scheduler/main.py,sha256=5yLoisyoHHi_ZahDLzZe52nn3GK3yarQqi-u6krag7E,4504
|
|
47
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/CLAUDE.md,sha256=dNi4lUmzuFkRjRwfMgBRdcDTtWaU2rvqoN1zBw8P5vc,7506
|
|
48
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/__init__.py,sha256=D6bjCHz1roDZN22PeFcyPilNqB9Aa2eMkxdevQlmXW0,227
|
|
49
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/constants.py.j2,sha256=F-rKqHRpm9uvV8YXV3sq7sZRXENuFvBPajFJgZ37X9I,829
|
|
50
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/pools.py,sha256=T3HXjtfbo6PYnxr5P3X6C3e58W6CBo1P9bV3GDHodnA,2780
|
|
51
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/registry.py,sha256=TEvqvqesqDChsxVyryBKzKSorN5vALQrdEngXuhOEFI,4494
|
|
52
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/queues/__init__.py,sha256=IBHIt91FCxF9ZYwj91uUIlgERt7Yxio5nv6Kv6NYqCA,66
|
|
53
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/queues/load_test.py,sha256=96eBfq_E1CSg3uUhDG7-fiQ7KjA2sF9oPZQBRV2q1WE,1285
|
|
54
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/queues/media.py,sha256=nnbOJbIC9hQ146ooqKbFUtEEkEzwobFhLosDkBQjuX0,1119
|
|
55
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/queues/system.py,sha256=pM9-zTBJTCvu3W__hrONDINnhAW0r-km5Sq28AAYeCk,992
|
|
56
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/tasks/__init__.py,sha256=E2xGbBLhURp25k7oa93gp_ZkHGQCZKM9sXzSduKRO0E,3158
|
|
57
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/tasks/load_tasks.py,sha256=LmvsVAZkW90goFWcgTEBg7QumHMaVCoM28bcP_cUf_Q,19578
|
|
58
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/tasks/simple_system_tasks.py,sha256=t3hIYxyHc5fZg3QvMLwAB45URjIy3tR6A3opQ6-32O4,902
|
|
59
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/components/worker/tasks/system_tasks.py,sha256=8E58pWGr0-InT1MbRnPFaQes2q7u6ejLXY6eFaRLVso,10112
|
|
60
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/core/config.py.j2,sha256=3sOsib9Bn_7R5mucQxWOoPei836UFPaRZ57k8eWOPTY,3735
|
|
61
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/core/constants.py,sha256=wWLHoURMS0pW6CTA_q7OrbLlis4nQ3O4-y46ibR79TE,1349
|
|
62
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/core/db.py,sha256=YFK-g0jCZa0byvl_ZqPhi_zJd0NQlStiePa24SIXbsE,1863
|
|
63
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/core/log.py,sha256=pmZCJ4lXKAVhLxTA89Fj6Lk6Lqmvzd3dWtSG3WoHJAs,3021
|
|
64
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/entrypoints/__init__.py,sha256=bTHdhFdjJHe3IuNv460-dR0ZBW88dzAd18mRqH0jOTc,57
|
|
65
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/entrypoints/webserver.py,sha256=bM3Ijz06PF2CriKiRM75ZgU_CeIrEDOIXZ1BnLeCC5A,1025
|
|
66
|
+
"aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/entrypoints/{% if cookiecutter.include_scheduler == ""yes"" %}scheduler.py{% endif %}",sha256=7078OnOzcCZN93oTacVZg7nJLYOON_Z4xNqCeECIzwI,414
|
|
67
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
68
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/integrations/main.py,sha256=yRegL-8LS0-OIObPwx2NITKZ9DaHjuy64IDtxmCcCjc,1876
|
|
69
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/__init__.py,sha256=jBfMqpv3qPZsxuuRZAQatlLaHukwirAXM1u3TwbHmhU,26
|
|
70
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/load_test.py,sha256=vYTGD_uI7f_O8xEM9hhRg7zuEY9ifZs7vyO1IlG67lY,24747
|
|
71
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/load_test_models.py,sha256=SSniPWMjPTbNQyElS-yJttRAIofAmWYr-MCp_3pKLXI,10972
|
|
72
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/shared/__init__.py,sha256=DVZASaPwQ3bgcsMRguALFjSZql4fSl6f1sWorkfA2IU,217
|
|
73
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/shared/models.py,sha256=4IDmyNN2zCQBO_RKzANUFoNr-bglb5_-0hXueWHugRs,841
|
|
74
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/system/__init__.py,sha256=LFgr7RlNCzcEHXdvjRMgHteBNvDwnfE_bKosDZa3p9U,1096
|
|
75
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/system/alerts.py,sha256=ArnJbw8ROt1eNZBNrJ8L0ElivcvW6gcjIFGYcx4EJak,2803
|
|
76
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/system/health.py.j2,sha256=6czka7DD_51NNsKAJC6c0jwScivdDdBGYBHkAu0VJIY,42621
|
|
77
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/system/models.py,sha256=Ho-EkVjYDCtGqYOohP_b_EZZfeBLuplf_DEnqkZN7qY,6218
|
|
78
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/app/services/system/ui.py,sha256=s1LG3mnj7YF0hlhazbsKJ-uEcDhsLLyV2MIzZ8g3J4c,1616
|
|
79
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/api.md,sha256=pzHke6KbDv-1BYYDSJyAsnCB_LvQ-By-C0Ci8Q5xLEg,4657
|
|
80
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/development.md,sha256=HGzDsMYVQwjcZnPMiUZHt9PyEzo-HJWglrPsck_0g2Q,5136
|
|
81
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/health.md,sha256=HruA5Mfdruji9DneddiU3s6V98XPAYSDZKOThMwZOls,6626
|
|
82
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/components/scheduler.md,sha256=rx2hKopEgtQKD7dl002MdCEWDaONCBsiJ5HKuXGOthQ,9815
|
|
83
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/javascripts/mermaid-config.js,sha256=PQRRqspAV-Fkn7M1lINSv-PQUiwKI0Vgzowzo75Mnjc,2658
|
|
84
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/docs/stylesheets/mermaid.css,sha256=6bVV1Vfgef8Ylywdd9gZe7UuE3sxVMyFdOyHM0PX92Q,2978
|
|
85
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/scripts/entrypoint.sh,sha256=gjW6sJ134gWGvk1J3K2EEL7hkdb5rgYLJC7Yi-YWAYk,3148
|
|
86
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/scripts/entrypoint.sh.j2,sha256=dxGY_NBmMuDH4gIWKTWv8FYmldcE1Gy7-vvYMEb9_Fg,3948
|
|
87
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/scripts/gen_docs.py,sha256=CGMFAsB8VSzdfy-xFGg47lYQPPlx9SGRo8snNWDrSO0,592
|
|
88
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/conftest.py.j2,sha256=2lrApUvcIQgJu4MLVnHVMS0g__eVMtddQY8pe9kyfmQ,2376
|
|
89
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/test_core.py,sha256=4Js0VtehNh0yCrkPQmyhYLOL_mMKWagsHabIbiNZfII,1521
|
|
90
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/api/__init__.py,sha256=yksC_mYT_oHX0Bf4M_RBX8R0gkZEh5_oAMlIoHzmYqA,19
|
|
91
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/api/test_health_endpoints.py.j2,sha256=_2TPUn3JhBJP5Q4OCPphp6WNJ8X_xyMpnCxh1meOFdg,9712
|
|
92
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/components/test_scheduler.py,sha256=SybnXHRFsKrEEb9ZGrv4VTFetAwYrwz2vypl3J9v6nU,2533
|
|
93
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/__init__.py,sha256=tjTvQ1ETbd-mXWN_RpKqGxXdae-2AqvyGjUkCFv2pek,16
|
|
94
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_component_integration.py.j2,sha256=BCwbbZFeFPjcmnDV1_QSc_eaFf0nsxjy4sEZh4DxyBs,14497
|
|
95
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_health_logic.py.j2,sha256=-wMlfjOhtXvt-5ED-Nlx_PSy1rXdQRMlmtnTc3wRzik,25533
|
|
96
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_load_test_models.py,sha256=EKpugmuKUcUVpnyd5dfd0zdem9FYAplNbX88qlNZvP4,22980
|
|
97
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_load_test_service.py,sha256=4Bn4bQFWETVMVImMlBLqe024emq9yKDT_wAeKainiYs,22898
|
|
98
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_system_service.py,sha256=bfqjTn9Wn9lcuwIq845VN398vLM2J3hr4GZA4VVnoKY,3572
|
|
99
|
+
aegis/templates/cookiecutter-aegis-project/{{cookiecutter.project_slug}}/tests/services/test_worker_health_registration.py.j2,sha256=Fvn0W2NwvQLvH5JmPmBE8BxwWodWQE8t5IKSmfW8mCs,9056
|
|
100
|
+
aegis_stack-0.1.0.dist-info/METADATA,sha256=xj5jxdfxuZNHiQzc2yu2uF2aS28-sdcWMZEmSMXSFKA,4774
|
|
101
|
+
aegis_stack-0.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
102
|
+
aegis_stack-0.1.0.dist-info/entry_points.txt,sha256=XGulnn71VY4hUSkf-d0ItJiIJ7gTZFoVU3nz9_k4wPg,45
|
|
103
|
+
aegis_stack-0.1.0.dist-info/RECORD,,
|