Skip to main content

account-kit

dedd-online 与 dental-case-pro 共用的异步账号包。PostgreSQL + SQLAlchemy + asyncpg,表在 auth schema,用户主键是 UUID。

账号能力:注册、登录、邮件验证码、审批、单设备会话、自定义角色、后台权限(is_admin,不是角色)、等级目录、两步验证。限额、限流、积分留在宿主。

from account_kit import init_db, mount_account, seed_defaults
from account_kit.config import AccountKitConfig

await init_db(engine)
await seed_defaults(session)
mount_account(app, get_db, AccountKitConfig(jwt_secret="..."))

安装

Python 包从 PyPI 安装:

pip install account-kit

界面包发在 GitHub Packages(不是 npmjs.com)。安装前在项目根写 .npmrc:

@kqstone:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${NPM_TOKEN}

NPM_TOKEN 需要带 read:packages 的 classic PAT(或等价权限)。CI 里可以用 GITHUB_TOKEN,但要先在包的 Manage Actions access 里给消费仓库(如 kqstone/dedd-online、kqstone/dental-case-pro)Read 权限。从 private 仓库首次发布的包默认为 private;可在包设置里改成 public,但无论可见性如何,安装都仍需要 token。

npm install @kqstone/account-ui-vue    # Vue 3
npm install @kqstone/account-ui-react  # React 18 / 19

不单独发布 client 包,请求客户端打进这两个界面包:

  • @kqstone/account-ui-vue:LoginForm、RegisterForm、ResetPasswordForm、TierBadge、createAccountClient
  • @kqstone/account-ui-react:同上

界面包发布的是构建后的 dist/(ESM + .d.ts),样式在组件首次渲染时注入,不需要单独引入 CSS。

本地开发

宿主仓库用 file: 路径引用界面包时,先在 account-kit 里构建一次(npm ci 会通过 prepare 自动构建):

cd packages/account-ui-vue && npm ci     # 或 packages/account-ui-react

改了界面包源码后,重新 npm run build,再在宿主里重新安装依赖。

发布

版本号写在 pyproject.toml 和两个 packages/*/package.json 里,三处保持一致。推送 v<版本号> tag(如 v0.1.0)后,GitHub Action 先校验 tag 与三处版本一致、跑测试和构建,然后:

  • Python 包发布到 PyPI(Trusted Publishing,不用 token)
  • 两个界面包发布到 GitHub Packages(GITHUB_TOKEN,packages: write)

日后若改发 npmjs.com:把 publishConfig.registry 改回默认、workflow 改为 registry.npmjs.org + NPM_TOKEN(或 npm trusted publishing),并更新本节安装说明。

许可证

MIT

Metadata

Release files for account-kit 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for account-kit 0.1.0
File Size Uploaded
account_kit-0.1.0.tar.gz 28.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for account-kit 0.1.0
File Interpreter ABI Platform
account_kit-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 61.0 kB

Release files / account_kit-0.1.0.tar.gz

Download URL account_kit-0.1.0.tar.gz
Size 28.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a534190a1dbfc4486e29f7610e461c6b354bd47575cd19c5722122fe52fd0174
BLAKE2b-256 checksum
How to use checksums
f0df8a9644b779f6ad6e593c145722010db7eb98412a6038735a1f417df88944
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / account_kit-0.1.0-py3-none-any.whl

Download URL account_kit-0.1.0-py3-none-any.whl
Size 32.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5cba909d86ecee22d0f924a2b74960d5fe72cebb03a4b8f31f70f21d72768c5c
BLAKE2b-256 checksum
How to use checksums
d62e1bda0076b3dab671b49fcf7dff9a87dea2623a40b7743d67d846b33218bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page