Warning
Unfortunatly, I never did find the time to flesh out this plugin & I've moved on from both GraphQL & Python for the time being.
If you are looking for alternatives, consider @jhnnsrs's turms (see #10).
Please feel free to contact me if you are interested in taking over this package. Thanks!
--Quinn (@qw-in)
graphql-codegen-pydantic
is a plugin for graphql-codegen
that generates pydantic types from any graphql schema
type Book {
title: String
author: Author
}
type Author {
name: String
books: [Book]
}
becomes
from typing import Optional, List
from pydantic import BaseModel
class Author(BaseModel):
name: Optional[str]
books: Optional[List[Optional['Book']]]
class Book(BaseModel):
title: Optional[str]
author: Optional['Author']
graphql-codegen-pydantic
is currently still very experimental and is not ready for production use
- Set up
graphql-codegen
- Install
graphql-codegen-pydantic
yarn add graphql-codegen-pydantic -D
- Add python file to
codegen.yml
schema: http://localhost:3000/graphql
generates:
./src/schema.py:
plugins:
- pydantic
Currently very limited
- No configuration supported
- No comments included in generated code
- No support for documents
- No resolver support for eg graphene or ariadne
- Properties converted to
snake_case