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.
Files changed (122) hide show
  1. aury/boot/__init__.py +2 -2
  2. aury/boot/_version.py +2 -2
  3. aury/boot/application/__init__.py +60 -36
  4. aury/boot/application/adapter/__init__.py +112 -0
  5. aury/boot/application/adapter/base.py +511 -0
  6. aury/boot/application/adapter/config.py +242 -0
  7. aury/boot/application/adapter/decorators.py +259 -0
  8. aury/boot/application/adapter/exceptions.py +202 -0
  9. aury/boot/application/adapter/http.py +325 -0
  10. aury/boot/application/app/__init__.py +12 -8
  11. aury/boot/application/app/base.py +12 -0
  12. aury/boot/application/app/components.py +137 -44
  13. aury/boot/application/app/middlewares.py +9 -4
  14. aury/boot/application/app/startup.py +249 -0
  15. aury/boot/application/config/__init__.py +36 -1
  16. aury/boot/application/config/multi_instance.py +216 -0
  17. aury/boot/application/config/settings.py +398 -149
  18. aury/boot/application/constants/components.py +6 -0
  19. aury/boot/application/errors/handlers.py +17 -3
  20. aury/boot/application/middleware/logging.py +21 -120
  21. aury/boot/application/rpc/__init__.py +2 -2
  22. aury/boot/commands/__init__.py +30 -10
  23. aury/boot/commands/app.py +131 -1
  24. aury/boot/commands/docs.py +104 -17
  25. aury/boot/commands/generate.py +22 -22
  26. aury/boot/commands/init.py +68 -17
  27. aury/boot/commands/server/app.py +2 -3
  28. aury/boot/commands/templates/project/AGENTS.md.tpl +221 -0
  29. aury/boot/commands/templates/project/README.md.tpl +2 -2
  30. aury/boot/commands/templates/project/aury_docs/00-overview.md.tpl +59 -0
  31. aury/boot/commands/templates/project/aury_docs/01-model.md.tpl +184 -0
  32. aury/boot/commands/templates/project/aury_docs/02-repository.md.tpl +206 -0
  33. aury/boot/commands/templates/project/aury_docs/03-service.md.tpl +398 -0
  34. aury/boot/commands/templates/project/aury_docs/04-schema.md.tpl +95 -0
  35. aury/boot/commands/templates/project/aury_docs/05-api.md.tpl +116 -0
  36. aury/boot/commands/templates/project/aury_docs/06-exception.md.tpl +118 -0
  37. aury/boot/commands/templates/project/aury_docs/07-cache.md.tpl +122 -0
  38. aury/boot/commands/templates/project/aury_docs/08-scheduler.md.tpl +32 -0
  39. aury/boot/commands/templates/project/aury_docs/09-tasks.md.tpl +38 -0
  40. aury/boot/commands/templates/project/aury_docs/10-storage.md.tpl +115 -0
  41. aury/boot/commands/templates/project/aury_docs/11-logging.md.tpl +131 -0
  42. aury/boot/commands/templates/project/aury_docs/12-admin.md.tpl +56 -0
  43. aury/boot/commands/templates/project/aury_docs/13-channel.md.tpl +104 -0
  44. aury/boot/commands/templates/project/aury_docs/14-mq.md.tpl +102 -0
  45. aury/boot/commands/templates/project/aury_docs/15-events.md.tpl +147 -0
  46. aury/boot/commands/templates/project/aury_docs/16-adapter.md.tpl +403 -0
  47. aury/boot/commands/templates/project/{CLI.md.tpl → aury_docs/99-cli.md.tpl} +19 -19
  48. aury/boot/commands/templates/project/config.py.tpl +10 -10
  49. aury/boot/commands/templates/project/env_templates/_header.tpl +10 -0
  50. aury/boot/commands/templates/project/env_templates/admin.tpl +49 -0
  51. aury/boot/commands/templates/project/env_templates/cache.tpl +14 -0
  52. aury/boot/commands/templates/project/env_templates/database.tpl +22 -0
  53. aury/boot/commands/templates/project/env_templates/log.tpl +18 -0
  54. aury/boot/commands/templates/project/env_templates/messaging.tpl +46 -0
  55. aury/boot/commands/templates/project/env_templates/rpc.tpl +28 -0
  56. aury/boot/commands/templates/project/env_templates/scheduler.tpl +18 -0
  57. aury/boot/commands/templates/project/env_templates/service.tpl +18 -0
  58. aury/boot/commands/templates/project/env_templates/storage.tpl +38 -0
  59. aury/boot/commands/templates/project/env_templates/third_party.tpl +43 -0
  60. aury/boot/commands/templates/project/modules/tasks.py.tpl +1 -1
  61. aury/boot/common/logging/__init__.py +26 -674
  62. aury/boot/common/logging/context.py +132 -0
  63. aury/boot/common/logging/decorators.py +118 -0
  64. aury/boot/common/logging/format.py +315 -0
  65. aury/boot/common/logging/setup.py +214 -0
  66. aury/boot/contrib/admin_console/auth.py +2 -3
  67. aury/boot/contrib/admin_console/install.py +1 -1
  68. aury/boot/domain/models/mixins.py +48 -1
  69. aury/boot/domain/pagination/__init__.py +94 -0
  70. aury/boot/domain/repository/impl.py +1 -1
  71. aury/boot/domain/repository/interface.py +1 -1
  72. aury/boot/domain/transaction/__init__.py +8 -9
  73. aury/boot/infrastructure/__init__.py +86 -29
  74. aury/boot/infrastructure/cache/backends.py +102 -18
  75. aury/boot/infrastructure/cache/base.py +12 -0
  76. aury/boot/infrastructure/cache/manager.py +153 -91
  77. aury/boot/infrastructure/channel/__init__.py +24 -0
  78. aury/boot/infrastructure/channel/backends/__init__.py +9 -0
  79. aury/boot/infrastructure/channel/backends/memory.py +83 -0
  80. aury/boot/infrastructure/channel/backends/redis.py +88 -0
  81. aury/boot/infrastructure/channel/base.py +92 -0
  82. aury/boot/infrastructure/channel/manager.py +203 -0
  83. aury/boot/infrastructure/clients/__init__.py +22 -0
  84. aury/boot/infrastructure/clients/rabbitmq/__init__.py +9 -0
  85. aury/boot/infrastructure/clients/rabbitmq/config.py +46 -0
  86. aury/boot/infrastructure/clients/rabbitmq/manager.py +288 -0
  87. aury/boot/infrastructure/clients/redis/__init__.py +28 -0
  88. aury/boot/infrastructure/clients/redis/config.py +51 -0
  89. aury/boot/infrastructure/clients/redis/manager.py +264 -0
  90. aury/boot/infrastructure/database/config.py +7 -16
  91. aury/boot/infrastructure/database/manager.py +16 -38
  92. aury/boot/infrastructure/events/__init__.py +18 -21
  93. aury/boot/infrastructure/events/backends/__init__.py +11 -0
  94. aury/boot/infrastructure/events/backends/memory.py +86 -0
  95. aury/boot/infrastructure/events/backends/rabbitmq.py +193 -0
  96. aury/boot/infrastructure/events/backends/redis.py +162 -0
  97. aury/boot/infrastructure/events/base.py +127 -0
  98. aury/boot/infrastructure/events/manager.py +224 -0
  99. aury/boot/infrastructure/mq/__init__.py +24 -0
  100. aury/boot/infrastructure/mq/backends/__init__.py +9 -0
  101. aury/boot/infrastructure/mq/backends/rabbitmq.py +179 -0
  102. aury/boot/infrastructure/mq/backends/redis.py +167 -0
  103. aury/boot/infrastructure/mq/base.py +143 -0
  104. aury/boot/infrastructure/mq/manager.py +239 -0
  105. aury/boot/infrastructure/scheduler/manager.py +7 -3
  106. aury/boot/infrastructure/storage/__init__.py +9 -9
  107. aury/boot/infrastructure/storage/base.py +17 -5
  108. aury/boot/infrastructure/storage/factory.py +0 -1
  109. aury/boot/infrastructure/tasks/__init__.py +2 -2
  110. aury/boot/infrastructure/tasks/config.py +5 -13
  111. aury/boot/infrastructure/tasks/manager.py +55 -33
  112. {aury_boot-0.0.4.dist-info → aury_boot-0.0.7.dist-info}/METADATA +20 -2
  113. aury_boot-0.0.7.dist-info/RECORD +197 -0
  114. aury/boot/commands/templates/project/DEVELOPMENT.md.tpl +0 -1397
  115. aury/boot/commands/templates/project/env.example.tpl +0 -213
  116. aury/boot/infrastructure/events/bus.py +0 -362
  117. aury/boot/infrastructure/events/config.py +0 -52
  118. aury/boot/infrastructure/events/consumer.py +0 -134
  119. aury/boot/infrastructure/events/models.py +0 -63
  120. aury_boot-0.0.4.dist-info/RECORD +0 -137
  121. {aury_boot-0.0.4.dist-info → aury_boot-0.0.7.dist-info}/WHEEL +0 -0
  122. {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
-
@@ -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,,