aury-boot 0.0.13__py3-none-any.whl → 0.0.14__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/_version.py CHANGED
@@ -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.13'
32
- __version_tuple__ = version_tuple = (0, 0, 13)
31
+ __version__ = version = '0.0.14'
32
+ __version_tuple__ = version_tuple = (0, 0, 14)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -131,7 +131,7 @@ class WechatAdapter(HttpAdapter):
131
131
  async def _prepare_headers(self, headers: dict | None) -> dict:
132
132
  """添加认证头。"""
133
133
  headers = await super()._prepare_headers(headers)
134
- headers["Authorization"] = f"Bearer {await self._get_access_token()}"
134
+ headers["Authorization"] = f"Bearer {{await self._get_access_token()}}"
135
135
  return headers
136
136
 
137
137
  @adapter_method("send_message")
@@ -104,14 +104,79 @@ aury pkg remove redis
104
104
 
105
105
  常用环境变量:
106
106
 
107
- | 变量 | 说明 | 默认值 |
108
- |------|------|--------|
109
- | `ADMIN__ENABLED` | 是否启用管理后台 | `false` |
110
- | `ADMIN__PATH` | 管理后台路径 | `/api/admin-console` |
111
- | `ADMIN__DATABASE_URL` | 管理后台同步数据库 URL(可覆盖自动推导) | - |
112
- | `ADMIN__AUTH_MODE` | 认证模式(basic/bearer/none/custom/jwt) | `basic` |
113
- | `ADMIN__AUTH_SECRET_KEY` | session 签名密钥(生产必配) | - |
114
- | `ADMIN__AUTH_BASIC_USERNAME` | basic 用户名 | - |
115
- | `ADMIN__AUTH_BASIC_PASSWORD` | basic 密码 | - |
116
- | `ADMIN__AUTH_BEARER_TOKENS` | bearer token 白名单 | `[]` |
117
- | `ADMIN__AUTH_BACKEND` | 自定义认证后端导入路径(module:attr) | - |
107
+ || 变量 | 说明 | 默认值 |
108
+ ||------|------|--------|
109
+ || `ADMIN__ENABLED` | 是否启用管理后台 | `false` |
110
+ || `ADMIN__PATH` | 管理后台路径 | `/api/admin-console` |
111
+ || `ADMIN__DATABASE_URL` | 管理后台同步数据库 URL(可覆盖自动推导) | - |
112
+ || `ADMIN__AUTH_MODE` | 认证模式(basic/bearer/none/custom/jwt) | `basic` |
113
+ || `ADMIN__AUTH_SECRET_KEY` | session 签名密钥(生产必配) | - |
114
+ || `ADMIN__AUTH_BASIC_USERNAME` | basic 用户名 | - |
115
+ || `ADMIN__AUTH_BASIC_PASSWORD` | basic 密码 | - |
116
+ || `ADMIN__AUTH_BEARER_TOKENS` | bearer token 白名单 | `[]` |
117
+ || `ADMIN__AUTH_BACKEND` | 自定义认证后端导入路径(module:attr) | - |
118
+
119
+ ## 注册 CLI 与扩展命令
120
+
121
+ ### 内置 `aury` 命令如何注册
122
+
123
+ Aury Boot 安装后会自动注册一个全局命令 `aury`(见框架自身的 `pyproject.toml`):
124
+
125
+ ```toml
126
+ [project.scripts]
127
+ aury = "aury.boot.commands:main"
128
+ ```
129
+
130
+ - `aury.boot.commands:main` 是 Typer 应用入口,内部通过 `app.add_typer(...)` 注册了 `init/generate/server/scheduler/worker/migrate/docker/docs/pkg` 等子命令。
131
+
132
+ ### 在你自己的项目里注册一个 CLI
133
+
134
+ 如果你希望在自己的服务里有一个独立的 CLI(例如 `{project_name_snake}`),并且复用 Aury Boot 的全部基础命令,可以这样做:
135
+
136
+ 1. 新建模块 `{package_name}/cli.py`:
137
+
138
+ ```python
139
+ from typer import Typer
140
+ from aury.boot.commands import register_commands
141
+
142
+ # 创建项目自己的 CLI
143
+ app = Typer(name="{project_name_snake}")
144
+
145
+ # 继承 aury-boot 的所有基础命令
146
+ register_commands(app)
147
+
148
+ # 或者按需关闭某些命令,例如不暴露 docker 命令:
149
+ # register_commands(app, include_docker=False)
150
+
151
+
152
+ # 添加你自己的项目命令
153
+ @app.command()
154
+ async def hello(name: str = "world") -> None:
155
+ """示例:项目自定义命令。"""
156
+ print(f"Hello, {name} from {project_name_snake}!")
157
+ ```
158
+
159
+ > 注意:这里的 `app` 是 Typer 应用实例,`register_commands` 会把所有内置的 `init/generate/server/...` 等命令挂到你自己的 CLI 下。
160
+
161
+ 2. 在你项目自己的 `pyproject.toml` 中注册脚本入口(**不是框架本身的 pyproject**):
162
+
163
+ ```toml
164
+ [project.scripts]
165
+ {project_name_snake} = "{package_name}.cli:app"
166
+ ```
167
+
168
+ 3. 安装项目后,你就可以使用:
169
+
170
+ ```bash
171
+ # 使用项目 CLI 运行 aury-boot 命令
172
+ {project_name_snake} init
173
+ {project_name_snake} generate crud user -i
174
+ {project_name_snake} server dev
175
+
176
+ # 调用你自定义的命令
177
+ {project_name_snake} hello --name dev
178
+ ```
179
+
180
+ 这样:
181
+ - 基础命令仍由 Aury Boot 维护和升级;
182
+ - 你的项目可以在自己的命名空间下扩展命令,而不用直接修改框架的 `aury` 命令。
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aury-boot
3
- Version: 0.0.13
3
+ Version: 0.0.14
4
4
  Summary: Aury Boot - 基于 FastAPI 生态的企业级 API 开发框架
