All notable changes to this project will be documented in this file.
-
ManifoldReader: Read-only access to Manifold Markets API
get_markets()- Get list of markets with paginationget_market()- Get specific market by IDget_market_by_slug()- Get market by slugget_user()- Get user informationget_user_markets()- Get markets created by a userget_market_bets()- Get bets on a specific marketsearch_markets()- Search markets by query
-
ManifoldWriter: Authenticated access for trading and market management
place_bet()- Place market and limit ordersplace_limit_yes()/place_limit_no()- Convenience methods for limit orderscancel_bet()- Cancel pending betsget_bet()- Get bet detailscreate_market()- Create new marketsclose_market()- Close markets with resolutionget_balance()- Get current balanceget_portfolio()- Get portfolio summaryget_positions()- Get user positionspost_comment()- Post comments on marketsget_me()- Get authenticated user infoupdate_user()- Update user profilecalculate_market_impact()- Calculate bet impact on market probabilityplace_bet_with_impact_limit()- Place bets with impact limitsis_authenticated()- Check authentication status
-
Configuration Management
- Pydantic-based settings with YAML and environment variable support
- Automatic API key loading from environment variables
- Configurable retry logic and timeouts
-
Comprehensive Testing
- Unit tests with mocked API calls
- Real API integration tests
- GitHub Actions CI/CD pipeline
- Test coverage for all major functionality
-
Documentation
- Complete API reference
- Tutorial with examples
- Quick start guide
- Best practices and error handling guides
-
Package Distribution
setup.pyfor package installationMANIFEST.infor including non-code files- Support for development and test dependencies
- Built on top of
requestslibrary with retry logic - Full type hints throughout the codebase
- Proper error handling for API failures
- Support for both market orders and limit orders
- Automatic expiration handling for limit orders (6 hours default)
- Rate limiting and retry logic for robust API interactions
- Compatible with Manifold Markets API v0
- Supports all major trading operations
- Handles pagination for list endpoints
- Graceful handling of API limitations (some endpoints marked as NotImplemented)
requests- HTTP clientpydantic- Data validation and settingsPyYAML- YAML configuration supportpython-dotenv- Environment variable loadingclick- Command-line interfaceloguru- Logging
pytest- Testing frameworkflake8- Lintingblack- Code formattingisort- Import sortingpytest-mock- Mocking utilitiesrequests-mock- HTTP request mocking