v0.5.0: Complete recurring transactions and community features
π Major Features
Complete Recurring Transactions Suite
Implemented comprehensive recurring transactions management with 6 new methods from HAR file analysis:
get_recurring_streams()- Stream management with status filtering and liability optionsget_aggregated_recurring_items()- Date range aggregation with grouping by status/datereview_recurring_stream()- Approve/reject/modify recurring stream workflowmark_stream_as_not_recurring()- Disable recurring predictions for specific streamsget_recurring_merchant_search_status()- Track merchant search operation statusget_all_recurring_transaction_items()- Complete item listing with forecast predictions
Community PR Features Implementation
Added valuable features from original monarchmoney repository:
π Investment Holdings by Ticker - Complete programmatic portfolio management
get_holding_by_ticker()- Find holdings by stock symboladd_holding_by_ticker()- Add new holdings with basis trackingremove_holding_by_ticker()- Remove holdings programmaticallyupdate_holding_quantity()- Update share quantities and cost basis
π Enhanced Transaction Filtering - Advanced filtering capabilities
is_creditparameter for credit/debit transaction filteringabs_amount_rangeparameter for amount range filtering
π·οΈ Categories and Merchants API - Complete category management
get_transaction_categories()- Retrieve all transaction categoriesget_merchants()- Search and retrieve merchant dataget_merchant_details()- Get detailed merchant informationget_category_details()- Get detailed category information
π Fixed
- Error Recovery Strategy: Implemented missing abstract methods in ErrorRecoveryStrategy base class
- Replaced
NotImplementedErrorwith proper default implementations - Added comprehensive docstrings and parameter descriptions
- Provides safe fallbacks that prevent crashes while logging warnings
- Replaced
ποΈ Architecture Improvements
- Service-Oriented Design: All new functionality follows established service patterns
- Complete CRUD Operations: Full create, read, update, delete capabilities for recurring transactions
- Future Cash Flow Forecasting: Advanced prediction capabilities for financial planning
- HAR-Based Implementation: All methods extracted from real browser traffic analysis ensuring accuracy
π Technical Enhancements
- GraphQL Integration: Full GraphQL queries with proper fragments and field selection
- Input Validation: Comprehensive parameter validation and error handling
- Comprehensive Demo: Complete demonstration script showcasing all recurring transactions functionality
- Performance Optimizations: Efficient data fetching with minimal API calls
π― Status Summary
β
Complete recurring transactions management - Full CRUD operations with forecasting
β
Investment portfolio control - Programmatic holdings management by ticker
β
Advanced transaction filtering - Credit/debit and amount range filtering
β
Complete category/merchant APIs - Full category and merchant management
β
Error recovery framework - Robust error handling with recovery strategies
β
100% implementation coverage - No incomplete or stub methods remaining
π¦ Installation
pip install monarchmoney-enhanced==0.5.0π Quick Start
from monarchmoney import MonarchMoney
mm = MonarchMoney()
await mm.interactive_login()
# Get recurring transaction streams
streams = await mm.get_recurring_streams(include_pending=True)
print(f"Found {len(streams['recurringStreams'])} recurring streams")
# Get investment holdings by ticker
holding = await mm.get_holding_by_ticker("AAPL")
if holding:
print(f"AAPL holding: {holding['quantity']} shares")
# Enhanced transaction filtering
recent_credits = await mm.get_transactions(
is_credit=True,
abs_amount_range=[100.0, 1000.0]
)