5
5
  Requires-Python: >=3.13
6
6
  Requires-Dist: alembic>=1.17.2
@@ -1,5 +1,5 @@
1
1
  aury/boot/__init__.py,sha256=pCno-EInnpIBa1OtxNYF-JWf9j95Cd2h6vmu0xqa_-4,1791
2
- aury/boot/_version.py,sha256=zL2ebKl28AIxVDJJ-NA0JydSncoMv-eXaYp14mDVF3Y,706
2
+ aury/boot/_version.py,sha256=YDX9ERYoOeE60PulkdUCy2JxmS89Xb_igX2wwbidLMQ,706
3
3
  aury/boot/application/__init__.py,sha256=0o_XmiwFCeAu06VHggS8I1e7_nSMoRq0Hcm0fYfCywU,3071
4
4
  aury/boot/application/adapter/__init__.py,sha256=e1bcSb1bxUMfofTwiCuHBZJk5-STkMCWPF2EJXHQ7UU,3976
5
5
  aury/boot/application/adapter/base.py,sha256=Ar_66fiHPDEmV-1DKnqXKwc53p3pozG31bgTJTEUriY,15763
@@ -84,8 +84,8 @@ aury/boot/commands/templates/project/aury_docs/12-admin.md.tpl,sha256=6z3mN54qP2
84
84
  aury/boot/commands/templates/project/aury_docs/13-channel.md.tpl,sha256=rdtlog3ajcSsT0fq9a_US3MPcZhTvDo72eT6hetg4aI,3376
85
85
  aury/boot/commands/templates/project/aury_docs/14-mq.md.tpl,sha256=4bxLQBbCi0Fue0VQWOPt6acZ5P00BoLkCoLPQe_8k4U,2396
86
86
  aury/boot/commands/templates/project/aury_docs/15-events.md.tpl,sha256=a4wQRgVPuYUGTGmw_lX1HJH_yFTbD30mBz7Arc4zgfs,3361
87
- aury/boot/commands/templates/project/aury_docs/16-adapter.md.tpl,sha256=ILwUDaaSQ15W1OM4f8qq4zMi1eSimkT1279Hbw8hTYA,11454
88
- aury/boot/commands/templates/project/aury_docs/99-cli.md.tpl,sha256=_dXMK8V7HJAsA_6R1SboD8Rv63s7sDPolvQoSQvKXgA,3667
87
+ aury/boot/commands/templates/project/aury_docs/16-adapter.md.tpl,sha256=pkmJkZw2Ca6_uYk2jZvAb8DozjBa2tWq_t3gtq1lFSk,11456
88
+ aury/boot/commands/templates/project/aury_docs/99-cli.md.tpl,sha256=LEZ-ygl_pF_t_abrpajlaEkGv1qD4onylmxG6p5wzgc,5671
89
89
  aury/boot/commands/templates/project/env_templates/_header.tpl,sha256=Pt0X_I25o1th3CLR228L2-nlcC-lIkN8cPailohBEkU,513
90
90
  aury/boot/commands/templates/project/env_templates/admin.tpl,sha256=wWt3iybOpBHtuw6CkoUJ1bzEL0aNgOzKDEkMKhI2oag,2032
91
91
  aury/boot/commands/templates/project/env_templates/cache.tpl,sha256=_sK-p_FECj4mVvggNvgb4Wu0yGii0Ocz560syG7DU2c,498
@@ -192,7 +192,7 @@ aury/boot/testing/client.py,sha256=KOg1EemuIVsBG68G5y0DjSxZGcIQVdWQ4ASaHE3o1R0,4
192
192
  aury/boot/testing/factory.py,sha256=8GvwX9qIDu0L65gzJMlrWB0xbmJ-7zPHuwk3eECULcg,5185
193
193
  aury/boot/toolkit/__init__.py,sha256=AcyVb9fDf3CaEmJPNkWC4iGv32qCPyk4BuFKSuNiJRQ,334
194
194
  aury/boot/toolkit/http/__init__.py,sha256=zIPmpIZ9Qbqe25VmEr7jixoY2fkRbLm7NkCB9vKpg6I,11039
195
- aury_boot-0.0.13.dist-info/METADATA,sha256=s7J-sRJY-1E1Up1-_wM1dwgzgaK-CNo8wamMlxJjlFM,7981
196
- aury_boot-0.0.13.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
197
- aury_boot-0.0.13.dist-info/entry_points.txt,sha256=f9KXEkDIGc0BGkgBvsNx_HMz9VhDjNxu26q00jUpDwQ,49
198
- aury_boot-0.0.13.dist-info/RECORD,,
195
+ aury_boot-0.0.14.dist-info/METADATA,sha256=w5rfwLbSDsZT8WL6ZS5FhztS_orhWaaVQ3-CGyB58WY,7981
196
+ aury_boot-0.0.14.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
197
+ aury_boot-0.0.14.dist-info/entry_points.txt,sha256=f9KXEkDIGc0BGkgBvsNx_HMz9VhDjNxu26q00jUpDwQ,49
198
+ aury_boot-0.0.14.dist-info/RECORD,,