Convert pydantic 2.1 classes to markdown mermaid class charts
Project description
Pydantic 2 Mermaid
To convert Pydantic 2 models to Mermaid charts, you can use the pydantic-2-mermaid
library. This library allows you to generate Mermaid charts from your Pydantic models. Here are the steps to install and use pydantic-mermaid:
If you are using pydantic 1, please visit https://github.com/EricWebsmith/pydantic_mermaid
Use in terminal
Install the pydantic-2-mermaid
library using pip:
pip install pydantic-2-mermaid
Use command line
pydantic-mermaid --module models.py --output models.md
You can run the following comamand get help for the command.
pydantic-mermaid --help
Use in code
- Import your Pydantic models into your Python script.
- Create an instance of the MermaidGenerator class from the
pydantic-2-mermaid
module and pass in your Pydantic models as arguments.
from pydantic_mermaid import MermaidGenerator
import my_module
generator = MermaidGenerator(my_module)
- Call the generate_chart() method of the MermaidGenerator instance to generate the Mermaid chart.
chart = generator.generate_chart()
- Use the chart variable to display or save the Mermaid chart.
print(chart)
This will print the Mermaid chart as a string. You can also save the chart to a file by writing the chart string to a file:
with open("chart.mmd", "w") as f:
f.write(chart)
This will save the Mermaid chart to a file called chart.mmd. You can then use a tool like the Mermaid Live Editor to visualize and edit the chart.
examples
Inheritance:
classDiagram
class Animal {
}
class Fish {
gill: str
}
class Beast {
lags: int
}
class Bird {
winds: int
}
class Dog {
}
class Cat {
}
class Salmon {
}
class Eagle {
}
Animal <|-- Fish
Animal <|-- Bird
Animal <|-- Beast
Beast <|-- Cat
Beast <|-- Dog
Fish <|-- Salmon
Bird <|-- Eagle
dependencies:
classDiagram
class Place {
name: str
population: int
}
class County {
}
class Region {
counties: List[County]
}
class Province {
regions: List[Region]
}
class City {
counties: List[County]
}
class Country {
provinces: List[Province]
cities: List[City]
}
Region ..> County
Province ..> Region
City ..> County
Country ..> Province
Country ..> City
Place <|-- City
Place <|-- County
Place <|-- Country
Place <|-- Province
Place <|-- Region
For details, check examples/ folder.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pydantic_2_mermaid-0.5.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0a4d965192b4627a2266934991c48c61442660ac8409afcb905f7ca82588025 |
|
MD5 | 336ceb60c9aabc7bc0d86c1a8da22f34 |
|
BLAKE2b-256 | 405991f0f66fe27efea8bd64aa3dc484ef9006b3593a4d7120d937026d11f268 |