v0.6.0: Authentication Fix & Community Enhancements
π Major Release: Authentication Fixed + Community Features
π§ CRITICAL AUTHENTICATION FIX
The library now works with real Monarch Money accounts!
Root Issue Resolved:
- Fixed authentication to use JSON payloads instead of FormData
- Added proper MFA detection for
"MFA_REQUIRED"error code - Automatic TOTP generation and submission from MFA secrets
- Enhanced session management and error handling
Before: {"You":"Shall Not Pass"} authentication failures
After: β
Successful login with MFA and session management
β¨ NEW COMMUNITY FEATURES
Investment Management (PR hammem#151)
get_holding_by_ticker()- Find holdings by stock symboladd_holding_by_ticker()- Add investments programmaticallyremove_holding_by_ticker()- Remove holdingsupdate_holding_quantity()- Modify investment amounts
Enhanced Transaction Filtering (PR hammem#148)
is_creditparameter for credit/debit filteringabs_amount_rangefor amount range filtering- More precise transaction searches
Categories & Merchants APIs (PR hammem#128)
get_transaction_categories()- All transaction categoriesget_merchants()- Search merchants with filteringget_merchant_details()- Detailed merchant informationget_category_details()- Category metadata
Account Refresh Enhancement (PR hammem#102)
account_idsparameter for selective refresh monitoring- Check specific accounts instead of waiting for all
π COMPREHENSIVE RECURRING TRANSACTIONS
Based on HAR file analysis, added 6 new methods:
get_recurring_streams()- All recurring transaction streamsget_aggregated_recurring_items()- Aggregated items by date rangereview_recurring_stream()- Review and update stream statusmark_stream_as_not_recurring()- Disable recurring streamsget_recurring_merchant_search_status()- Track search operationsget_all_recurring_transaction_items()- Complete items with forecasts
π¨ CODE QUALITY & CI
- β GitHub Actions CI: All checks passing (Black, isort, tests)
- β Python Support: 3.8, 3.9, 3.10, 3.11, 3.12
- π§Ή Clean Code: Proper formatting, import sorting, linting
- π Enhanced Logging: Better debugging and error tracking
- π‘οΈ Error Recovery: Robust error handling strategies
π¦ Installation
pip install monarchmoney-enhanced==0.6.0π Quick Start
from monarchmoney import MonarchMoney
mm = MonarchMoney()
# Now works with real accounts!
await mm.login(
email="your-email@example.com",
password="your-password",
mfa_secret_key="YOUR_MFA_SECRET" # TOTP secret
)
# Access all the new features
accounts = await mm.get_accounts()
holdings = await mm.get_holding_by_ticker("AAPL")
recurring = await mm.get_recurring_streams()π Credits
This release incorporates features from multiple community pull requests and resolves the core authentication issue that prevented real-world usage. Thanks to all contributors and users who provided feedback!
Full Changelog: v0.5.0...v0.6.0