Oven logo

Oven

Autodoc Pydantic

PyPI - Version Python PyPI - Downloads

GitHub Actions Workflow Status Codecov Read the Docs (stable)

GitHub License linting - ruff types - Mypy All Contributors

You love pydantic ❀ and you want to document your models and configuration settings with sphinx?

Perfect, let's go. But wait, sphinx' autodoc does not integrate too well with pydantic models πŸ˜•.

Don't worry - just pip install autodoc_pydantic ☺.

🌟 Features

  • πŸ’¬ provides default values, alias and constraints for model fields
  • πŸ”— adds hyperlinks between validators and corresponding fields
  • πŸ“ƒ includes collapsable model json schema
  • πŸ„ natively integrates with autodoc and autosummary extensions
  • πŸ“Ž defines explicit pydantic prefixes for models, settings, fields, validators and model config
  • πŸ“‹ shows summary section for model configuration, fields and validators
  • πŸ‘€ hides overloaded and redundant model class signature
  • πŸ”± visualizes entity-relationship-diagrams for class hierarchies
  • πŸ”¨ allows complete configurability on global and per-model level
  • πŸ€ supports pydantic >= 1.5.0 and sphinx >= 4.0.0

πŸ“„ Documentation

SectionDescription
πŸ“‘ Landing PageGuides and detailed information.
πŸ› οΈ InstallationSetup and installation procedures.
πŸ”§ ConfigurationSystem or application settings.
πŸ’‘ UsageHow to use the application or tool.
🌐 ExamplesShowcase and usage examples.
πŸ‘¨β€πŸ’» Developer GuideIn-depth guide for developers.

πŸ™ Acknowledgements

Thanks to great open source projects sphinx, pydantic and poetry (and so many more) ❀ in addition to the following contributors:

Franz WΓΆllert
Franz WΓΆllert

🚧 πŸ“– ⚠️ πŸ–‹
Yves Renier
Yves Renier

πŸ“– ⚠️ πŸ–‹
TheBeardedBerserkr
TheBeardedBerserkr

πŸ€”
Jan Vlčinský
Jan Vlčinský

πŸ›‘οΈ
antvig
antvig

πŸ› πŸ““
Hugo O Rivera
Hugo O Rivera

πŸ€”
yura bondarenko
yura bondarenko

πŸ› πŸ““
Trevor Howard
Trevor Howard

πŸ› πŸ““
thomas-pedot
thomas-pedot

πŸ› πŸ““
Mat Utter
Mat Utter

πŸ› πŸ““
David C Hall
David C Hall

πŸ€” πŸ““
Josh A. Mitchell
Josh A. Mitchell

πŸ€” ⚠️
Roderick Go
Roderick Go

⚠️
Lily Wang
Lily Wang

πŸ“– πŸ–‹
j-carson
j-carson

πŸ› πŸ’» ⚠️
Jakob Lykke Andersen
Jakob Lykke Andersen

πŸ’»
Juan Luis Cano RodrΓ­guez
Juan Luis Cano RodrΓ­guez

πŸ–‹
Mikalai Chaly
Mikalai Chaly

πŸ› ⚠️
Stig Korsnes
Stig Korsnes

πŸ› πŸ€”
Ilia Kurenkov
Ilia Kurenkov

πŸ›
Grzegorz Bokota
Grzegorz Bokota

πŸ›
jgunstone
jgunstone

πŸ›
iwyrkore
iwyrkore

πŸ’»
spacemanspiff2007
spacemanspiff2007

πŸ› πŸ€”
Luke Hsiao
Luke Hsiao

πŸ›
Daniel Walker
Daniel Walker

πŸ›
Evgeniy Lupashin
Evgeniy Lupashin

πŸ›
Jan-Hendrik Ewers
Jan-Hendrik Ewers

πŸ›
Jonny Saunders
Jonny Saunders

πŸ›
Charles Machalow
Charles Machalow

πŸ’¬
Thomas Karaouzene
Thomas Karaouzene

πŸ›
caseyzak24
caseyzak24

πŸ“–
Priscila Oliveira
Priscila Oliveira

πŸ‘€ πŸ““
Arthur WoimbΓ©e
Arthur WoimbΓ©e

πŸ‘€ πŸ““ πŸ’» ⚠️
Chris Markiewicz
Chris Markiewicz

πŸ›
David B. Nagle
David B. Nagle

πŸ›
JerryJia
JerryJia

πŸ’»
Mike D
Mike D

πŸ’» πŸ› ⚠️
Dario Quintero (Flexcompute)
Dario Quintero (Flexcompute)

πŸ‘€
Rafael Guedes
Rafael Guedes

πŸ’»
Andrew Linzie
Andrew Linzie

πŸ’»
Altay Sansal
Altay Sansal

πŸ€”
Tony Narlock
Tony Narlock

πŸ’» πŸ“–
Xuan (Sean) Hu
Xuan (Sean) Hu

πŸ›
Christian Riedel
Christian Riedel

πŸ›
morcef
morcef

πŸ›
alejandro-yousef
alejandro-yousef

πŸ€”
exs-dwoodward
exs-dwoodward

πŸ’»
Leah Wasser
Leah Wasser

πŸ›
Allan Galarza
Allan Galarza

πŸ›
Carson-Shaar
Carson-Shaar

πŸ›
Kyle Finley
Kyle Finley

πŸ›
brunocruz
brunocruz

πŸ›
Anne Rademacher
Anne Rademacher

πŸ’΅
Γ‰loi Rivard
Γ‰loi Rivard

πŸ›

This project follows the all-contributors specification. Contributions of any kind welcome!