Commit Graph
22 Commits
Author SHA1 Message Date
Stevan Freeborn 208ad9114b ci: add GitHub Actions workflows for PR checks and PyPI publishing
- 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)
2026-06-26 17:43:19 -05:00
Stevan Freeborn 6774f42c2f test: add unit and integration test suite for the new SDK
- 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
2026-06-26 17:43:08 -05:00
Stevan Freeborn b976959c30 feat: rewrite SDK from camelCase/requests to snake_case/httpx/Pydantic v2
- 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
2026-06-26 17:42:56 -05:00
Stevan Freeborn bc0aa9296b chore: migrate build system from setuptools to hatchling
- 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
2026-06-26 17:42:36 -05:00
Stevan Freeborn 2e4c1eb560 docs: update save file example 2024-12-19 10:48:25 -06:00
Stevan Freeborn 2a79d3e172 chore: update year in license 2024-12-18 18:01:34 -06:00
Stevan Freeborn fb183839b8 chore: bump version 2024-12-18 18:00:50 -06:00
Stevan Freeborn df795316e6 Merge pull request #7 from StevanFreeborn/stevanfreeborn/fix/stop-mutating-client-headers
fix: stop mutating client headers
2024-12-18 18:00:01 -06:00
Stevan Freeborn ce787860f4 fix: use a copy of the client headers when setting content-type on specific method calls 2024-12-18 17:58:11 -06:00
Stevan Freeborn 627d21154f chore: fix setup.cfg 2024-01-23 17:02:46 -06:00
Stevan Freeborn c68afc962e chore: bump version 2024-01-23 16:35:38 -06:00
Stevan Freeborn 881ef27d04 Merge pull request #3 from StevanFreeborn/stevanfreeborn/fix/address-list-values-not-being-included-in-some-field-responses
fix: address list values not being included in some field responses
2024-01-23 16:31:48 -06:00
Stevan Freeborn 2c736be81a chore: small formatting fix 2024-01-23 16:25:23 -06:00
Stevan Freeborn 355e19708a fix: correct listValues possibly being unbound 2024-01-23 16:24:44 -06:00
Stevan Freeborn b168b599dc fix: update GetFieldsByAppId method to return properly structured fields if field is list or formula type 2024-01-23 16:12:37 -06:00
Stevan Freeborn 8135ccaf5d tests: add failing test for GetFieldsByAppId 2024-01-23 16:11:49 -06:00
Stevan Freeborn 8f035f7308 tests: add additional assertions to test 2024-01-23 16:01:08 -06:00
Stevan Freeborn f343de2b62 tests: add failing test for GetFieldsByIds 2024-01-23 15:50:15 -06:00
Stevan Freeborn 90eb252ae6 fix: updated version number and minimum required version of python 2024-01-23 14:30:44 -06:00
Stevan Freeborn d999f22bba Merge pull request #1 from StevanFreeborn/fix/missing-type-hints
Fix: Added Missing Type Hints
2023-01-25 11:31:31 -06:00
StevanFreeborn 452718b034 Update README.md 2022-08-05 11:46:44 -05:00
StevanFreeborn 42a0513dc7 Delete _pycache_ directory 2022-04-15 14:46:12 -05:00