Skip to content

Seamlessly integrate pydantic models in your Sphinx documentation.

License

Notifications You must be signed in to change notification settings

roliveira/autodoc_pydantic

 
 

Repository files navigation

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

Section Description
📑 Landing Page Guides and detailed information.
🛠️ Installation Setup and installation procedures.
🔧 Configuration System or application settings.
💡 Usage How to use the application or tool.
🌐 Examples Showcase and usage examples.
👨‍💻 Developer Guide In-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!

About

Seamlessly integrate pydantic models in your Sphinx documentation.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.9%
  • CSS 0.1%