Changelog
Version history and updates for the VECU Custody Python SDK.
Version 0.1.1-beta
Released: 2024-01-15
Status: Beta
Features
- Initial beta release of the Custody Python SDK
- Synchronous and asynchronous client support (
CustodyClientandAsyncCustodyClient) - Complete API coverage for all 5 resource groups:
- Custody Permits (authorizations) - 4 endpoints
- Transfers - 4 endpoints
- Releasability - 3 endpoints
- Audit - 2 endpoints
- Health - 1 endpoint
- Automatic pagination for list operations
- Comprehensive exception hierarchy with 15+ typed exceptions
- Automatic retry logic with exponential backoff
- Hash-chain verification for custody transfers
- Environment presets (sandbox, production)
- Mock client for testing (
MockCustodyClient,AsyncMockCustodyClient) - Type hints and full IDE autocomplete support
API Methods
Custody Permits (authorizations):
client.authorizations.create()- Create custody permitclient.authorizations.get()- Retrieve permit by IDclient.authorizations.list()- List permits with filteringclient.authorizations.cancel()- Cancel active permit
Transfers:
client.transfers.create()- Initiate custody transferclient.transfers.get_status()- Get transfer statusclient.transfers.get_history()- Retrieve custody historyclient.transfers.verify_integrity()- Verify custody chain
Releasability:
client.releasability.check_vin()- Check if vehicle is releasableclient.releasability.check_with_context()- Check with additional contextclient.releasability.get_cached()- Get cached releasability result
Audit:
client.audit.get_trail()- Retrieve audit trailclient.audit.generate_report()- Generate compliance report
Health:
client.health.check()- Service health check
Configuration
- Support for environment variables (
VECU_API_KEY,VECU_API_SECRET,VECU_ENVIRONMENT) - Configurable timeouts and retry policies
- Custom headers and SSL configuration
- Base URL override for custom endpoints
Testing
MockCustodyClientfor synchronous testingAsyncMockCustodyClientfor async testing- Configurable mock behavior (delays, errors, default responses)
- Test fixtures and patterns
Documentation
- Complete API reference documentation
- Quick start guide
- Installation instructions with Artifactory setup
- Configuration guide
- Async client usage patterns
- Error handling guide
- Testing guide with pytest examples
Requirements
- Python >= 3.11
- Dependencies:
httpx>= 0.25.0 (HTTP client)pydantic>= 2.0.0 (data validation)python-dateutil>= 2.8.0 (date handling)
Known Issues
- None reported in this release
Breaking Changes
- N/A (initial release)
Upcoming Features
The following features are planned for future releases:
Version 0.2.0 (Planned Q1 2024)
- Batch operations for permits and transfers
- Webhook subscription management
- Enhanced caching with Redis support
- Rate limit handling improvements
- Additional report formats (Excel, HTML)
Version 0.3.0 (Planned Q2 2024)
- Real-time transfer status updates via WebSocket
- Bulk import/export utilities
- Advanced filtering and search capabilities
- Performance optimizations for large datasets
Version 1.0.0 (Planned Q3 2024)
- Stable API (no breaking changes)
- Production-grade error recovery
- Comprehensive logging and observability
- Support for Python 3.12+
Migration Guides
From Alpha to Beta (0.0.x → 0.1.x)
If you used pre-release alpha versions, note these changes:
Renamed Methods:
# Old (alpha)
client.permits.create_permit(...)
client.permits.get_permit(...)
# New (beta)
client.authorizations.create(...)
client.authorizations.get(...)
Changed Response Types:
Permit→CustodyPermitTransferStatusnow includesprogress_percentagefield
Configuration Changes:
api_timeout→timeoutmax_retry_attempts→max_retries
Support
For questions, issues, or feature requests:
- GitHub Issues: Report an issue
- Documentation: custody-sdk/python
- Email: support@vecu.coxautoinc.com
Version Support Policy
- Beta releases receive bug fixes and security updates
- Stable releases (1.0+) receive long-term support
- Deprecated versions receive security updates for 6 months after deprecation
Python Version Support
| SDK Version | Python 3.11 | Python 3.12 | Python 3.13 |
|---|---|---|---|
| 0.1.x | ✓ | ✓ | Planned |
| 1.0.x | ✓ | ✓ | ✓ |
License
This SDK is proprietary software owned by Cox Automotive. See LICENSE file for details.