Skip to content

Latest commit

 

History

History
55 lines (47 loc) · 2.26 KB

File metadata and controls

55 lines (47 loc) · 2.26 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.1.0 - 2026-01-27

Added

  • Initial release of Pathao Python SDK
  • OAuth 2.0 authentication with automatic token management
  • Store management (create, list, get stores)
  • Order management (create single/bulk orders, track orders)
  • Location services (cities, zones, areas with search)
  • Price calculation (delivery cost estimation)
  • Comprehensive input validation
  • Type hints throughout the codebase
  • Retry logic with exponential backoff
  • Secure logging with sensitive data masking
  • Support for both Sandbox and Production environments
  • Environment variable and .env file support
  • Comprehensive error handling with specific exception types
  • 97% test coverage with 196+ unit tests
  • Integration tests for real API workflows
  • Complete documentation with examples
  • CI/CD pipeline with automated testing and publishing

Features

  • PathaoClient: Main client class with unified API access
  • Authentication: Automatic OAuth 2.0 token management and refresh
  • Store Management: Create, list, and retrieve store information
  • Order Management: Single and bulk order creation with tracking
  • Location Services: City, zone, and area lookup with search
  • Price Calculation: Delivery cost calculation with detailed breakdown
  • Error Handling: Comprehensive exception hierarchy
  • Validation: Input validation for all API parameters
  • Logging: Secure logging with sensitive data protection
  • Testing: Extensive test suite with mocking and integration tests
  • Documentation: Complete API documentation with examples

Technical Details

  • Python 3.8+ support
  • Type hints and mypy compatibility
  • Black code formatting
  • Flake8 linting compliance
  • Comprehensive docstrings
  • Modular architecture with clean separation of concerns
  • HTTP client with retry logic and error handling
  • Environment-based configuration (sandbox/production)