aury-boot 0.0.2__tar.gz → 0.0.4__tar.gz

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.
Files changed (137) hide show
  1. {aury_boot-0.0.2 → aury_boot-0.0.4}/PKG-INFO +3 -2
  2. {aury_boot-0.0.2 → aury_boot-0.0.4}/README.md +1 -1
  3. aury_boot-0.0.4/aury/boot/__init__.py +66 -0
  4. {aury_boot-0.0.2 → aury_boot-0.0.4}/aury/boot/_version.py +2 -2
  5. aury_boot-0.0.4/aury/boot/application/__init__.py +120 -0
  6. aury_boot-0.0.4/aury/boot/application/app/__init__.py +39 -0
  7. aury_boot-0.0.4/aury/boot/application/app/base.py +511 -0
  8. aury_boot-0.0.4/aury/boot/application/app/components.py +434 -0
  9. aury_boot-0.0.4/aury/boot/application/app/middlewares.py +101 -0
  10. aury_boot-0.0.4/aury/boot/application/config/__init__.py +44 -0
  11. aury_boot-0.0.4/aury/boot/application/config/settings.py +663 -0
  12. aury_boot-0.0.4/aury/boot/application/constants/__init__.py +19 -0
  13. aury_boot-0.0.4/aury/boot/application/constants/components.py +50 -0
  14. aury_boot-0.0.4/aury/boot/application/constants/scheduler.py +28 -0
  15. aury_boot-0.0.4/aury/boot/application/constants/service.py +29 -0
  16. aury_boot-0.0.4/aury/boot/application/errors/__init__.py +55 -0
  17. aury_boot-0.0.4/aury/boot/application/errors/chain.py +80 -0
  18. aury_boot-0.0.4/aury/boot/application/errors/codes.py +67 -0
  19. aury_boot-0.0.4/aury/boot/application/errors/exceptions.py +238 -0
  20. aury_boot-0.0.4/aury/boot/application/errors/handlers.py +320 -0
  21. aury_boot-0.0.4/aury/boot/application/errors/response.py +120 -0
  22. aury_boot-0.0.4/aury/boot/application/interfaces/__init__.py +76 -0
  23. aury_boot-0.0.4/aury/boot/application/interfaces/egress.py +224 -0
  24. aury_boot-0.0.4/aury/boot/application/interfaces/ingress.py +98 -0
  25. aury_boot-0.0.4/aury/boot/application/middleware/__init__.py +22 -0
  26. aury_boot-0.0.4/aury/boot/application/middleware/logging.py +451 -0
  27. aury_boot-0.0.4/aury/boot/application/migrations/__init__.py +13 -0
  28. aury_boot-0.0.4/aury/boot/application/migrations/manager.py +685 -0
  29. aury_boot-0.0.4/aury/boot/application/migrations/setup.py +237 -0
  30. aury_boot-0.0.4/aury/boot/application/rpc/__init__.py +63 -0
  31. aury_boot-0.0.4/aury/boot/application/rpc/base.py +108 -0
  32. aury_boot-0.0.4/aury/boot/application/rpc/client.py +294 -0
  33. aury_boot-0.0.4/aury/boot/application/rpc/discovery.py +218 -0
  34. aury_boot-0.0.4/aury/boot/application/scheduler/__init__.py +13 -0
  35. aury_boot-0.0.4/aury/boot/application/scheduler/runner.py +123 -0
  36. aury_boot-0.0.4/aury/boot/application/server/__init__.py +296 -0
  37. aury_boot-0.0.4/aury/boot/commands/__init__.py +30 -0
  38. aury_boot-0.0.4/aury/boot/commands/add.py +76 -0
  39. aury_boot-0.0.4/aury/boot/commands/app.py +105 -0
  40. aury_boot-0.0.4/aury/boot/commands/config.py +177 -0
  41. aury_boot-0.0.4/aury/boot/commands/docker.py +367 -0
  42. aury_boot-0.0.4/aury/boot/commands/docs.py +284 -0
  43. aury_boot-0.0.4/aury/boot/commands/generate.py +1277 -0
  44. aury_boot-0.0.4/aury/boot/commands/init.py +892 -0
  45. aury_boot-0.0.4/aury/boot/commands/migrate/__init__.py +37 -0
  46. aury_boot-0.0.4/aury/boot/commands/migrate/app.py +54 -0
  47. aury_boot-0.0.4/aury/boot/commands/migrate/commands.py +303 -0
  48. aury_boot-0.0.4/aury/boot/commands/scheduler.py +124 -0
  49. aury_boot-0.0.4/aury/boot/commands/server/__init__.py +21 -0
  50. aury_boot-0.0.4/aury/boot/commands/server/app.py +541 -0
  51. aury_boot-0.0.4/aury/boot/commands/templates/generate/api.py.tpl +105 -0
  52. aury_boot-0.0.4/aury/boot/commands/templates/generate/model.py.tpl +17 -0
  53. aury_boot-0.0.4/aury/boot/commands/templates/generate/repository.py.tpl +19 -0
  54. aury_boot-0.0.4/aury/boot/commands/templates/generate/schema.py.tpl +29 -0
  55. aury_boot-0.0.4/aury/boot/commands/templates/generate/service.py.tpl +48 -0
  56. aury_boot-0.0.4/aury/boot/commands/templates/project/CLI.md.tpl +92 -0
  57. aury_boot-0.0.4/aury/boot/commands/templates/project/DEVELOPMENT.md.tpl +1397 -0
  58. aury_boot-0.0.4/aury/boot/commands/templates/project/README.md.tpl +111 -0
  59. aury_boot-0.0.4/aury/boot/commands/templates/project/admin_console_init.py.tpl +50 -0
  60. aury_boot-0.0.4/aury/boot/commands/templates/project/config.py.tpl +30 -0
  61. aury_boot-0.0.4/aury/boot/commands/templates/project/conftest.py.tpl +26 -0
  62. aury_boot-0.0.4/aury/boot/commands/templates/project/env.example.tpl +213 -0
  63. aury_boot-0.0.4/aury/boot/commands/templates/project/gitignore.tpl +128 -0
  64. aury_boot-0.0.4/aury/boot/commands/templates/project/main.py.tpl +41 -0
  65. aury_boot-0.0.4/aury/boot/commands/templates/project/modules/api.py.tpl +19 -0
  66. aury_boot-0.0.4/aury/boot/commands/templates/project/modules/exceptions.py.tpl +84 -0
  67. aury_boot-0.0.4/aury/boot/commands/templates/project/modules/schedules.py.tpl +18 -0
  68. aury_boot-0.0.4/aury/boot/commands/templates/project/modules/tasks.py.tpl +20 -0
  69. aury_boot-0.0.4/aury/boot/commands/worker.py +143 -0
  70. aury_boot-0.0.4/aury/boot/common/__init__.py +35 -0
  71. aury_boot-0.0.4/aury/boot/common/exceptions/__init__.py +114 -0
  72. aury_boot-0.0.4/aury/boot/common/i18n/__init__.py +16 -0
  73. aury_boot-0.0.4/aury/boot/common/i18n/translator.py +272 -0
  74. aury_boot-0.0.4/aury/boot/common/logging/__init__.py +716 -0
  75. aury_boot-0.0.4/aury/boot/contrib/__init__.py +10 -0
  76. aury_boot-0.0.4/aury/boot/contrib/admin_console/__init__.py +18 -0
  77. aury_boot-0.0.4/aury/boot/contrib/admin_console/auth.py +137 -0
  78. aury_boot-0.0.4/aury/boot/contrib/admin_console/discovery.py +69 -0
  79. aury_boot-0.0.4/aury/boot/contrib/admin_console/install.py +172 -0
  80. aury_boot-0.0.4/aury/boot/contrib/admin_console/utils.py +44 -0
  81. aury_boot-0.0.4/aury/boot/domain/__init__.py +79 -0
  82. aury_boot-0.0.4/aury/boot/domain/exceptions/__init__.py +132 -0
  83. aury_boot-0.0.4/aury/boot/domain/models/__init__.py +51 -0
  84. aury_boot-0.0.4/aury/boot/domain/models/base.py +69 -0
  85. aury_boot-0.0.4/aury/boot/domain/models/mixins.py +135 -0
  86. aury_boot-0.0.4/aury/boot/domain/models/models.py +96 -0
  87. aury_boot-0.0.4/aury/boot/domain/pagination/__init__.py +279 -0
  88. aury_boot-0.0.4/aury/boot/domain/repository/__init__.py +23 -0
  89. aury_boot-0.0.4/aury/boot/domain/repository/impl.py +423 -0
  90. aury_boot-0.0.4/aury/boot/domain/repository/interceptors.py +47 -0
  91. aury_boot-0.0.4/aury/boot/domain/repository/interface.py +106 -0
  92. aury_boot-0.0.4/aury/boot/domain/repository/query_builder.py +348 -0
  93. aury_boot-0.0.4/aury/boot/domain/service/__init__.py +11 -0
  94. aury_boot-0.0.4/aury/boot/domain/service/base.py +73 -0
  95. aury_boot-0.0.4/aury/boot/domain/transaction/__init__.py +404 -0
  96. aury_boot-0.0.4/aury/boot/infrastructure/__init__.py +104 -0
  97. aury_boot-0.0.4/aury/boot/infrastructure/cache/__init__.py +31 -0
  98. aury_boot-0.0.4/aury/boot/infrastructure/cache/backends.py +348 -0
  99. aury_boot-0.0.4/aury/boot/infrastructure/cache/base.py +68 -0
  100. aury_boot-0.0.4/aury/boot/infrastructure/cache/exceptions.py +37 -0
  101. aury_boot-0.0.4/aury/boot/infrastructure/cache/factory.py +94 -0
  102. aury_boot-0.0.4/aury/boot/infrastructure/cache/manager.py +274 -0
  103. aury_boot-0.0.4/aury/boot/infrastructure/database/__init__.py +39 -0
  104. aury_boot-0.0.4/aury/boot/infrastructure/database/config.py +71 -0
  105. aury_boot-0.0.4/aury/boot/infrastructure/database/exceptions.py +44 -0
  106. aury_boot-0.0.4/aury/boot/infrastructure/database/manager.py +317 -0
  107. aury_boot-0.0.4/aury/boot/infrastructure/database/query_tools/__init__.py +164 -0
  108. aury_boot-0.0.4/aury/boot/infrastructure/database/strategies/__init__.py +198 -0
  109. aury_boot-0.0.4/aury/boot/infrastructure/di/__init__.py +15 -0
  110. aury_boot-0.0.4/aury/boot/infrastructure/di/container.py +393 -0
  111. aury_boot-0.0.4/aury/boot/infrastructure/events/__init__.py +33 -0
  112. aury_boot-0.0.4/aury/boot/infrastructure/events/bus.py +362 -0
  113. aury_boot-0.0.4/aury/boot/infrastructure/events/config.py +52 -0
  114. aury_boot-0.0.4/aury/boot/infrastructure/events/consumer.py +134 -0
  115. aury_boot-0.0.4/aury/boot/infrastructure/events/middleware.py +51 -0
  116. aury_boot-0.0.4/aury/boot/infrastructure/events/models.py +63 -0
  117. aury_boot-0.0.4/aury/boot/infrastructure/monitoring/__init__.py +529 -0
  118. aury_boot-0.0.4/aury/boot/infrastructure/scheduler/__init__.py +19 -0
  119. aury_boot-0.0.4/aury/boot/infrastructure/scheduler/exceptions.py +37 -0
  120. aury_boot-0.0.4/aury/boot/infrastructure/scheduler/manager.py +478 -0
  121. aury_boot-0.0.4/aury/boot/infrastructure/storage/__init__.py +38 -0
  122. aury_boot-0.0.4/aury/boot/infrastructure/storage/base.py +164 -0
  123. aury_boot-0.0.4/aury/boot/infrastructure/storage/exceptions.py +37 -0
  124. aury_boot-0.0.4/aury/boot/infrastructure/storage/factory.py +88 -0
  125. aury_boot-0.0.4/aury/boot/infrastructure/tasks/__init__.py +24 -0
  126. aury_boot-0.0.4/aury/boot/infrastructure/tasks/config.py +45 -0
  127. aury_boot-0.0.4/aury/boot/infrastructure/tasks/constants.py +37 -0
  128. aury_boot-0.0.4/aury/boot/infrastructure/tasks/exceptions.py +37 -0
  129. aury_boot-0.0.4/aury/boot/infrastructure/tasks/manager.py +490 -0
  130. aury_boot-0.0.4/aury/boot/testing/__init__.py +24 -0
  131. aury_boot-0.0.4/aury/boot/testing/base.py +122 -0
  132. aury_boot-0.0.4/aury/boot/testing/client.py +163 -0
  133. aury_boot-0.0.4/aury/boot/testing/factory.py +154 -0
  134. aury_boot-0.0.4/aury/boot/toolkit/__init__.py +21 -0
  135. aury_boot-0.0.4/aury/boot/toolkit/http/__init__.py +367 -0
  136. {aury_boot-0.0.2 → aury_boot-0.0.4}/pyproject.toml +2 -1
  137. {aury_boot-0.0.2 → aury_boot-0.0.4}/.gitignore +0 -0
@@ -1,9 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aury-boot
3
- Version: 0.0.2
3
+ Version: 0.0.4
4
4
  Summary: Aury Boot - 基于 FastAPI 生态的企业级 API 开发框架
5
5
  Requires-Python: >=3.13
6
6
  Requires-Dist: alembic>=1.17.2
7
+ Requires-Dist: aury-sdk-storage[aws]>=0.0.6
7
8
  Requires-Dist: babel>=2.17.0
8
9
  Requires-Dist: faker>=38.2.0
9
10
  Requires-Dist: fastapi>=0.122.0
@@ -246,7 +247,7 @@ uv add "aury-boot[all]"
246
247
 
247
248
  ```bash
248
249
  # 克隆仓库
249
- git clone https://github.com/AUMNeo/aury-boot.git
250
+ git clone https://github.com/AuriMyth/aury-boot.git
250
251
  cd aury-boot
251
252
 
252
253
  # 安装依赖
@@ -175,7 +175,7 @@ uv add "aury-boot[all]"
175
175
 
176
176
  ```bash
177
177
  # 克隆仓库
178
- git clone https://github.com/AUMNeo/aury-boot.git
178
+ git clone https://github.com/AuriMyth/aury-boot.git
179
179
  cd aury-boot
180
180
 
181
181
  # 安装依赖
