palgen.loaders.manifest
#
Module Contents#
- class palgen.loaders.manifest.ManifestSchema(root=PydanticUndefined, **data)#
palgen.loaders.manifest.ManifestSchema .RootModelRootType .RootModelRootType pydantic.root_model.RootModel pydantic.root_model.RootModel .RootModelRootType->pydantic.root_model.RootModel root palgen.loaders.manifest.ManifestSchema palgen.loaders.manifest.ManifestSchema palgen.loaders.manifest.ManifestSchema palgen.loaders.manifest.ManifestSchema->pydantic.root_model.RootModel pydantic.main.BaseModel pydantic.main.BaseModel pydantic.root_model.RootModel->pydantic.main.BaseModel typing.Generic typing.Generic pydantic.root_model.RootModel->typing.Generic A Pydantic BaseModel for the root object of the model.
- Variables:
root – The root object of the model.
__pydantic_root_model__ – Whether the model is a RootModel.
__pydantic_private__ – Private fields in the model.
__pydantic_extra__ – Extra fields in the model.
- Parameters:
root (RootModelRootType) –
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- property model_computed_fields: dict[str, pydantic.fields.ComputedFieldInfo]#
Get the computed fields of this model instance.
- property model_fields_set: set[str]#
Returns the set of fields that have been set on this model instance.
- __pydantic_root_model__ = True#
- __pydantic_private__#
- __pydantic_extra__#
- __slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')#
- model_config#
- __pydantic_complete__ = False#
- __repr_name__#
- __repr_str__#
- __pretty__#
- __rich_repr__#
- items()#
- classmethod model_construct(root, _fields_set=None)#
Create a new model using the provided root object and update fields set.
- __repr_args__()#
- Return type:
pydantic._internal._repr.ReprArgs
- model_copy(*, update=None, deep=False)#
Returns a copy of the model.
- model_dump(*, mode='python', include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True)#
Usage docs: https://docs.pydantic.dev/dev-v2/usage/serialization/#modelmodel_dump
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- Parameters:
mode (typing_extensions.Literal[json, python] | str) – The mode in which to_python should run. If mode is ‘json’, the dictionary will only contain JSON serializable types. If mode is ‘python’, the dictionary may contain any Python objects.
include (IncEx) – A list of fields to include in the output.
exclude (IncEx) – A list of fields to exclude from the output.
by_alias (bool) – Whether to use the field’s alias in the dictionary key if defined.
exclude_unset (bool) – Whether to exclude fields that are unset or None from the output.
exclude_defaults (bool) – Whether to exclude fields that are set to their default value from the output.
exclude_none (bool) – Whether to exclude fields that have a value of None from the output.
round_trip (bool) – Whether to enable serialization and deserialization round-trip support.
warnings (bool) – Whether to log warnings when invalid fields are encountered.
- Returns:
A dictionary representation of the model.
- Return type:
- model_dump_json(*, indent=None, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True)#
Usage docs: https://docs.pydantic.dev/dev-v2/usage/serialization/#modelmodel_dump_json
Generates a JSON representation of the model using Pydantic’s to_json method.
- Parameters:
indent (int | None) – Indentation to use in the JSON output. If None is passed, the output will be compact.
include (IncEx) – Field(s) to include in the JSON output. Can take either a string or set of strings.
exclude (IncEx) – Field(s) to exclude from the JSON output. Can take either a string or set of strings.
by_alias (bool) – Whether to serialize using field aliases.
exclude_unset (bool) – Whether to exclude fields that have not been explicitly set.
exclude_defaults (bool) – Whether to exclude fields that have the default value.
exclude_none (bool) – Whether to exclude fields that have a value of None.
round_trip (bool) – Whether to use serialization/deserialization between JSON and class instance.
warnings (bool) – Whether to show any warnings that occurred during serialization.
- Returns:
A JSON string representation of the model.
- Return type:
- classmethod model_json_schema(by_alias=True, ref_template=DEFAULT_REF_TEMPLATE, schema_generator=GenerateJsonSchema, mode='validation')#
Generates a JSON schema for a model class.
- Parameters:
by_alias (bool) – Whether to use attribute aliases or not.
ref_template (str) – The reference template.
schema_generator (type[pydantic.json_schema.GenerateJsonSchema]) – To override the logic used to generate the JSON schema, ass a subclass of GenerateJsonSchema with your desired modifications
mode (pydantic.json_schema.JsonSchemaMode) – The mode in which to generate the schema.
- Returns:
The JSON schema for the given model class.
- Return type:
- classmethod model_parametrized_name(params)#
Compute the class name for parametrizations of generic classes.
This method can be overridden to achieve a custom naming scheme for generic BaseModels.
- Parameters:
params (tuple[type[Any], Ellipsis]) – Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.
- Returns:
String representing the new class where params are passed to cls as type variables.
- Raises:
TypeError – Raised when trying to generate concrete names for non-generic models.
- Return type:
- model_post_init(__context)#
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- Parameters:
__context (Any) –
- Return type:
None
- classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)#
Try to rebuild the pydantic-core schema for the model.
This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.
- Parameters:
force (bool) – Whether to force the rebuilding of the model schema, defaults to False.
raise_errors (bool) – Whether to raise errors, defaults to True.
_parent_namespace_depth (int) – The depth level of the parent namespace, defaults to 2.
_types_namespace (dict[str, Any] | None) – The types namespace, defaults to None.
- Returns:
Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.
- Return type:
bool | None
- classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)#
Validate a pydantic model instance.
- Parameters:
- Raises:
ValidationError – If the object could not be validated.
- Returns:
The validated model instance.
- Return type:
Model
- classmethod model_validate_json(json_data, *, strict=None, context=None)#
Validate the given JSON data against the Pydantic model.
- Parameters:
- Returns:
The validated Pydantic model.
- Raises:
ValueError – If json_data is not a JSON string.
- Return type:
Model
- classmethod __get_pydantic_core_schema__(__source, __handler)#
Hook into generating the model’s CoreSchema.
- Parameters:
__source (type[BaseModel]) – The class we are generating a schema for. This will generally be the same as the cls argument if this is a classmethod.
__handler (pydantic._internal._annotated_handlers.GetCoreSchemaHandler) – Call into Pydantic’s internal JSON schema generation. A callable that calls into Pydantic’s internal CoreSchema generation logic.
- Returns:
A pydantic-core CoreSchema.
- Return type:
pydantic_core.CoreSchema
- classmethod __get_pydantic_json_schema__(__core_schema, __handler)#
Hook into generating the model’s JSON schema.
- Parameters:
__core_schema (pydantic_core.CoreSchema) – A pydantic-core CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({‘type’: ‘nullable’, ‘schema’: current_schema}), or just call the handler with the original schema.
__handler (pydantic._internal._annotated_handlers.GetJsonSchemaHandler) – Call into Pydantic’s internal JSON schema generation. This will raise a pydantic.errors.PydanticInvalidForJsonSchema if JSON schema generation fails. Since this gets called by BaseModel.model_json_schema you can override the schema_generator argument to that function to change JSON schema generation globally for a type.
- Returns:
A JSON schema, as a Python object.
- Return type:
pydantic.json_schema.JsonSchemaValue
- classmethod __pydantic_init_subclass__(**kwargs)#
This is intended to behave just like __init_subclass__, but is called by ModelMetaclass only after the class is actually fully initialized. In particular, attributes like model_fields will be present when this is called.
This is necessary because __init_subclass__ will always be called by type.__new__, and it would require a prohibitively large refactor to the ModelMetaclass to ensure that type.__new__ was called in such a manner that the class would already be sufficiently initialized.
This will receive the same kwargs that would be passed to the standard __init_subclass__, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.
- Parameters:
**kwargs (Any) – Any keyword arguments passed to the class definition that aren’t used internally by pydantic.
- Return type:
None
- classmethod __class_getitem__(typevar_values)#
- __copy__()#
Returns a shallow copy of the model.
- Return type:
Model
- __deepcopy__(memo=None)#
Returns a deep copy of the model.
- __setattr__(name, value)#
Implement setattr(self, name, value).
- Parameters:
name (str) –
value (Any) –
- Return type:
None
- __iter__()#
So dict(model) works.
- Return type:
TupleGenerator
- dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)#
- json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)#
- classmethod parse_obj(obj)#
- Parameters:
obj (Any) –
- Return type:
Model
- classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)#
- classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)#
- Parameters:
path (str | pathlib.Path) –
content_type (str | None) –
encoding (str) –
proto (pydantic.deprecated.parse.Protocol | None) –
allow_pickle (bool) –
- Return type:
Model
- classmethod from_orm(obj)#
- Parameters:
obj (Any) –
- Return type:
Model
- classmethod construct(_fields_set=None, **values)#
- copy(*, include=None, exclude=None, update=None, deep=False)#
Returns a copy of the model.
- !!! warning “Deprecated”
This method is now deprecated; use model_copy instead.
If you need include or exclude, use:
`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `
- Parameters:
include (pydantic._internal._utils.AbstractSetIntStr | pydantic._internal._utils.MappingIntStrAny | None) – Optional set or mapping specifying which fields to include in the copied model.
exclude (pydantic._internal._utils.AbstractSetIntStr | pydantic._internal._utils.MappingIntStrAny | None) – Optional set or mapping specifying which fields to exclude in the copied model.
update (Dict[str, Any] | None) – Optional dictionary of field-value pairs to override field values in the copied model.
deep (bool) – If True, the values of fields that are Pydantic models will be deep copied.
- Returns:
A copy of the model with included, excluded and updated fields as specified.
- Return type:
Model
- classmethod schema(by_alias=True, ref_template=DEFAULT_REF_TEMPLATE)#
- classmethod schema_json(*, by_alias=True, ref_template=DEFAULT_REF_TEMPLATE, **dumps_kwargs)#
- classmethod validate(value)#
- Parameters:
value (Any) –
- Return type:
Model
- classmethod update_forward_refs(**localns)#
- Parameters:
localns (Any) –
- Return type:
None
- classmethod __init_subclass__(*args, **kwargs)#
- class palgen.loaders.manifest.Manifest#
palgen.loaders.manifest.Manifest palgen.loaders.loader.Loader palgen.loaders.loader.Loader palgen.loaders.loader.Loader palgen.loaders.manifest.Manifest palgen.loaders.manifest.Manifest palgen.loaders.manifest.Manifest palgen.loaders.manifest.Manifest->palgen.loaders.loader.Loader palgen.loaders.python.Python palgen.loaders.python.Python palgen.loaders.python.Python palgen.loaders.python.Python->palgen.loaders.loader.Loader palgen.loaders.python.Python->palgen.loaders.manifest.Manifest python_loader Loads palgen extensions from manifest files (palgen.manifest).
- __slots__ = ('python_loader',)#
- ingest(sources)#
Searches the given sources for palgen manifests and loads them.
- Parameters:
sources (
Iterable[Path]
) – An iterable of paths to input files- Yields:
tuple[str, Type[Extension]]
– name and class of all discovered palgen extensions- Return type:
Iterable[palgen.loaders.loader.ExtensionInfo]
- load(source)#
Attempt loading palgen extensions from manifest at the given path.
- Parameters:
path (
Path
) – Path to the manifestsource (pathlib.Path) –
- Yields:
tuple[str, Type[Extension]]
– name and class of all discovered palgen extensions- Return type:
Iterable[palgen.loaders.loader.ExtensionInfo]