Frappecli技能使用说明
2026-04-01
新闻来源:网淘吧
围观:13
电脑广告
手机广告
frappecli
通过REST API管理Frappe框架实例的命令行界面。
安装
brew tap pasogott/tap
brew install frappecli
或从源代码安装:

git clone https://github.com/pasogott/frappecli.git
cd frappecli && uv sync && uv pip install -e .
配置
创建~/.config/frappecli/config.yaml:
sites:
production:
url: https://erp.company.com
api_key: your_api_key
api_secret: your_api_secret
staging:
url: https://staging.company.com
api_key: your_staging_key
api_secret: your_staging_secret
default_site: production
命令
站点管理
frappecli site doctypes # List all doctypes
frappecli site doctypes --module "Core" # Filter by module
frappecli site info "User" # Get doctype details
文档增删改查
# List documents
frappecli doc list Customer
frappecli doc list Customer --filters '{"status":"Active"}' --limit 10
# Get single document
frappecli doc get Customer CUST-001
frappecli doc get Customer CUST-001 --fields name,customer_name,status
# Create document
frappecli doc create Customer --data '{"customer_name":"Acme","customer_type":"Company"}'
# Update document
frappecli doc update Customer CUST-001 --data '{"status":"Inactive"}'
# Delete document
frappecli doc delete Customer CUST-001
文件管理
# Upload file (private by default)
frappecli file upload invoice.pdf --doctype "Sales Invoice" --docname "INV-001"
# Upload public file
frappecli file upload logo.png --public
# Download file
frappecli file download /private/files/invoice.pdf -o ./downloads/
# List files for document
frappecli file list --doctype "Sales Invoice" --docname "INV-001"
报告
# Run report (JSON output)
frappecli report run "General Ledger" --filters '{"company":"My Company"}'
# Export to CSV
frappecli report run "Accounts Receivable" --format csv -o report.csv
RPC方法
# Call custom method
frappecli rpc frappe.ping
# With arguments
frappecli rpc myapp.api.process_data --args '{"doc_id":"DOC-001"}'
多站点
# Use specific site
frappecli --site staging doc list Customer
# Switch default site
frappecli config set default_site staging
输出格式
frappecli doc list Customer --format table # Pretty table (default)
frappecli doc list Customer --format json # JSON
frappecli doc list Customer --format csv # CSV
示例
批量操作
# Export all active customers
frappecli doc list Customer --filters '{"status":"Active"}' --format csv > customers.csv
# Get document with child tables
frappecli doc get "Sales Invoice" INV-001 --fields '*'
与jq集成
# Get customer names only
frappecli doc list Customer --format json | jq -r '.[].customer_name'
# Count by status
frappecli doc list Customer --format json | jq 'group_by(.status) | map({status: .[0].status, count: length})'
链接
- 仓库: https://github.com/pasogott/frappecli
- Homebrew:
brew install pasogott/tap/frappecli
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~