datazen.environment.manifest
index
/home/vkottler/src/vkottler/workspace/datazen/datazen/environment/manifest.py

datazen - A class for adding manifest-loading to environments.

 
Modules
       
logging
os

 
Classes
       
datazen.environment.config.ConfigEnvironment(datazen.environment.variable.VariableEnvironment, datazen.environment.schema.SchemaEnvironment)
ManifestEnvironment(datazen.environment.config.ConfigEnvironment, datazen.environment.template.TemplateEnvironment)
datazen.environment.template.TemplateEnvironment(datazen.environment.base.BaseEnvironment)
ManifestEnvironment(datazen.environment.config.ConfigEnvironment, datazen.environment.template.TemplateEnvironment)

 
class ManifestEnvironment(datazen.environment.config.ConfigEnvironment, datazen.environment.template.TemplateEnvironment)
    ManifestEnvironment(**kwargs) -> None
 
A wrapper for the manifest-loading implementations of an environment.
 
 
Method resolution order:
ManifestEnvironment
datazen.environment.config.ConfigEnvironment
datazen.environment.variable.VariableEnvironment
datazen.environment.schema.SchemaEnvironment
datazen.environment.template.TemplateEnvironment
datazen.environment.base.BaseEnvironment
builtins.object

Methods defined here:
__init__(self, **kwargs) -> None
Add a manifest dictionary to the environment.
default_target(self) -> str
Retrieve a configured default target for a manifest, otherwise an
empty String.
load_dirs(self, data: Dict[str, Any], rel_path: str, namespace: str = '__root__', allow_dup: bool = False, load_defaults: bool = True) -> None
Looks for keys matching types of directories that can be loaded
into an environment and tries to load them.
load_manifest(self, path: str = 'manifest.yaml', logger: logging.Logger = <Logger datazen.environment.manifest (WARNING)>) -> bool
Attempt to load manifest data from a file.
load_manifest_reent(self, path: str, manifest_dir: str, params: Dict[Any, Any], files: List[str], logger: logging.Logger = <Logger datazen.environment.manifest (WARNING)>) -> Tuple[Dict[str, Any], bool]
Load a manifest recursively by resolving includes and merging the
results.

Static methods defined here:
update_task_dirs(data: Dict[str, Any], rel_path: str) -> None
Update path definitions in the provided manifest chunk to respect a
relative path (e.g. the directory that the manifest chunk was loaded
from).

Data and other attributes defined here:
path_fields = ['configs', 'schemas', 'schema_types', 'variables', 'templates']
targets_with_paths = ['compiles', 'renders']

Methods inherited from datazen.environment.config.ConfigEnvironment:
add_config_dirs(self, dir_paths: List[str], rel_path: str = '.', name: str = '__root__', allow_dup: bool = False) -> int
Add configuration-data directories, return the number of directories
added.
load_configs(self, cfg_loads: datazen.load.LoadedFiles = LoadedFiles(files=None, file_data=None), var_loads: datazen.load.LoadedFiles = LoadedFiles(files=None, file_data=None), sch_loads: datazen.load.LoadedFiles = LoadedFiles(files=None, file_data=None), sch_types_loads: datazen.load.LoadedFiles = LoadedFiles(files=None, file_data=None), name: str = '__root__', logger: logging.Logger = <Logger datazen.environment.config (WARNING)>, enforce_schemas: bool = True) -> vcorelib.io.types.LoadResult
Load configuration data, resolve any un-loaded configuration
directories.

Methods inherited from datazen.environment.variable.VariableEnvironment:
add_variable_dirs(self, dir_paths: List[str], rel_path: str = '.', name: str = '__root__', allow_dup: bool = False) -> int
Add variable-data directories, return the number of directories added.
load_variables(self, var_loads: datazen.load.LoadedFiles = LoadedFiles(files=None, file_data=None), name: str = '__root__') -> vcorelib.io.types.LoadResult
Load variable data, resolve any un-loaded variable directories.

