refspy.models.book

Data object for a book.

Books are referenced by their names, abbrevs (short names), and aliases.

Attributes:
  • id: 13
  • name: '1 Thesslonians'
  • abbrev: '1 Thess'
  • aliases: ['1 Th'],
  • chapters: 5
Note:

Aliases should be capitalised.

If the book has a number (e.g. '1' Corinthians), then the refspy.language.Language object's number_prefixes property defines any substitute prefixes like 'I' or 'First'.

A book with only one chapter will be formatted without chapter numbers.

 1"""Data object for a book.
 2
 3Books are referenced by their names, abbrevs (short names), and aliases.
 4
 5Attributes:
 6    id: 13
 7    name: '1 Thesslonians'
 8    abbrev: '1 Thess'
 9    aliases: ['1 Th'],
10    chapters: 5
11
12Note:
13    Aliases should be capitalised.
14
15If the book has a number (e.g. '1' Corinthians), then the
16`refspy.language.Language` object's `number_prefixes` property defines any
17substitute prefixes like 'I' or 'First'.
18
19A book with only one chapter will be formatted without chapter numbers.
20"""
21
22from pydantic import BaseModel
23
24from refspy.types.number import Number
25
26
27class Book(BaseModel):
28    id: Number
29    name: str
30    abbrev: str
31    aliases: list[str]
32    chapters: int
class Book(pydantic.main.BaseModel):
28class Book(BaseModel):
29    id: Number
30    name: str
31    abbrev: str
32    aliases: list[str]
33    chapters: int

!!! abstract "Usage Documentation" Models

A base class for creating Pydantic models.

Attributes:
  • __class_vars__: The names of the class variables defined on the model.
  • __private_attributes__: Metadata about the private attributes of the model.
  • __signature__: The synthesized __init__ [Signature][inspect.Signature] of the model.
  • __pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
  • __pydantic_core_schema__: The core schema of the model.
  • __pydantic_custom_init__: Whether the model has a custom __init__ function.
  • __pydantic_decorators__: Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.
  • __pydantic_generic_metadata__: A dictionary containing metadata about generic Pydantic models. The origin and args items map to the [__origin__][genericalias.__origin__] and [__args__][genericalias.__args__] attributes of [generic aliases][types-genericalias], and the parameter item maps to the __parameter__ attribute of generic classes.
  • __pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models.
  • __pydantic_post_init__: The name of the post-init method for the model, if defined.
  • __pydantic_root_model__: Whether the model is a [RootModel][pydantic.root_model.RootModel].
  • __pydantic_serializer__: The pydantic-core SchemaSerializer used to dump instances of the model.
  • __pydantic_validator__: The pydantic-core SchemaValidator used to validate instances of the model.
  • __pydantic_fields__: A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects.
  • __pydantic_computed_fields__: A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.
  • __pydantic_extra__: A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to 'allow'.
  • __pydantic_fields_set__: The names of fields explicitly set during instantiation.
  • __pydantic_private__: Values of private attributes set on the model instance.
id: Annotated[int, Ge(ge=1), Le(le=999)]
name: str
abbrev: str
aliases: list[str]
chapters: int
model_config: ClassVar[pydantic.config.ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].