Skip to content

Releases: pasogott/frappecli

Release v0.1.1 - Homebrew Integration

08 Jan 13:24

Choose a tag to compare

🍺 Homebrew Installation Now Available!

This release adds official Homebrew support for easy installation on macOS.

Installation

# Add the tap
brew tap pasogott/tap

# Install stable release (recommended)
brew install pasogott/tap/frappecli

# Or install latest development version
brew install --HEAD pasogott/tap/frappecli

What's Changed

Added

  • Homebrew installation support via pasogott/tap
  • Stable release installation
  • HEAD installation option for latest development version
  • Automatic Homebrew tap notification workflow on new releases
  • Auto-update workflow in homebrew-tap repository

Changed

  • Updated README with Homebrew installation as recommended method for macOS
  • Improved installation documentation with stable vs HEAD options

Fixed

  • GitHub Actions CI dependency installation
  • Code linting errors (isinstance calls, unused variables, raw strings)
  • All 55 tests passing, 100% linting compliance

Upgrade from v0.1.0

brew upgrade frappecli

Full Changelog: v0.1.0...v0.1.1

v0.1.0 - Production Ready 🎉

08 Jan 12:40

Choose a tag to compare

frappecli v0.1.0 - Production Ready 🎉

First production release of frappecli - a powerful CLI tool for managing Frappe/ERPNext instances via REST API.

✨ Features

📝 Document Operations

  • CRUD Operations: Create, Read, Update, Delete documents
  • List & Filter: Advanced filtering with JSON syntax
  • Pagination: --offset and --limit support
  • Order By: Sort results by any field
  • Field Selection: Choose specific fields to return
  • Dry-Run Mode: Preview changes without executing

📁 File Management

  • Single Upload: Upload files with private/public options
  • Bulk Upload: Upload multiple files with patterns
  • Download: Download files from Frappe
  • Attachments: Attach files to specific documents and fields
  • Search & List: Find and organize uploaded files

📊 Reports & RPC

  • Report Execution: Run any Frappe report
  • Export Formats: JSON and CSV export
  • RPC Calls: Call custom Frappe methods
  • Report Listing: Browse available reports

🎨 Output Formats

  • Rich Tables: Beautiful formatted terminal tables
  • JSON Output: Machine-readable --json flag
  • CSV Export: Export reports to CSV

🔧 Advanced Features

  • Multi-Site Support: Manage multiple Frappe instances
  • Environment Variables: Secure credential management
  • Error Handling: Clear error messages
  • Progress Bars: Visual feedback for bulk operations

📦 Installation

pip install frappecli

🚀 Quick Start

1. Configure

Create ~/.config/frappecli/config.yaml:

sites:
  production:
    url: https://erp.example.com
    api_key: your_api_key
    api_secret: your_api_secret

default_site: production

2. Use

# List doctypes
frappecli site doctypes

# List documents
frappecli doc list "User" --limit 10

# Create document
frappecli doc create "ToDo" --data '{"description": "Test task"}'

# Upload file
frappecli upload document.pdf --attach "ToDo" "TASK-001"

# Bulk upload
frappecli bulk-upload "*.pdf" --folder "Documents"

# Execute report
frappecli report "Audit System Hooks" --output report.csv

🧪 Testing

Extensively tested with:

  • ✅ 54 live tests with real ERPNext instance
  • ✅ CRUD operations on various doctypes
  • ✅ File uploads (20+ files, including 1.7MB images)
  • ✅ Report execution (259 rows processed)
  • ✅ Complex filters and queries
  • ✅ Error handling and edge cases

🐛 Bug Fixes

  • Fixed API response unwrapping (message and data fields)
  • Fixed filter serialization (proper JSON encoding)
  • Fixed file upload Content-Type header conflicts
  • Fixed bulk upload absolute path handling
  • Fixed CSV export with variable fieldnames
  • Fixed files list response format handling

📚 Documentation

See README.md and AGENTS.md for detailed documentation.

🙏 Credits

Built with:

🔗 Links


Full Changelog: https://github.com/pasogott/frappecli/commits/v0.1.0