gro

gro is a strict OpenAPI compiler that grows APIs into fully typed Python SDKs.

The documentation is still under construction, but the core ideas and direction of the project are already clear.


What is gro?

gro takes an OpenAPI specification and turns it into a clean, strongly typed, Pythonic SDK.

Unlike traditional generators, gro is strict by default. If your API specification is underspecified or loosely typed, gro will tell you — instead of guessing.

This makes gro suitable for teams that care about:

  • correctness
  • type safety
  • long-term maintainability
  • predictable SDK behavior

Philosophy

gro follows a few simple principles:

  • Strict by default Untyped or free-form schemas are rejected unless explicitly allowed.

  • No guessing If the spec is ambiguous, gro fails fast and explains why.

  • Python-first output Generated SDKs should feel natural to use in Python, with proper typing and structure.

  • Opt-in looseness You can allow untyped parts when needed, but only by choice.


Current status

The project is under active development.

Right now, gro focuses on:

  • validating OpenAPI specs
  • enforcing strict typing rules
  • generating fully typed Python SDKs

More features (async clients, customization hooks, richer docs) will come after the core is solid.


Getting started (soon)

Once available, the basic workflow will look like:

gro check openapi.yaml
gro generate openapi.yaml

Until then, consider this documentation a living draft.


A note

gro is intentionally opinionated.

If you want a generator that “just works” on any spec, gro may feel strict. If you want your SDKs to be correct, typed, and boring in the best way, you’re in the right place 🌱


This site uses Just the Docs, a documentation theme for Jekyll.