All notable changes to the BlackRoad Python SDK will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.0 - 2024-01-16
- Initial release of BlackRoad Python SDK
- Synchronous and asynchronous client implementations
- Full type hints throughout the codebase
- Comprehensive docstrings for all public APIs
- User registration
- User login with JWT tokens
- Token management (set/clear)
- Current user information retrieval
- Logout functionality
- Wallet management
- Balance checking
- Transaction creation and retrieval
- Transaction history with pagination
- Block retrieval and exploration
- Block mining
- Blockchain statistics and analytics
- List available agents
- Filter agents by category
- Get agent details
- Execute agents with custom parameters
- Monitor execution status
- Cancel running executions
- Automatic retry logic with exponential backoff
- Request/response interceptors
- Custom header management
- Configurable timeout and retry settings
- Comprehensive error handling
- Custom exception hierarchy
- Specific exceptions for different error types:
AuthenticationError- Authentication failuresAuthorizationError- Authorization failuresNotFoundError- Resource not foundValidationError- Request validation errorsRateLimitError- Rate limit exceededServerError- Server-side errorsNetworkError- Network connectivity issuesTimeoutError- Request timeoutsBlockchainError- Blockchain operation failuresAgentError- Agent execution failuresConfigurationError- Configuration errors
- User models (User, UserCreate, Token)
- Blockchain models (Wallet, Transaction, Block, BlockchainStats)
- Agent models (AgentInfo, AgentResult, AgentStatus, AgentMetadata)
- Full Pydantic validation for all models
- Comprehensive test suite with pytest
- Example scripts for common use cases:
quickstart.py- Basic usage exampleagents_example.py- Agent operationsblockchain_example.py- Blockchain operations
- Setup configuration for pip installation
- pyproject.toml for modern Python packaging
- Comprehensive README with usage examples
- Inline documentation for all public APIs
- Example code for sync and async usage
- Configuration guide
- Error handling guide
- Python 3.8+ support
- Dependencies:
- httpx >= 0.24.0
- pydantic >= 2.0.0
- python-dateutil >= 2.8.0
- typing-extensions >= 4.0.0