Releases: pasogott/frappecli
Releases · pasogott/frappecli
Release v0.1.1 - Homebrew Integration
🍺 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/frappecliWhat'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 frappecliFull Changelog: v0.1.0...v0.1.1
v0.1.0 - Production Ready 🎉
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:
--offsetand--limitsupport - 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
--jsonflag - 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: production2. 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 (
messageanddatafields) - 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:
- Click - CLI framework
- Rich - Terminal formatting
- Requests - HTTP client
- PyYAML - Configuration parsing
🔗 Links
- Repository: https://github.com/pasogott/frappecli
- Issues: https://github.com/pasogott/frappecli/issues
- Frappe Framework: https://frappeframework.com/
Full Changelog: https://github.com/pasogott/frappecli/commits/v0.1.0