erdantic.examples.pydantic¶
Example data model classes using Pydantic.
Classes¶
Adventurer (BaseModel)
pydantic-model
¶
A person often late for dinner but with a tale or two to tell.
Attributes:
Name | Type | Description |
---|---|---|
name |
str |
Name of this adventurer |
profession |
str |
Profession of this adventurer |
level |
int |
Level of this adventurer |
alignment |
Alignment |
Alignment of this adventurer |
Source code in erdantic/examples/pydantic.py
class Adventurer(BaseModel):
"""A person often late for dinner but with a tale or two to tell.
Attributes:
name (str): Name of this adventurer
profession (str): Profession of this adventurer
level (int): Level of this adventurer
alignment (Alignment): Alignment of this adventurer
"""
name: str
profession: str
level: int
alignment: Alignment
Alignment (str, Enum)
¶
An enumeration.
Source code in erdantic/examples/pydantic.py
class Alignment(str, Enum):
LAWFUL_GOOD = "lawful_good"
NEUTRAL_GOOD = "neutral_good"
CHAOTIC_GOOD = "chaotic_good"
LAWFUL_NEUTRAL = "lawful_neutral"
TRUE_NEUTRAL = "true_neutral"
CHAOTIC_NEUTRAL = "chaotic_neutral"
LAWFUL_EVIL = "lawful_evil"
NEUTRAL_EVIL = "neutral_evil"
CHAOTIC_EVIL = "chaotic_evil"
Party (BaseModel)
pydantic-model
¶
A group of adventurers finding themselves doing and saying things altogether unexpected.
Attributes:
Name | Type | Description |
---|---|---|
name |
str |
Name that party is known by |
formed_datetime |
datetime |
Timestamp of when the party was formed |
members |
List[Adventurer] |
Adventurers that belong to this party |
active_quest |
Optional[Quest] |
Current quest that party is actively tackling |
Source code in erdantic/examples/pydantic.py
class Party(BaseModel):
"""A group of adventurers finding themselves doing and saying things altogether unexpected.
Attributes:
name (str): Name that party is known by
formed_datetime (datetime): Timestamp of when the party was formed
members (List[Adventurer]): Adventurers that belong to this party
active_quest (Optional[Quest]): Current quest that party is actively tackling
"""
name: str
formed_datetime: datetime
members: List[Adventurer]
active_quest: Optional[Quest]
Quest (BaseModel)
pydantic-model
¶
A task to complete, with some monetary reward.
Attributes:
Name | Type | Description |
---|---|---|
name |
str |
Name by which this quest is referred to |
giver |
QuestGiver |
Person who offered the quest |
reward_gold |
int |
Amount of gold to be rewarded for quest completion |
Source code in erdantic/examples/pydantic.py
class Quest(BaseModel):
"""A task to complete, with some monetary reward.
Attributes:
name (str): Name by which this quest is referred to
giver (QuestGiver): Person who offered the quest
reward_gold (int): Amount of gold to be rewarded for quest completion
"""
name: str
giver: QuestGiver
reward_gold: int
QuestGiver (BaseModel)
pydantic-model
¶
A person who offers a task that needs completing.
Attributes:
Name | Type | Description |
---|---|---|
name |
str |
Name of this quest giver |
faction |
str |
Faction that this quest giver belongs to |
location |
str |
Location this quest giver can be found |
Source code in erdantic/examples/pydantic.py
class QuestGiver(BaseModel):
"""A person who offers a task that needs completing.
Attributes:
name (str): Name of this quest giver
faction (str): Faction that this quest giver belongs to
location (str): Location this quest giver can be found
"""
name: str
faction: Optional[str]
location: str