Makea admin CLI (browser login + Makea admin HTTP API)
Project description
makea-cli
给 Makea 内部同事用的命令行小工具:连的是线上正式环境,装好就能用,不用配环境变量、不用改配置文件。
第一次用时在浏览器里登录一次公司账号,之后在本机保存登录状态,即可查询用户、供应商等(具体能执行哪些命令取决于你的账号权限)。
怎么用(三步)
- 安装(本机需要已安装 Python 3.10 或以上)
- 从本仓库安装(开发 / 内网 clone): 在
makea-cli/目录执行
python3 -m pip install -e .
若提示找不到python3,可改用python。 - 不经过 GitHub: 把本包的 Python 发行版发布到公司私有 PyPI / Artifact Registry 等,同事执行
python3 -m pip install makea-cli(或pipx install makea-cli)即可;无需 clone 仓库。 - 可选 — 用 npm 只占一个全局命令名: 仓库里
npm/makea-cli/是一个 薄封装,npm install -g后会把makea-cli指到python3 -m makea_cli;仍需在同一台机器上先用pip装好同名 Python 包(npm 不会替你安装 Python 依赖)。适合已经用 npm 管理全局工具的团队。
- 登录(只需做一次,或过期后再做)
makea-cli auth
会自动打开浏览器,按公司流程登录即可。完成后可以关掉浏览器标签页。 3. 执行功能(示例)
makea-cli list-users
makea-cli list-suppliers
makea-cli list-product-orders
makea-cli list-sampling-orders-by-product <product_reference_id>
makea-cli list-production-orders-by-product <product_reference_id>
从「产品订单」JSON 下载附件: list-product-orders 返回的每条 result 里已有 user_id 和 available_documents(含 document_id、admin_user_id 等),一般 不必再调单独的 document metadata API。可直接:
若只有 product_reference_id,可用(建议加上设计师 user_id 避免扫全库):
更多子命令与参数:
退出登录(清除本机保存的令牌):
makea-cli auth --logout
登录信息保存在哪
保存在本机当前用户下的应用数据目录里(例如 macOS 常见为 ~/Library/Application Support/makea-cli/,Linux 常见为 ~/.config/makea-cli/),文件名类似 credentials.json。一般不用手动打开。
给技术同事:可选环境变量
日常同事 不需要 看本节。只有要连 非线上 或 自建环境 时,才用环境变量覆盖内置地址(默认值在 makea_cli/config.py 里):
| 变量 | 说明 |
|---|---|
MAKEA_API_BASE_URL |
API 根地址(无末尾 /) |
MAKEA_COGNITO_DOMAIN |
Cognito Hosted UI 的主机名(不要写 https://) |
MAKEA_COGNITO_CLIENT_ID |
Cognito 应用客户端 ID |
MAKEA_REDIRECT_URI |
OAuth 回调地址,默认 http://127.0.0.1:8250/callback |
命令一览
makea-cli auth— 浏览器登录并保存令牌makea-cli auth --logout— 清除本机令牌makea-cli list-users— 列出用户(需管理员权限)makea-cli list-suppliers— 列出供应商(需管理员权限)makea-cli get-quote-requests-by-supplier-id <supplier_id> [--status <status>] [-n <limit>]— 直连后端按 supplier_id 查询 quote requestsmakea-cli get-supplier-links-by-supplier-id <supplier_id> [--link-type SAMPLING|PRODUCTION]— 直连后端按 supplier_id 查询 supplier linksmakea-cli submit-supplier-quote <quote_request_id> --link-name ... --currency ... --sampling-price-amount ... --sampling-price-valid-until ... --production-price-tiers-json ... --sample-lead-time ... --lead-time ... --deliverables-json ... --customer-note ...— 以供应商身份向指定 quote request 新增 quote(完整参数说明见--help)makea-cli list-product-orders— 列出所有设计师产品订单(GET/admin/designer/get_all_product_orders)makea-cli list-sampling-orders-by-product <id>— 按产品 reference id 列打样单makea-cli list-production-orders-by-product <id>— 按产品 reference id 列大货单makea-cli download-document <document_id> -u <user_id>— 下载单个文件(GET/admin/document/download)makea-cli download-product-document <product_reference_id> <document_id> -d <designer_user_id>— 按产品行 + 文档 id 下载(内部用订单列表 JSON,不额外查 metadata)makea-cli upload-product-document -u <designer_user_id> -p <product_id> -f <path>— 通用产品文档上传(不限 quote 流程):上传到 AWS S3 并挂到产品(POST/admin/designer/upload_document),返回 document domain 元数据供其它命令使用makea-cli upload-supplier-document -s <supplier_id> -f <path>— 上传 supplier 文档到 AWS S3(POST/admin/supplier/upload_document),返回 document domain 元数据makea-cli upload-sampling-order-document <sampling_order_id> -f <path>— 上传 sampling order 文档到 AWS S3(POST/admin/sampling_orders/{id}/documents),返回 document domain 元数据makea-cli upload-production-order-document <production_order_id> -f <path>— 上传到 AWS S3 并挂到 production order(POST/admin/production_orders/{id}/documents),返回 document domain 元数据makea-cli upload-production-progress-document <production_order_id> <progress_id> -f <path>— 上传 production progress 文档到 AWS S3(POST/admin/production_orders/{id}/progress/{progress_id}/upload),返回 document domain 元数据makea-cli upload-financial-documents <product_id> -f <path1> -f <path2>— 上传一个或多个 financial documents(POST/admin/products/{product_id}/financial_documents),返回 financial document 元数据makea-cli upload-link-document -f <path>— 上传文件到 AWS S3(POST/admin/upload_link_document),返回 document domain 元数据(可作为其它命令的 document 输入)makea-cli backfill-supplier-id --user-id <cognito_sub> --old-supplier-id <wrong_uuid>— 供应商supplier_id迁到 Cognitosub(默认 dry-run,加--apply才写入;详见makea-cli backfill-supplier-id --help)makea-cli version— 打印版本号
Claude / Cursor skills(可选)
仓库内 .claude/skills/ 下放有面向 agent 的操作说明,例如:
supplier-user-id-migration— 供应商 ID 与 Cognito sub 对齐、与backfill-supplier-id配套
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file makea_cli-0.1.2-py3-none-any.whl.
File metadata
- Download URL: makea_cli-0.1.2-py3-none-any.whl
- Upload date:
- Size: 32.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c052f20004d269ca479d20e4fdf08c1f121e134d582111133072482947ea6a77
|
|
| MD5 |
0cdf9ec64c229ccf8411213614488147
|
|
| BLAKE2b-256 |
65e024b3e6a2ff629778277ec2a50ff1bf502c1813ea37e70b759999fd90c780
|