- pull_request.yml: lint (ruff) + test on PRs to master
- publish.yml: build and publish to PyPI on pushes to master
(uses Trusted Publishing via PyPI publisher)
- 268 unit tests covering all sync and async client methods
- 196 integration tests against a real sandbox API
- Mock-based tests using respx for sync and async HTTP mocking
- Paging, error handling, and edge case coverage (400/401/403/404/500/418)
- Integration test utilities and test data files
- .env.example with sandbox environment variables
- Replace OnspringApiSdk package with onspring_api_sdk package
- Add sync (OnspringClient) and async (AsyncOnspringClient) clients
- Migrate from requests to httpx for HTTP transport
- Migrate from raw dataclasses to Pydantic v2 models with alias support
- Add shared response handler module (_responses.py) to reduce duplication
- Add typed exceptions (OnspringError, OnspringAuthenticationError, etc.)
- Preserve full API coverage for apps, fields, files, lists, records, and reports
- Replace setup.cfg with pyproject.toml using hatchling build backend
- Switch from requests to httpx + pydantic v2 dependencies
- Add uv.lock for deterministic dependency resolution
- Add pytest + ruff dev dependencies with configurations
- Update .gitignore for .ruff_cache/
- Bump LICENSE year to 2026