Part 4: GraphQL Client Development — TypeScript and Python
Consuming a GraphQL API from Two Worlds
TypeScript: Apollo Client with Code Generation
Why Code Generation
const result = await client.query({ query: gql`...` });
result.data.products.edges[0].node.name; // type: any — no IDE support, no compile errorsconst result = await client.query<ProductsQuery, ProductsQueryVariables>({ query: ProductsDocument });
result.data?.products.edges[0].node.name; // type: string — fully typedSetup
Code Generator Config
Write Queries as .graphql Files
.graphql FilesApollo Client Instance
Using Generated Hooks (React)
Node.js Client (Non-React)
Python: gql Client
gql ClientInstallation
Basic Query
Async Client with FastAPI
Wiring into FastAPI
Python Subscriptions with WebSocket Transport
Error Handling
Comparing Client Approaches
What's Next
PreviousPart 3: Building a GraphQL API with TypeScript and Apollo ServerNextPart 5: Authentication and Authorization
Last updated