Skip to content

Conversation

@isivaselvan
Copy link
Collaborator

@isivaselvan isivaselvan commented Jan 21, 2026

Description

JSON:API Library for Python

A lightweight, type-safe JSON:API client library for Python that automatically unmarshals JSON:API responses into Pydantic models.

Overview

This library provides automatic conversion of JSON:API formatted responses into strongly-typed Pydantic models with full relationship resolution. It's specifically designed for the python-tfe library but can be adapted for any JSON:API compliant API.

Key Features

  • Automatic Unmarshaling: Convert JSON:API responses to Pydantic models in one line
  • Relationship Resolution: Automatically resolves relationships from included resources
  • Query included relations: Efficient O(1) relationship lookups via indexed included array
  • Recursive Processing: Handles nested relationships automatically
  • Polymorphic Relations: Supports union types (e.g., Run | User)
  • Smart Field Detection: Automatic field type inference from Pydantic models

Testing plan

External links

Output from tests

Including output from tests may require access to a TFE instance. Ignore this section if you have no environment to test against.

Rollback Plan

Changes to Security Controls

PCI review checklist

  • I have documented a clear reason for, and description of, the change I am making.

  • If applicable, I've documented a plan to revert these changes if they require more than reverting the pull request.

  • If applicable, I've documented the impact of any changes to security controls.

    Examples of changes to security controls include using new access control methods, adding or removing logging pipelines, etc.

If you have any questions, please contact your direct supervisor, GRC (#team-grc), or the PCI working group (#proj-pci-reboot). You can also find more information at PCI Compliance.

@isivaselvan isivaselvan requested a review from a team as a code owner January 21, 2026 16:53
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