aury-boot 0.0.4__py3-none-any.whl → 0.0.7__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.
- aury/boot/__init__.py +2 -2
- aury/boot/_version.py +2 -2
- aury/boot/application/__init__.py +60 -36
- aury/boot/application/adapter/__init__.py +112 -0
- aury/boot/application/adapter/base.py +511 -0
- aury/boot/application/adapter/config.py +242 -0
- aury/boot/application/adapter/decorators.py +259 -0
- aury/boot/application/adapter/exceptions.py +202 -0
- aury/boot/application/adapter/http.py +325 -0
- aury/boot/application/app/__init__.py +12 -8
- aury/boot/application/app/base.py +12 -0
- aury/boot/application/app/components.py +137 -44
- aury/boot/application/app/middlewares.py +9 -4
- aury/boot/application/app/startup.py +249 -0
- aury/boot/application/config/__init__.py +36 -1
- aury/boot/application/config/multi_instance.py +216 -0
- aury/boot/application/config/settings.py +398 -149
- aury/boot/application/constants/components.py +6 -0
- aury/boot/application/errors/handlers.py +17 -3
- aury/boot/application/middleware/logging.py +21 -120
- aury/boot/application/rpc/__init__.py +2 -2
- aury/boot/commands/__init__.py +30 -10
- aury/boot/commands/app.py +131 -1
- aury/boot/commands/docs.py +104 -17
- aury/boot/commands/generate.py +22 -22
- aury/boot/commands/init.py +68 -17
- aury/boot/commands/server/app.py +2 -3
- aury/boot/commands/templates/project/AGENTS.md.tpl +221 -0
- aury/boot/commands/templates/project/README.md.tpl +2 -2
- aury/boot/commands/templates/project/aury_docs/00-overview.md.tpl +59 -0
- aury/boot/commands/templates/project/aury_docs/01-model.md.tpl +184 -0
- aury/boot/commands/templates/project/aury_docs/02-repository.md.tpl +206 -0
- aury/boot/commands/templates/project/aury_docs/03-service.md.tpl +398 -0
- aury/boot/commands/templates/project/aury_docs/04-schema.md.tpl +95 -0
- aury/boot/commands/templates/project/aury_docs/05-api.md.tpl +116 -0
- aury/boot/commands/templates/project/aury_docs/06-exception.md.tpl +118 -0
- aury/boot/commands/templates/project/aury_docs/07-cache.md.tpl +122 -0
- aury/boot/commands/templates/project/aury_docs/08-scheduler.md.tpl +32 -0
- aury/boot/commands/templates/project/aury_docs/09-tasks.md.tpl +38 -0
- aury/boot/commands/templates/project/aury_docs/10-storage.md.tpl +115 -0
- aury/boot/commands/templates/project/aury_docs/11-logging.md.tpl +131 -0
- aury/boot/commands/templates/project/aury_docs/12-admin.md.tpl +56 -0
- aury/boot/commands/templates/project/aury_docs/13-channel.md.tpl +104 -0
- aury/boot/commands/templates/project/aury_docs/14-mq.md.tpl +102 -0
- aury/boot/commands/templates/project/aury_docs/15-events.md.tpl +147 -0
- aury/boot/commands/templates/project/aury_docs/16-adapter.md.tpl +403 -0
- aury/boot/commands/templates/project/{CLI.md.tpl → aury_docs/99-cli.md.tpl} +19 -19
- aury/boot/commands/templates/project/config.py.tpl +10 -10
- aury/boot/commands/templates/project/env_templates/_header.tpl +10 -0
- aury/boot/commands/templates/project/env_templates/admin.tpl +49 -0
- aury/boot/commands/templates/project/env_templates/cache.tpl +14 -0
- aury/boot/commands/templates/project/env_templates/database.tpl +22 -0
- aury/boot/commands/templates/project/env_templates/log.tpl +18 -0
- aury/boot/commands/templates/project/env_templates/messaging.tpl +46 -0
- aury/boot/commands/templates/project/env_templates/rpc.tpl +28 -0
- aury/boot/commands/templates/project/env_templates/scheduler.tpl +18 -0
- aury/boot/commands/templates/project/env_templates/service.tpl +18 -0
- aury/boot/commands/templates/project/env_templates/storage.tpl +38 -0
- aury/boot/commands/templates/project/env_templates/third_party.tpl +43 -0
- aury/boot/commands/templates/project/modules/tasks.py.tpl +1 -1
- aury/boot/common/logging/__init__.py +26 -674
- aury/boot/common/logging/context.py +132 -0
- aury/boot/common/logging/decorators.py +118 -0
- aury/boot/common/logging/format.py +315 -0
- aury/boot/common/logging/setup.py +214 -0
- aury/boot/contrib/admin_console/auth.py +2 -3
- aury/boot/contrib/admin_console/install.py +1 -1
- aury/boot/domain/models/mixins.py +48 -1
- aury/boot/domain/pagination/__init__.py +94 -0
- aury/boot/domain/repository/impl.py +1 -1
- aury/boot/domain/repository/interface.py +1 -1
- aury/boot/domain/transaction/__init__.py +8 -9
- aury/boot/infrastructure/__init__.py +86 -29
- aury/boot/infrastructure/cache/backends.py +102 -18
- aury/boot/infrastructure/cache/base.py +12 -0
- aury/boot/infrastructure/cache/manager.py +153 -91
- aury/boot/infrastructure/channel/__init__.py +24 -0
- aury/boot/infrastructure/channel/backends/__init__.py +9 -0
- aury/boot/infrastructure/channel/backends/memory.py +83 -0
- aury/boot/infrastructure/channel/backends/redis.py +88 -0
- aury/boot/infrastructure/channel/base.py +92 -0
- aury/boot/infrastructure/channel/manager.py +203 -0
- aury/boot/infrastructure/clients/__init__.py +22 -0
- aury/boot/infrastructure/clients/rabbitmq/__init__.py +9 -0
- aury/boot/infrastructure/clients/rabbitmq/config.py +46 -0
- aury/boot/infrastructure/clients/rabbitmq/manager.py +288 -0
- aury/boot/infrastructure/clients/redis/__init__.py +28 -0
- aury/boot/infrastructure/clients/redis/config.py +51 -0
- aury/boot/infrastructure/clients/redis/manager.py +264 -0
- aury/boot/infrastructure/database/config.py +7 -16
- aury/boot/infrastructure/database/manager.py +16 -38
- aury/boot/infrastructure/events/__init__.py +18 -21
- aury/boot/infrastructure/events/backends/__init__.py +11 -0
- aury/boot/infrastructure/events/backends/memory.py +86 -0
- aury/boot/infrastructure/events/backends/rabbitmq.py +193 -0
- aury/boot/infrastructure/events/backends/redis.py +162 -0
- aury/boot/infrastructure/events/base.py +127 -0
- aury/boot/infrastructure/events/manager.py +224 -0
- aury/boot/infrastructure/mq/__init__.py +24 -0
- aury/boot/infrastructure/mq/backends/__init__.py +9 -0
- aury/boot/infrastructure/mq/backends/rabbitmq.py +179 -0
- aury/boot/infrastructure/mq/backends/redis.py +167 -0
- aury/boot/infrastructure/mq/base.py +143 -0
- aury/boot/infrastructure/mq/manager.py +239 -0
- aury/boot/infrastructure/scheduler/manager.py +7 -3
- aury/boot/infrastructure/storage/__init__.py +9 -9
- aury/boot/infrastructure/storage/base.py +17 -5
- aury/boot/infrastructure/storage/factory.py +0 -1
- aury/boot/infrastructure/tasks/__init__.py +2 -2
- aury/boot/infrastructure/tasks/config.py +5 -13
- aury/boot/infrastructure/tasks/manager.py +55 -33
- {aury_boot-0.0.4.dist-info → aury_boot-0.0.7.dist-info}/METADATA +20 -2
- aury_boot-0.0.7.dist-info/RECORD +197 -0
- aury/boot/commands/templates/project/DEVELOPMENT.md.tpl +0 -1397
- aury/boot/commands/templates/project/env.example.tpl +0 -213
- aury/boot/infrastructure/events/bus.py +0 -362
- aury/boot/infrastructure/events/config.py +0 -52
- aury/boot/infrastructure/events/consumer.py +0 -134
- aury/boot/infrastructure/events/models.py +0 -63
- aury_boot-0.0.4.dist-info/RECORD +0 -137
- {aury_boot-0.0.4.dist-info → aury_boot-0.0.7.dist-info}/WHEEL +0 -0
- {aury_boot-0.0.4.dist-info → aury_boot-0.0.7.dist-info}/entry_points.txt +0 -0
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"""事件消费者实现。
|
|
2
|
-
|
|
3
|
-
基于 Kombu ConsumerMixin 实现消息队列事件消费。
|
|
4
|
-
|
|
5
|
-
**架构说明**:
|
|
6
|
-
本模块使用通用的 Any 类型而非直接导入 domain.events,保持 infrastructure 层的独立性。
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
from __future__ import annotations
|
|
10
|
-
|
|
11
|
-
import asyncio
|
|
12
|
-
from typing import Any
|
|
13
|
-
|
|
14
|
-
from kombu import Queue
|
|
15
|
-
from kombu.mixins import ConsumerMixin
|
|
16
|
-
|
|
17
|
-
from aury.boot.common.logging import logger
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class EventConsumer(ConsumerMixin):
|
|
21
|
-
"""事件消费者(基于 Kombu ConsumerMixin)。
|
|
22
|
-
|
|
23
|
-
在后台消费消息队列中的事件并调用本地处理器。
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
def __init__(
|
|
27
|
-
self,
|
|
28
|
-
connection: Any, # Connection
|
|
29
|
-
exchange: Any, # Exchange
|
|
30
|
-
queue_prefix: str,
|
|
31
|
-
handlers: dict[Any, list[Any]], # dict[type[EventType], list[EventHandler]]
|
|
32
|
-
) -> None:
|
|
33
|
-
"""初始化事件消费者。
|
|
34
|
-
|
|
35
|
-
Args:
|
|
36
|
-
connection: Kombu 连接
|
|
37
|
-
exchange: 交换机
|
|
38
|
-
queue_prefix: 队列名称前缀
|
|
39
|
-
handlers: 事件处理器字典 {事件类型: [处理器列表]}
|
|
40
|
-
"""
|
|
41
|
-
self.connection = connection
|
|
42
|
-
self._exchange = exchange
|
|
43
|
-
self._queue_prefix = queue_prefix
|
|
44
|
-
self._handlers = handlers
|
|
45
|
-
self._queues: dict[str, Any] = {} # dict[str, Queue]
|
|
46
|
-
self._event_types: dict[str, Any] = {} # dict[str, type[EventType]]
|
|
47
|
-
|
|
48
|
-
def register_event_type(self, event_type: Any) -> None:
|
|
49
|
-
"""注册事件类型(创建对应的队列)。
|
|
50
|
-
|
|
51
|
-
Args:
|
|
52
|
-
event_type: 事件类型(应实现 __name__ 和 model_validate())
|
|
53
|
-
"""
|
|
54
|
-
event_name = event_type.__name__
|
|
55
|
-
routing_key = event_name.lower().replace("event", "")
|
|
56
|
-
|
|
57
|
-
if routing_key not in self._queues:
|
|
58
|
-
queue_name = f"{self._queue_prefix}.{routing_key}"
|
|
59
|
-
queue = Queue(
|
|
60
|
-
queue_name,
|
|
61
|
-
exchange=self._exchange,
|
|
62
|
-
routing_key=routing_key,
|
|
63
|
-
durable=True,
|
|
64
|
-
)
|
|
65
|
-
self._queues[routing_key] = queue
|
|
66
|
-
self._event_types[routing_key] = event_type
|
|
67
|
-
logger.debug(f"注册事件队列: {queue_name} -> {routing_key}")
|
|
68
|
-
|
|
69
|
-
def get_consumers(self, consumer_class: type, channel: Any) -> list:
|
|
70
|
-
"""获取消费者列表。
|
|
71
|
-
|
|
72
|
-
Args:
|
|
73
|
-
consumer_class: Kombu Consumer 类
|
|
74
|
-
channel: 消息通道
|
|
75
|
-
|
|
76
|
-
Returns:
|
|
77
|
-
list: 消费者列表
|
|
78
|
-
"""
|
|
79
|
-
consumers = []
|
|
80
|
-
for _routing_key, queue in self._queues.items():
|
|
81
|
-
consumer = consumer_class(
|
|
82
|
-
queues=[queue],
|
|
83
|
-
callbacks=[self.on_message],
|
|
84
|
-
accept=["json"],
|
|
85
|
-
)
|
|
86
|
-
consumers.append(consumer)
|
|
87
|
-
return consumers
|
|
88
|
-
|
|
89
|
-
def on_message(self, body: dict[str, Any], message: Any) -> None:
|
|
90
|
-
"""处理接收到的消息。
|
|
91
|
-
|
|
92
|
-
Args:
|
|
93
|
-
body: 消息体
|
|
94
|
-
message: 消息对象
|
|
95
|
-
"""
|
|
96
|
-
try:
|
|
97
|
-
routing_key = message.delivery_info.get("routing_key", "")
|
|
98
|
-
event_type = self._event_types.get(routing_key)
|
|
99
|
-
|
|
100
|
-
if not event_type:
|
|
101
|
-
logger.warning(f"未知的事件类型: {routing_key}")
|
|
102
|
-
message.ack()
|
|
103
|
-
return
|
|
104
|
-
|
|
105
|
-
# 反序列化事件
|
|
106
|
-
event = event_type.model_validate(body)
|
|
107
|
-
|
|
108
|
-
# 获取处理器
|
|
109
|
-
handlers = self._handlers.get(event_type, [])
|
|
110
|
-
|
|
111
|
-
# 在事件循环中执行处理器
|
|
112
|
-
loop = asyncio.get_event_loop()
|
|
113
|
-
for handler in handlers:
|
|
114
|
-
try:
|
|
115
|
-
if asyncio.iscoroutinefunction(handler):
|
|
116
|
-
task = loop.create_task(handler(event))
|
|
117
|
-
# 保存任务引用以避免警告
|
|
118
|
-
_ = task
|
|
119
|
-
else:
|
|
120
|
-
handler(event)
|
|
121
|
-
logger.debug(f"事件处理成功: {handler.__name__}")
|
|
122
|
-
except Exception as exc:
|
|
123
|
-
logger.error(f"事件处理失败: {handler.__name__}, 错误: {exc}")
|
|
124
|
-
|
|
125
|
-
message.ack()
|
|
126
|
-
except Exception as exc:
|
|
127
|
-
logger.error(f"处理事件消息失败: {exc}")
|
|
128
|
-
message.reject(requeue=False)
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
__all__ = [
|
|
132
|
-
"EventConsumer",
|
|
133
|
-
]
|
|
134
|
-
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"""事件模型定义 - 独立文件避免循环导入。
|
|
2
|
-
|
|
3
|
-
提供事件基类、类型变量、处理器定义等基础数据结构。
|
|
4
|
-
此模块不依赖任何其他 infrastructure 模块,可被安全导入。
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
from __future__ import annotations
|
|
8
|
-
|
|
9
|
-
from abc import ABC, abstractmethod
|
|
10
|
-
from collections.abc import Callable, Coroutine
|
|
11
|
-
from datetime import datetime
|
|
12
|
-
from typing import Any, ClassVar, TypeVar
|
|
13
|
-
from uuid import uuid4
|
|
14
|
-
|
|
15
|
-
from pydantic import BaseModel, Field
|
|
16
|
-
|
|
17
|
-
# 事件类型定义(基础数据结构)
|
|
18
|
-
EventType = TypeVar("EventType", bound="Event")
|
|
19
|
-
EventHandler = (
|
|
20
|
-
Callable[[EventType], None] |
|
|
21
|
-
Callable[[EventType], Coroutine[Any, Any, None]]
|
|
22
|
-
)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class Event(BaseModel, ABC):
|
|
26
|
-
"""事件基类(Pydantic)。
|
|
27
|
-
|
|
28
|
-
所有业务事件应继承此类。
|
|
29
|
-
Pydantic 提供自动验证和序列化功能。
|
|
30
|
-
|
|
31
|
-
Attributes:
|
|
32
|
-
event_id: 事件ID(自动生成UUID)
|
|
33
|
-
timestamp: 事件时间戳
|
|
34
|
-
metadata: 事件元数据
|
|
35
|
-
"""
|
|
36
|
-
|
|
37
|
-
event_id: str = Field(default_factory=lambda: str(uuid4()), description="事件ID")
|
|
38
|
-
timestamp: datetime = Field(default_factory=datetime.now, description="事件时间戳")
|
|
39
|
-
metadata: dict[str, Any] = Field(default_factory=dict, description="事件元数据")
|
|
40
|
-
|
|
41
|
-
@property
|
|
42
|
-
@abstractmethod
|
|
43
|
-
def event_name(self) -> str:
|
|
44
|
-
"""事件名称(子类必须实现)。"""
|
|
45
|
-
pass
|
|
46
|
-
|
|
47
|
-
class Config:
|
|
48
|
-
"""Pydantic配置。"""
|
|
49
|
-
json_encoders: ClassVar[dict] = {
|
|
50
|
-
datetime: lambda v: v.isoformat(),
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
def __repr__(self) -> str:
|
|
54
|
-
"""字符串表示。"""
|
|
55
|
-
return f"<{self.__class__.__name__} id={self.event_id} time={self.timestamp}>"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
__all__ = [
|
|
59
|
-
"Event",
|
|
60
|
-
"EventHandler",
|
|
61
|
-
"EventType",
|
|
62
|
-
]
|
|
63
|
-
|
aury_boot-0.0.4.dist-info/RECORD
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
aury/boot/__init__.py,sha256=Kbk0WD8XtqGZqCtEyHb0w5V0WikWvy3tfAwwW72IrYA,1791
|
|
2
|
-
aury/boot/_version.py,sha256=QlXZ5JTjE_pgpDaeHk0GTExkc75xUZFmd0hA7kGYCJ0,704
|
|
3
|
-
aury/boot/application/__init__.py,sha256=iVLZSx9tKPn7wRKvfjqatzfd-zJfNrpyv5UzUIefyy0,2590
|
|
4
|
-
aury/boot/application/app/__init__.py,sha256=rMrZN76bLR7i93iRhfnHOgmnElo8Yz4PHi8QavpNVgY,726
|
|
5
|
-
aury/boot/application/app/base.py,sha256=t3ZSO8_qS5a1H9ID6iWaCP_OQ2_bTkpb0XXo3uFny3w,16282
|
|
6
|
-
aury/boot/application/app/components.py,sha256=D4Tn3oeuZh56jFgNXXCVnGKJex5nXXCvuMPLHi_DYiQ,16489
|
|
7
|
-
aury/boot/application/app/middlewares.py,sha256=uRunG9kJ8tvweLfpImXh7kpfHOw_Sh67yohpyE2XhVQ,3056
|
|
8
|
-
aury/boot/application/config/__init__.py,sha256=4UDYNK9OoGQ0lmNM0WKkRcmcyuV3RKrzAYJeTKHJNEM,902
|
|
9
|
-
aury/boot/application/config/settings.py,sha256=RIiWn2Zthv8B7UQvNAo1NNXKLJrcLIxzHXsOvE0GsRs,19714
|
|
10
|
-
aury/boot/application/constants/__init__.py,sha256=DCXs13_VVaQWHqO-qpJoZwRd7HIexiirtw_nu8msTXE,340
|
|
11
|
-
aury/boot/application/constants/components.py,sha256=MU59GhRt0QEI0We29Qvm39zla7snuwG8fmj2PbC4tgU,890
|
|
12
|
-
aury/boot/application/constants/scheduler.py,sha256=S77FBIvHlyruvlabRWZJ2J1YAs2xWXPQI2yuGdGUDNA,471
|
|
13
|
-
aury/boot/application/constants/service.py,sha256=_BjSNP83m1KuLcGs1oqciDU9Nk1mO45COucRYubuFkM,513
|
|
14
|
-
aury/boot/application/errors/__init__.py,sha256=aYhGqjHayYr7sv9kM22y0sOo9R-8RK0r3Jf5_tgm7TQ,1217
|
|
15
|
-
aury/boot/application/errors/chain.py,sha256=DSLZvPH7oNcxE26j3hiXG_1W7-3fdKyu0QMEEi1c5CY,2306
|
|
16
|
-
aury/boot/application/errors/codes.py,sha256=CBR8umCSNp1zUslwK9tboQ4s753qBwA1OpefaQTPdjE,1431
|
|
17
|
-
aury/boot/application/errors/exceptions.py,sha256=5gHC9cQsuvNpO5V9GlFkb-QqH0xNqQaOKBmTBM5wYEI,7303
|
|
18
|
-
aury/boot/application/errors/handlers.py,sha256=20zj9Z2nP_sJgt_ncU_nizZ9ow42EJFwYmDREXq6TCE,10525
|
|
19
|
-
aury/boot/application/errors/response.py,sha256=fqOO3bNTnRRjoN3gK0-6xBVAYfSqyPvUbONowAecq9k,3107
|
|
20
|
-
aury/boot/application/interfaces/__init__.py,sha256=EGbiCL8IoGseylLVZO29Lkt3luygG7JknTgtAxeb48U,1438
|
|
21
|
-
aury/boot/application/interfaces/egress.py,sha256=t8FK17V649rsm65uAeBruYr2mhfcqJiIzkS8UPsOzlc,5346
|
|
22
|
-
aury/boot/application/interfaces/ingress.py,sha256=rlflJ4nxAZ2Mc3Iy8ZX__GRgfAWcMYYzLhHL2NSk4_U,2425
|
|
23
|
-
aury/boot/application/middleware/__init__.py,sha256=T01fmbcdO0Sm6JE74g23uuDyebBGYA4DMZMDBl0L00w,258
|
|
24
|
-
aury/boot/application/middleware/logging.py,sha256=NaIKm-KASX_l0wRyQ9CB4oc_MQzoM0Gp0Cjo3Y_aUYw,15984
|
|
25
|
-
aury/boot/application/migrations/__init__.py,sha256=Z5Gizx7f3AImRcl3cooiIDAZcNi5W-6GvB7mK5w1TNA,204
|
|
26
|
-
aury/boot/application/migrations/manager.py,sha256=G7mzkNA3MFjyQmM2UwY0ZFNgGGVS4W5GoG2Sbj5AUXk,23685
|
|
27
|
-
aury/boot/application/migrations/setup.py,sha256=P89QSMV2JQQb1FuyA9KHhgqSzKWZneCmOtOrLvEmKYQ,6261
|
|
28
|
-
aury/boot/application/rpc/__init__.py,sha256=i2LVkyErQyeNA8Qfq2szy4DKbbqOB2NUyTO2BUPVuGM,2064
|
|
29
|
-
aury/boot/application/rpc/base.py,sha256=KqdWupF2PTizr--jE0KgJUDCfBap72ZWk9FtU5FM9_8,2618
|
|
30
|
-
aury/boot/application/rpc/client.py,sha256=ApW4h_DrwnnkAh921TVUd4fvdWP-rVIse3VW1_1TLPk,9113
|
|
31
|
-
aury/boot/application/rpc/discovery.py,sha256=nDCWGeJBNX_RO8JrRnlF7yMEBHZy9vXg_fchvI2CJOc,6624
|
|
32
|
-
aury/boot/application/scheduler/__init__.py,sha256=MBAKQMqI6HpkTPqWyZrbfgRck9AjVfywS9lxjNXFdpE,201
|
|
33
|
-
aury/boot/application/scheduler/runner.py,sha256=g8CM5bDtjiiaMV3662fAOAzh4_bzlQlQZYXj8vlbtc0,3796
|
|
34
|
-
aury/boot/application/server/__init__.py,sha256=WgSeWItN6oXUzYr1rflGreFiASkLXVt0Z3qkGGtLTI0,8964
|
|
35
|
-
aury/boot/commands/__init__.py,sha256=Nr5JdCKctV9GF4zNdLEh3VP6qKQ_LZtAmFI6v2Sjc2Q,722
|
|
36
|
-
aury/boot/commands/add.py,sha256=JRJir92oFHwIBtIKKEjQ7trUhfb9-kCH84x_7saV2gI,2647
|
|
37
|
-
aury/boot/commands/app.py,sha256=iKOCzniYBiCq8IHan1Syjtoaqa07BiNzoLdjq3zutTI,3608
|
|
38
|
-
aury/boot/commands/config.py,sha256=gPkG_jSWrXidjpyVdzABH7uRhoCgX5yrOcdKabtX5wY,4928
|
|
39
|
-
aury/boot/commands/docker.py,sha256=7mKorZCPZgxH1XFslzo6W-uzpe61hGXz86JKOhOeBlo,9006
|
|
40
|
-
aury/boot/commands/docs.py,sha256=ATx225tnwJ4TyBfx7y_EyHQ6Hewriel8ZGl2axbYIAQ,8701
|
|
41
|
-
aury/boot/commands/generate.py,sha256=T0atHRU3CFyCjOhue0s0uGgkE7P1dSi1NMlSB0p-5EI,44482
|
|
42
|
-
aury/boot/commands/init.py,sha256=E-NoTracn0xhSf0UbuqgLF6yL4OKZfOavM4iehntHCE,30615
|
|
43
|
-
aury/boot/commands/scheduler.py,sha256=BCIGQcGryXpsYNF-mncP6v5kNoz6DZ10DMzMKVDiXxA,3516
|
|
44
|
-
aury/boot/commands/worker.py,sha256=qAcPdoKpMBLYoi45X_y2-nobuYKxscJpooEB_0HhM4o,4163
|
|
45
|
-
aury/boot/commands/migrate/__init__.py,sha256=W9OhkX8ILdolySofgdP2oYoJGG9loQd5FeSwkniU3qM,455
|
|
46
|
-
aury/boot/commands/migrate/app.py,sha256=phCMKW6cuFYW2wr6PSMSCq0K2uUCiYo3UiFd0_UvA_o,1327
|
|
47
|
-
aury/boot/commands/migrate/commands.py,sha256=892htS_pTtpejLGqRP8bc3xXJPG92WwAejHlY74oI3o,9950
|
|
48
|
-
aury/boot/commands/server/__init__.py,sha256=aP3bPNGn6wT8dHa_OmKw1Dexnxuvf0BhrGA6pEUcsVM,319
|
|
49
|
-
aury/boot/commands/server/app.py,sha256=PurpUz7gwzUDTy8i72Om5ag7vjcm1odUU-1j9xVzGds,15780
|
|
50
|
-
aury/boot/commands/templates/generate/api.py.tpl,sha256=xTbk9uzn5IMtJ-SPMadjmOUNHoM3WoE6g-TIEsGHFUA,3153
|
|
51
|
-
aury/boot/commands/templates/generate/model.py.tpl,sha256=knFwMyGZ7wMpzH4_bQD_V1hFTvmCb2H04G8p3s2xvyA,312
|
|
52
|
-
aury/boot/commands/templates/generate/repository.py.tpl,sha256=xoEg6lPAaLIRDeFy4I0FBsPPVLSy91h6xosAlaCL_mM,590
|
|
53
|
-
aury/boot/commands/templates/generate/schema.py.tpl,sha256=HIaY5B0UG_S188nQLrZDEJ0q73WPdb7BmCdc0tseZA4,545
|
|
54
|
-
aury/boot/commands/templates/generate/service.py.tpl,sha256=2hwQ8e4a5d_bIMx_jGDobdmKPMFLBlfQrQVQH4Ym5k4,1842
|
|
55
|
-
aury/boot/commands/templates/project/CLI.md.tpl,sha256=g6xOdbfWf1yGL2HqREK6diWQiZUDgMllYGu-7-E-tJY,3003
|
|
56
|
-
aury/boot/commands/templates/project/DEVELOPMENT.md.tpl,sha256=qLBxHo1Js9TPegD3tXhuRxKrB1RIs5odSsY0l5dCDuE,42535
|
|
57
|
-
aury/boot/commands/templates/project/README.md.tpl,sha256=o_lY1WmF2cVaeymHnpKnNU7hMXF11kekhcXuRn9G2Q8,2440
|
|
58
|
-
aury/boot/commands/templates/project/admin_console_init.py.tpl,sha256=K81L14thyEhRA8lFCQJVZL_NU22-sBz0xS68MJPeoCo,1541
|
|
59
|
-
aury/boot/commands/templates/project/config.py.tpl,sha256=Iljj5SjEH6xSmiw2F4yyqr7PGzY92qAYlo6K_Al_B0I,774
|
|
60
|
-
aury/boot/commands/templates/project/conftest.py.tpl,sha256=chbETK81Hy26cWz6YZ2cFgy7HbnABzYCqeyMzgpa3eI,726
|
|
61
|
-
aury/boot/commands/templates/project/env.example.tpl,sha256=AYQ741E1mw0zN9K6aX2hQU00T1JInS3q0Ye3YsTx-pE,8356
|
|
62
|
-
aury/boot/commands/templates/project/gitignore.tpl,sha256=OI0nt9u2E9EC-jAMoh3gpqamsWo18uDgyPybgee_snQ,3053
|
|
63
|
-
aury/boot/commands/templates/project/main.py.tpl,sha256=qKKgO3btMPIpPfb-iyCD4AMEYMUunhq6GJyA2QplGZI,922
|
|
64
|
-
aury/boot/commands/templates/project/modules/api.py.tpl,sha256=G_IE-UC_pRhN7oOxy3dl_VLmR_omlKmHhWYi-AlyZIQ,471
|
|
65
|
-
aury/boot/commands/templates/project/modules/exceptions.py.tpl,sha256=TKY3XaQU50Z-sDHWi3_Ns-A4v50PFru08H2lzmKxAUw,2646
|
|
66
|
-
aury/boot/commands/templates/project/modules/schedules.py.tpl,sha256=P-R-0SDsoQ_lWfKYJXZT5DoNAVKGUjYiC3HBbUZCc3Y,633
|
|
67
|
-
aury/boot/commands/templates/project/modules/tasks.py.tpl,sha256=RBA6jikgWTb0FEnQ5a87L6Fujvy_yBpKJ4k9gYT4ElM,562
|
|
68
|
-
aury/boot/common/__init__.py,sha256=MhNP3c_nwx8CyDkDF6p1f4DcTZ1CZZScg66FWdbdaZI,629
|
|
69
|
-
aury/boot/common/exceptions/__init__.py,sha256=aS3rIXWc5qNNJbfMs_PNmBlFsyNdKUMErziNMd1yoB8,3176
|
|
70
|
-
aury/boot/common/i18n/__init__.py,sha256=2cy4kteU-1YsAHkuMDTr2c5o4G33fvtYUGKtzEy1Q6c,394
|
|
71
|
-
aury/boot/common/i18n/translator.py,sha256=_vEDL2SjEI1vwMNHbnJb0xErKUPLm7VmhyOuMBeCqRM,8412
|
|
72
|
-
aury/boot/common/logging/__init__.py,sha256=QU6euBwaEHLdWlzcIHcdXwCNNY3xQBv6eWkFlsY5E5U,22477
|
|
73
|
-
aury/boot/contrib/__init__.py,sha256=fyk_St9VufIx64hsobv9EsOYzb_T5FbJHxjqtPds4g8,198
|
|
74
|
-
aury/boot/contrib/admin_console/__init__.py,sha256=HEesLFrtYtBFWTDrh5H3mR-4V4LRg5N4a2a1C4-Whgs,445
|
|
75
|
-
aury/boot/contrib/admin_console/auth.py,sha256=gRoLNsJsEzvB89GC26i011iko9OrojZ0vGwrtnx73IY,4735
|
|
76
|
-
aury/boot/contrib/admin_console/discovery.py,sha256=W5DLR4lXDomoB1DLN_zMs5m_uO8Q3qiyqR0rtZE-Vjg,2559
|
|
77
|
-
aury/boot/contrib/admin_console/install.py,sha256=URMwyzAMP15B31HpvyTpdFFrMfsMbj7vTGGf2hU4beI,6842
|
|
78
|
-
aury/boot/contrib/admin_console/utils.py,sha256=R3gZ5nZeWALggaGAm-h4p5SWbKJV0xbD-2U7GyRkzyE,1459
|
|
79
|
-
aury/boot/domain/__init__.py,sha256=bWTS8OeGw9W3fjelM18ha_XeXoxFySUZnGrbOuzwRmE,1687
|
|
80
|
-
aury/boot/domain/exceptions/__init__.py,sha256=NXkkKUPa7PSFKiRcMOHDbPRVajSHyhdaqZaxVm2oEqs,3546
|
|
81
|
-
aury/boot/domain/models/__init__.py,sha256=f-atwliNjWZ3nfO3JJIi9RZae6umtQCg1ddSTV56GWM,964
|
|
82
|
-
aury/boot/domain/models/base.py,sha256=hZHadZaOyTYMOVEteXudQJBqlLnE_HPyXV5rRvrMXJ0,2051
|
|
83
|
-
aury/boot/domain/models/mixins.py,sha256=7naaw6jSe3fT0_Hk9m4FuuB-C_ljDj-i2fJw3cLnr1g,3629
|
|
84
|
-
aury/boot/domain/models/models.py,sha256=hNze58wPZkZ8QG2_pyszDsyKNjz2UgiRDzmneiCWLQs,2728
|
|
85
|
-
aury/boot/domain/pagination/__init__.py,sha256=2nMTtb7xfcBEHzjHHTSFmUhk47OBTuygKufWk072Du4,8413
|
|
86
|
-
aury/boot/domain/repository/__init__.py,sha256=dnmN8xFu1ASbLnzL6vx8gMoch7xBGxkJkxs9G1iGLGg,490
|
|
87
|
-
aury/boot/domain/repository/impl.py,sha256=TDEu-n0kecHhbdBNed9Vkp5X3tPUBxA2iskMffpwN7g,16552
|
|
88
|
-
aury/boot/domain/repository/interceptors.py,sha256=SCTjRmBYwevAMlJ8U1uw-_McsDetNNQ7q0Da5lmfj_E,1238
|
|
89
|
-
aury/boot/domain/repository/interface.py,sha256=istdS7p4LE4LUg6gZaAKdcNEOMTGEvMrAxYsJGkuZxM,2904
|
|
90
|
-
aury/boot/domain/repository/query_builder.py,sha256=pFErMzsBql-T6gBX0S4FxIheCkNaGjpSewzcJ2DxrUU,10890
|
|
91
|
-
aury/boot/domain/service/__init__.py,sha256=ZRotaBlqJXn7ebPTQjjoHtorpQREk8AgTD69UCcRd1k,118
|
|
92
|
-
aury/boot/domain/service/base.py,sha256=6sN0nf8r5yUZsE6AcZOiOXFCqzb61oCxTfrWlqjIo9I,2035
|
|
93
|
-
aury/boot/domain/transaction/__init__.py,sha256=AhLCX8wjpekQ7sjQ_4_C4UiRKj_bgUf4o2AJR6ftSQU,13471
|
|
94
|
-
aury/boot/infrastructure/__init__.py,sha256=msMN58hE2QUAOviMGquor0H9M9n-oH38KAJf3hlyS_k,2096
|
|
95
|
-
aury/boot/infrastructure/cache/__init__.py,sha256=G40uCkpJ1jSs2fc_CBDem73iQQzCcp-4GG1WpDJzwaA,658
|
|
96
|
-
aury/boot/infrastructure/cache/backends.py,sha256=ajoFKPj1Tp4Q_bRUkKuaGbjbHi6QgSTPEz8B-xfvAw0,10601
|
|
97
|
-
aury/boot/infrastructure/cache/base.py,sha256=AFvp3_vnHNWe7R2YcaDbPGx5DHiN4ZBLE3vydZiCLy8,1318
|
|
98
|
-
aury/boot/infrastructure/cache/exceptions.py,sha256=KZsFIHXW3_kOh_KB93EVZJKbiDvDw8aloAefJ3kasP8,622
|
|
99
|
-
aury/boot/infrastructure/cache/factory.py,sha256=aF74JoiiSKFgctqqh2Z8OtGRS2Am_ou-I40GyygLzC0,2489
|
|
100
|
-
aury/boot/infrastructure/cache/manager.py,sha256=ufwLvXGxk2wU_LazJb5MWrhvDoq3oLrxt-wH0KTcyQU,9249
|
|
101
|
-
aury/boot/infrastructure/database/__init__.py,sha256=MsHNyrJ2CZJT-lbVZzOAJ0nFfFEmHrJqC0zw-cFS768,888
|
|
102
|
-
aury/boot/infrastructure/database/config.py,sha256=FsRTThWmWgO2rnoZihQ_CZ5pLlB04l4OQXZgla5oA-Q,1626
|
|
103
|
-
aury/boot/infrastructure/database/exceptions.py,sha256=hUjsU23c0eMwogSDrKq_bQ6zvnY7PQSGaitbCEhhDZQ,766
|
|
104
|
-
aury/boot/infrastructure/database/manager.py,sha256=RlQ5Kb6yOI2m_lDAimntDzlbnXxY-XJx94GP-FN3jo8,11097
|
|
105
|
-
aury/boot/infrastructure/database/query_tools/__init__.py,sha256=D-8Wxm8x48rg9G95aH_b4re7S4_IGJO9zznArYXldFo,5500
|
|
106
|
-
aury/boot/infrastructure/database/strategies/__init__.py,sha256=foj_2xEsgLZxshpK65YAhdJ2UZyh1tKvGRq6sre8pQY,5909
|
|
107
|
-
aury/boot/infrastructure/di/__init__.py,sha256=qFYlk265d6_rS8OiX37_wOc7mBFw8hk3yipDYNkyjQg,231
|
|
108
|
-
aury/boot/infrastructure/di/container.py,sha256=14FVbafGXea-JEAYeOEBxB6zAwndLCZJvprKiD_1IOQ,12524
|
|
109
|
-
aury/boot/infrastructure/events/__init__.py,sha256=5USAxXYqVK75-VhIUvyFZALTK7-0BeexZ-BvdUz-qZ0,966
|
|
110
|
-
aury/boot/infrastructure/events/bus.py,sha256=wX1Z4Is5LcWZfROe6Ger5eCUPcMA6ZFUpeaOSqou9dg,12627
|
|
111
|
-
aury/boot/infrastructure/events/config.py,sha256=_7WZSp6g8AEnE1OfclXm2T1VZ_sUCfA2PqybcesgfLw,1392
|
|
112
|
-
aury/boot/infrastructure/events/consumer.py,sha256=BEmXT0gEp2_LnnJdZyuyv5OuAVtu0wYuPXJqDBdcwlY,4394
|
|
113
|
-
aury/boot/infrastructure/events/middleware.py,sha256=Ck3qNMTtLuFFKsJuEUeOMG9nu3qK1N_aqt6wH5JoAtw,1336
|
|
114
|
-
aury/boot/infrastructure/events/models.py,sha256=pnnGCxpdHVKecl8NVjNzuOEDiE7qdsuJHLXOFSSTHAs,1777
|
|
115
|
-
aury/boot/infrastructure/monitoring/__init__.py,sha256=VgElCdCVcgERTIn3oRoSNslR82W9gRX5vgJcYDeloak,16149
|
|
116
|
-
aury/boot/infrastructure/scheduler/__init__.py,sha256=eTRJ5dSPcKvyFvLVtraoQteXTTDDGwIrmw06J2hoNdA,323
|
|
117
|
-
aury/boot/infrastructure/scheduler/exceptions.py,sha256=ROltrhSctVWA-6ulnjuYeHAk3ZF-sykDoesuierYzew,634
|
|
118
|
-
aury/boot/infrastructure/scheduler/manager.py,sha256=kE-hzQ93w6aEk9L6zAVUM3fsUDt46rL0G0xpj8oiyqk,15447
|
|
119
|
-
aury/boot/infrastructure/storage/__init__.py,sha256=3krWv7PEn6wvfLF107nS7G526woiL_PNx_dPmtWISrM,866
|
|
120
|
-
aury/boot/infrastructure/storage/base.py,sha256=5ZKw8yR_UXkN12Tirn4kpcDOlUjvAOZaaDY0Ti0tvKs,4823
|
|
121
|
-
aury/boot/infrastructure/storage/exceptions.py,sha256=Av1r94bRkeeeDo6vgAD9e_9YA9Ge6D7F2U1qzUs-8FE,622
|
|
122
|
-
aury/boot/infrastructure/storage/factory.py,sha256=Ph-p8WZGtdK_zVHCPssjM-sk5LcM6bUigHWwBtcrJGU,2480
|
|
123
|
-
aury/boot/infrastructure/tasks/__init__.py,sha256=NZvKw3qYb2IPBJrt4g12dX3Dk4C8cT88GAwdtm6X1BQ,515
|
|
124
|
-
aury/boot/infrastructure/tasks/config.py,sha256=0e7uAVu9OIZd0r0elN_BQa6k0vCY7r8Ho4zk4ig0s2Y,930
|
|
125
|
-
aury/boot/infrastructure/tasks/constants.py,sha256=6lo5jGLPItntVKLgrz6uh4tz_F1a-ckEO97MlP5aGcA,836
|
|
126
|
-
aury/boot/infrastructure/tasks/exceptions.py,sha256=v6hlBbfs-oI_HbUZCxR3T8_c-U83s4_I0SvM7GHDUWE,605
|
|
127
|
-
aury/boot/infrastructure/tasks/manager.py,sha256=LdWwIAVKRpH5P-Ilquk81-VJHBl7y0sTqm7svIpNVWw,16691
|
|
128
|
-
aury/boot/testing/__init__.py,sha256=WbUSXcICNpr9RvrA2JzxRPcjMuTWDPTKOwXl0l4697U,703
|
|
129
|
-
aury/boot/testing/base.py,sha256=BQOA6V4RIecVJM9t7kto9YxL0Ij_jEsFBdpKceWBe3U,3725
|
|
130
|
-
aury/boot/testing/client.py,sha256=KOg1EemuIVsBG68G5y0DjSxZGcIQVdWQ4ASaHE3o1R0,4484
|
|
131
|
-
aury/boot/testing/factory.py,sha256=8GvwX9qIDu0L65gzJMlrWB0xbmJ-7zPHuwk3eECULcg,5185
|
|
132
|
-
aury/boot/toolkit/__init__.py,sha256=AcyVb9fDf3CaEmJPNkWC4iGv32qCPyk4BuFKSuNiJRQ,334
|
|
133
|
-
aury/boot/toolkit/http/__init__.py,sha256=zIPmpIZ9Qbqe25VmEr7jixoY2fkRbLm7NkCB9vKpg6I,11039
|
|
134
|
-
aury_boot-0.0.4.dist-info/METADATA,sha256=pT2x7uu3fT5mvyx1C129TgVtIy3F8c3uEwwgXZ7Hcww,7600
|
|
135
|
-
aury_boot-0.0.4.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
136
|
-
aury_boot-0.0.4.dist-info/entry_points.txt,sha256=f9KXEkDIGc0BGkgBvsNx_HMz9VhDjNxu26q00jUpDwQ,49
|
|
137
|
-
aury_boot-0.0.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|