Methods inherited from datazen.environment.schema.SchemaEnvironment:
add_schema_dirs(self, dir_paths: List[str], rel_path: str = '.', name: str = '__root__', allow_dup: bool = False) -> int
Add schema-data directories, return the number of directories added.
add_schema_type_dirs(self, dir_paths: List[str], rel_path: str = '.', name: str = '__root__', allow_dup: bool = False) -> int
Add directories containing schema-type data (to be registered at
runtime).
enforce_schemas(self, data: Dict[str, Any], require_all: bool = True, sch_loads: datazen.load.LoadedFiles = LoadedFiles(files=None, file_data=None), sch_types_loads: datazen.load.LoadedFiles = LoadedFiles(files=None, file_data=None), name: str = '__root__') -> bool
Perform schema-validation on provided data and return the boolean
result. Adds (and removes) namespaced types if applicable.
load_schema_types(self, sch_loads: datazen.load.LoadedFiles = LoadedFiles(files=None, file_data=None), name: str = '__root__') -> Dict[str, Any]
Load custom schema types and resolve any un-loaded directories.
load_schemas(self, require_all: bool = True, sch_loads: datazen.load.LoadedFiles = LoadedFiles(files=None, file_data=None), sch_types_loads: datazen.load.LoadedFiles = LoadedFiles(files=None, file_data=None), name: str = '__root__', modify_registry: bool = True) -> Dict[str, Any]
Load schema data, resolve any un-loaded schema directories.

Methods inherited from datazen.environment.template.TemplateEnvironment:
add_template_dirs(self, dir_paths: List[str], rel_path: str = '.', name: str = '__root__', allow_dup: bool = False) -> int
Add template directories, return the number of directories added.
load_templates(self, template_loads: datazen.load.LoadedFiles = LoadedFiles(files=None, file_data=None), name: str = '__root__') -> Dict[str, jinja2.environment.Template]
Load templates, resolve any un-loaded template directories.

Methods inherited from datazen.environment.base.BaseEnvironment:
add_dir(self, dir_type: datazen.enums.DataType, dir_path: str, rel_path: str = '.', name: str = '__root__', allow_dup: bool = False) -> bool
Proxy for add_dir for a namespace.
add_dirs(self, dir_type: datazen.enums.DataType, dir_paths: List[str], rel_path: str = '.', name: str = '__root__', allow_dup: bool = False) -> int
Proxy for add_dirs for a namespace.
add_namespace(self, name: str, clone_root: bool = True) -> None
Add a new namespace, optionally clone from the existing root.
get_data(self, dir_type: datazen.enums.DataType, name: str = '__root__') -> Dict[str, Any]
Get the raw data for a directory type from a namespace.
get_namespace(self, key_name: str, target: str, target_data: Dict[str, Any]) -> str
Determine the namespace that a target should use, in general they
all should be unique unless they don't load anything new.
get_to_load(self, dir_type: datazen.enums.DataType, name: str = '__root__') -> List[Union[pathlib.Path, str, NoneType]]
Proxy for a namespace's get_to_load.
get_valid(self, name: str = '__root__') -> bool
Get the 'valid' flag for a namespace.
set_valid(self, value: bool, name: str = '__root__') -> None
Set the 'valid' flag for a namespace.
unload_all(self, name: str = '__root__') -> None
Unload all of the directories for a namespace.
update_load_state(self, dir_type: datazen.enums.DataType, to_load: List[Union[pathlib.Path, str, NoneType]], name: str = '__root__') -> int
Proxy for update_load_state for a namespace.

Data descriptors inherited from datazen.environment.base.BaseEnvironment:
__dict__
dictionary for instance variables
__weakref__
list of weak references to the object

 
Functions
       
get_manifest_schema(require_all: bool = True, cls: Type[vcorelib.schemas.base.Schema] = <class 'vcorelib.schemas.CerberusSchema'>) -> vcorelib.schemas.base.Schema
Load the schema for manifest from the package.
get_output_dir(data: Dict[str, Any], rel_path: str, default: str = 'datazen-out') -> str
Get the resolved output directory based on a dictionary containing
target data.
set_output_dir(data: Dict[str, Any], rel_path: str, default: str = 'datazen-out') -> None
Set the 'output_dir' key correctly on a dictionary.
update_path_relativity(path_strs: List[str], rel_path: str) -> None
For a list of paths, if paths aren't absolute, apply the provided relative
path to the beginning of the path.
validate_manifest(manifest: Dict[str, Any], logger: logging.Logger = <Logger datazen.environment.manifest (WARNING)>) -> bool
Validate manifest data against the package schema.

 
Data
        DEFAULT_DIR = 'datazen-out'
GenericDict = typing.Dict[typing.Any, typing.Any]
GenericStrDict = typing.Dict[str, typing.Any]
LOG = <Logger datazen.environment.manifest (WARNING)>
List = typing.List
PKG_NAME = 'datazen'
ROOT_NAMESPACE = '__root__'
Tuple = typing.Tuple
Type = typing.Type