@@ -0,0 +1,66 @@
1
+ """Aury Boot - 核心基础架构工具包。
2
+
3
+ 提供数据库、缓存、认证等核心基础设施功能。
4
+
5
+ 模块结构:
6
+ - common: 最基础层(异常基类、日志系统、国际化)
7
+ - domain: 领域层(业务模型、仓储接口、服务基类、分页、事务管理)
8
+ - infrastructure: 基础设施层(外部依赖的实现:数据库、缓存、存储、调度器等)
9
+ - application: 应用层(配置管理、RPC通信、依赖注入、事务管理、事件系统、迁移管理、API接口)
10
+ - toolkit: 工具包(通用工具函数)
11
+ - testing: 测试框架(测试基类、测试客户端、数据工厂)
12
+
13
+ 使用方式:
14
+ from aury.boot import application
15
+ from aury.boot.domain.models import Model
16
+ """
17
+
18
+ from __future__ import annotations
19
+
20
+ import importlib
21
+ from typing import TYPE_CHECKING
22
+
23
+ # 版本号由 hatch-vcs 自动生成
24
+ try:
25
+ from ._version import __version__
26
+ except ImportError:
27
+ __version__ = "0.0.0.dev0"
28
+
29
+ # 延迟导入:子模块仅在被访问时才加载
30
+ _SUBMODULES = {
31
+ "application",
32
+ "common",
33
+ "domain",
34
+ "infrastructure",
35
+ "toolkit",
36
+ "testing",
37
+ }
38
+
39
+
40
+ def __getattr__(name: str):
41
+ """延迟导入子模块。"""
42
+ if name in _SUBMODULES:
43
+ try:
44
+ return importlib.import_module(f".{name}", __name__)
45
+ except ImportError:
46
+ if name == "testing":
47
+ # testing 模块可能在生产环境不可用
48
+ return None
49
+ raise
50
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
51
+
52
+
53
+ def __dir__():
54
+ """返回可用属性列表。"""
55
+ return list(_SUBMODULES) + ["__version__"]
56
+
57
+
58
+ __all__ = [
59
+ "__version__",
60
+ "application",
61
+ "common",
62
+ "domain",
63
+ "infrastructure",
64
+ "toolkit",
65
+ "testing",
66
+ ]
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.0.2'
32
- __version_tuple__ = version_tuple = (0, 0, 2)
31
+ __version__ = version = '0.0.4'
32
+ __version_tuple__ = version_tuple = (0, 0, 4)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -0,0 +1,120 @@
1
+ """应用层模块。
2
+
3
+ 提供用例编排、配置管理、RPC通信、依赖注入、事务管理和事件系统。
4
+ """
5
+
6
+ # 事件系统(从 infrastructure 导入 - Event 定义在最底层)
7
+ # 事务管理(从 domain 导入)
8
+ from aury.boot.domain.transaction import (
9
+ TransactionManager,
10
+ TransactionRequiredError,
11
+ ensure_transaction,
12
+ transactional,
13
+ transactional_context,
14
+ )
15
+
16
+ # 依赖注入容器(从 infrastructure 导入)
17
+ from aury.boot.infrastructure.di import Container, Lifetime, Scope, ServiceDescriptor
18
+ from aury.boot.infrastructure.events import (
19
+ Event,
20
+ EventBus,
21
+ EventConsumer,
22
+ EventLoggingMiddleware,
23
+ EventMiddleware,
24
+ )
25
+
26
+ from . import interfaces, rpc
27
+
28
+ # 应用框架、中间件和组件系统
29
+ from .app import (
30
+ CacheComponent,
31
+ Component,
32
+ CORSMiddleware,
33
+ DatabaseComponent,
34
+ FoundationApp,
35
+ Middleware,
36
+ MigrationComponent,
37
+ RequestLoggingMiddleware,
38
+ SchedulerComponent,
39
+ TaskComponent,
40
+ )
41
+ from .config import (
42
+ BaseConfig,
43
+ CacheSettings,
44
+ CORSSettings,
45
+ LogSettings,
46
+ ServerSettings,
47
+ )
48
+ from .constants import ComponentName, MiddlewareName, SchedulerMode, ServiceType
49
+
50
+ # HTTP 中间件装饰器
51
+ from .middleware import (
52
+ log_request,
53
+ )
54
+
55
+ # 迁移管理
56
+ from .migrations import MigrationManager
57
+
58
+ # 调度器启动器
59
+ from .scheduler import run_scheduler, run_scheduler_sync
60
+
61
+ # 服务器集成
62
+ from .server import ApplicationServer, run_app
63
+
64
+ __all__ = [
65
+ # 配置
66
+ "BaseConfig",
67
+ "CORSSettings",
68
+ "CacheSettings",
69
+ "LogSettings",
70
+ "ServerSettings",
71
+ # 常量
72
+ "ComponentName",
73
+ "MiddlewareName",
74
+ "SchedulerMode",
75
+ "ServiceType",
76
+ # 应用框架
77
+ "FoundationApp",
78
+ # 基类
79
+ "Component",
80
+ "Middleware",
81
+ # 中间件
82
+ "CORSMiddleware",
83
+ "RequestLoggingMiddleware",
84
+ # 组件
85
+ "CacheComponent",
86
+ "DatabaseComponent",
87
+ "MigrationComponent",
88
+ "SchedulerComponent",
89
+ "TaskComponent",
90
+ # 依赖注入容器
91
+ "Container",
92
+ "Lifetime",
93
+ "Scope",
94
+ "ServiceDescriptor",
95
+ # 事件系统
96
+ "Event",
97
+ "EventBus",
98
+ "EventConsumer",
99
+ "EventLoggingMiddleware",
100
+ "EventMiddleware",
101
+ # 迁移
102
+ "MigrationManager",
103
+ # HTTP 中间件装饰器
104
+ "log_request",
105
+ # 事务管理
106
+ "TransactionManager",
107
+ "TransactionRequiredError",
108
+ "ensure_transaction",
109
+ "transactional",
110
+ "transactional_context",
111
+ # RPC通信
112
+ "rpc",
113
+ # 调度器启动器
114
+ "run_scheduler",
115
+ "run_scheduler_sync",
116
+ # 服务器集成
117
+ "ApplicationServer",
118
+ "run_app",
119
+ ]
120
+
@@ -0,0 +1,39 @@
1
+ """应用框架模块。
2
+
3
+ 提供 FoundationApp、Middleware 和 Component 系统。
4
+ """
5
+
6
+ from .base import Component, FoundationApp, Middleware
7
+ from .components import (
8
+ AdminConsoleComponent,
9
+ CacheComponent,
10
+ DatabaseComponent,
11
+ MigrationComponent,
12
+ SchedulerComponent,
13
+ TaskComponent,
14
+ )
15
+ from .middlewares import (
16
+ CORSMiddleware,
17
+ RequestLoggingMiddleware,
18
+ )
19
+
20
+ __all__ = [
21
+ # 应用框架
22
+ "FoundationApp",
23
+ # 基类
24
+ "Component",
25
+ "Middleware",
26
+ # 中间件
27
+ "CORSMiddleware",
28
+ "RequestLoggingMiddleware",
29
+ # 组件
30
+ "AdminConsoleComponent",
31
+ "CacheComponent",
32
+ "DatabaseComponent",
33
+ "MigrationComponent",
34
+ "SchedulerComponent",
35
+ "TaskComponent",
36
+ ]
37
+
38
+
39
+