Skip to main content

Makea admin CLI (browser login + Makea admin HTTP API)

Project description

makea-cli

Makea 内部同事用的命令行小工具:连的是线上正式环境,装好就能用,不用配环境变量、不用改配置文件

第一次用时在浏览器里登录一次公司账号,之后在本机保存登录状态,即可查询用户、供应商等(具体能执行哪些命令取决于你的账号权限)。


怎么用(三步)

  1. 安装(本机需要已安装 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 管理全局工具的团队。
  1. 登录(只需做一次,或过期后再做)
 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_idavailable_documents(含 document_idadmin_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 create-quote-request -s <supplier_id> -p <product_reference_id> [--quote-type SAMPLING|PRODUCTION] [--message ...] [--due-date YYYY-MM-DD] — 创建并发送 quote request(POST /admin/supplier/create_quote_request
  • makea-cli get-quote-requests-by-supplier-id <supplier_id> [--status <status>] [-n <limit>] — 直连后端按 supplier_id 查询 quote requests
  • makea-cli get-supplier-links-by-supplier-id <supplier_id> [--link-type SAMPLING|PRODUCTION] — 直连后端按 supplier_id 查询 supplier links
  • makea-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 迁到 Cognito sub(默认 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

makea_cli-0.1.10.tar.gz (6.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

makea_cli-0.1.10-py3-none-any.whl (42.0 kB view details)

Uploaded Python 3

File details

Details for the file makea_cli-0.1.10.tar.gz.

File metadata

  • Download URL: makea_cli-0.1.10.tar.gz
  • Upload date:
  • Size: 6.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.14.3 HTTPX/0.28.1

File hashes

Hashes for makea_cli-0.1.10.tar.gz
Algorithm Hash digest
SHA256 8c0480bf844843acf1b9dc16ef9b323f063ee64026163368a4ddd8738278a44e
MD5 daac5938ce0f6a46afe0320d954b97a1
BLAKE2b-256 45ed32f410c77543a9ec7b200ba82e7ea0f13fc27f0e90127aa6b9e68fbdbd59

See more details on using hashes here.

File details

Details for the file makea_cli-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: makea_cli-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 42.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.14.3 HTTPX/0.28.1

File hashes

Hashes for makea_cli-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 0837590f26b00fd79e3d300aa436d196d9debeefa27b0b06408a1bc577b1815b
MD5 6dd738bef16029098edac6a21ab2cb4e
BLAKE2b-256 3624d48fa6d4d720ff6076ed81f99882cc8d50797bf80340ede1f35ffeb56cd8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page