Skip to content

[SDK: Python] Add Offices, Organizations, OTAs, OTIDVs, Subawards, NAICS, and Assistance endpoints#12

Merged
vdavez merged 4 commits intomainfrom
add-new-endpoints
Feb 12, 2026
Merged

[SDK: Python] Add Offices, Organizations, OTAs, OTIDVs, Subawards, NAICS, and Assistance endpoints#12
vdavez merged 4 commits intomainfrom
add-new-endpoints

Conversation

@vdavez
Copy link
Contributor

@vdavez vdavez commented Feb 12, 2026

Changes

  • Clarify the conformance script scope and ownership: SDK-owned resource-to-method mapping is now explicit and documented.
  • Add a canonical RESOURCE_TO_METHOD map and use it for filter conformance checks instead of candidate inference.
  • Improve diagnostics for unmapped/missing methods and rename checklist output from --list-missing to --list-unmapped with unmapped_resources JSON.
  • Remove promotion of missing-method warnings into hard errors for this script run mode.

Why

  • Makes endpoint coverage checks deterministic from the SDK's perspective.
  • Produces clearer CI/debug output for intentionally unimplemented resources versus true mapping errors.
  • Aligns checklist output naming with intent (unmapped resources, not generic missing endpoints).

Testing

  • uv run python scripts/check_filter_shape_conformance.py --manifest ../tango/contracts/filter_shape_contract.json
  • Confirmed run returns no errors and expected warnings for unimplemented resources / kwargs-based filters.

…S, and Assistance endpoints

New API endpoints:
- list_offices(), get_office() - Office hierarchy data
- list_organizations(), get_organization() - Organization structure with shaping
- list_otas(), get_ota() - Other Transaction Agreements
- list_otidvs(), get_otidv() - Other Transaction IDVs
- list_subawards() - Subaward data with shaping
- list_naics() - NAICS code lookup
- list_assistance() - Federal assistance awards

Also includes:
- New model schemas (Organization, OTA, OTIDV, Subaward)
- Default shape configurations for new endpoints
- Explicit schemas for response shaping
- Integration tests with VCR cassettes
- Production smoke tests for new endpoints
- Updated API documentation and developer guides
- New filter/shape conformance checking script
- Search parameter support for list_agencies()

Co-authored-by: Cursor <cursoragent@cursor.com>
vdavez and others added 3 commits February 12, 2026 05:29
Convert the commented-out `test_list_assistance` block into a real pytest test marked with a skip reason so the intent is visible in test output and code-quality checks no longer flag dead commented code.

Co-authored-by: Cursor <cursoragent@cursor.com>
Clarify resource-to-method ownership, improve diagnostics for mapped/unmapped resources, and rename missing-endpoint output to unmapped-resources for clearer endpoint coverage reporting.
Promote the current unreleased SDK changes to 0.3.0 and align package metadata, runtime version, lockfile, and changelog for publishing.

Co-authored-by: Cursor <cursoragent@cursor.com>
@vdavez vdavez merged commit da52c6c into main Feb 12, 2026
6 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant