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:
      - pydanticCurrently 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