rcmpy.state
index
/home/vkottler/src/vkottler/workspace/rcmpy/rcmpy/state/__init__.py

A module implementing this package's stateful information that persists across
invocations.

 
Package Contents
       

 
Classes
       
rcmpy.schemas.RcmpyDictCodec(vcorelib.dict.codec.DictCodec)
State

 
class State(rcmpy.schemas.RcmpyDictCodec)
    State(data: Dict[str, Union[str, int, float, bool, NoneType, Dict[str, Union[str, int, float, bool, NoneType]], List[Union[str, int, float, bool, NoneType]]]] = None, schemas: vcorelib.schemas.base.SchemaMap = None, dest_attr: str = 'data', verify: bool = True) -> None
 
The top-level configuration object for the package.
 
 
Method resolution order:
State
rcmpy.schemas.RcmpyDictCodec
vcorelib.dict.codec.DictCodec
vcorelib.dict.codec.JsonCodec
abc.ABC
vcorelib.schemas.mixins.SchemaMixin
builtins.object

Methods defined here:
asdict(self) -> Dict[str, Union[str, int, float, bool, NoneType, Dict[str, Union[str, int, float, bool, NoneType]], List[Union[str, int, float, bool, NoneType]]]]
Obtain a dictionary representing this instance.
init(self, data: Dict[str, Union[str, int, float, bool, NoneType, Dict[str, Union[str, int, float, bool, NoneType]], List[Union[str, int, float, bool, NoneType]]]]) -> None
Perform implementation-specific initialization.
is_new(self) -> bool
Determine if state has changed.
root_directories(self, subdir: str, common_first: bool = True) -> List[pathlib.Path]
Get up to a pair of directories from some sub-directory of the current
root.
set_directory(self, path: Union[pathlib.Path, str, NoneType]) -> None
Set a new directory to use as the data repository.
set_variant(self, variant: str = None) -> None
Set a new variant value.
update_manifest(self, data: Dict[str, Any]) -> None
Set new manifest data.

Data and other attributes defined here:
__abstractmethods__ = frozenset()
__annotations__ = {'configs_new': <class 'bool'>, 'directory': <class 'pathlib.Path'>, 'manifest': typing.Dict[str, typing.Any], 'manifest_new': <class 'bool'>, 'variables_new': <class 'bool'>, 'variant': <class 'str'>}

Data and other attributes inherited from rcmpy.schemas.RcmpyDictCodec:
default_schemas = {'Config': <vcorelib.schemas.json.JsonSchema obj...chemas.json.JsonSchema object at 0x7efeb648c230>}

Methods inherited from vcorelib.dict.codec.DictCodec:
__init__(self, data: Dict[str, Union[str, int, float, bool, NoneType, Dict[str, Union[str, int, float, bool, NoneType]], List[Union[str, int, float, bool, NoneType]]]] = None, schemas: vcorelib.schemas.base.SchemaMap = None, dest_attr: str = 'data', verify: bool = True) -> None
Initialize this instance.

Class methods inherited from vcorelib.dict.codec.DictCodec:
create(data: Dict[str, Union[str, int, float, bool, NoneType, Dict[str, Union[str, int, float, bool, NoneType]], List[Union[str, int, float, bool, NoneType]]]] = None, schemas: vcorelib.schemas.base.SchemaMap = None, dest_attr: str = 'data', verify: bool = True) -> ~V from abc.ABCMeta
A factory method to create an instance.

Methods inherited from vcorelib.dict.codec.JsonCodec:
__copy__(self: ~T) -> ~T
Create another instance based on this instance's data.
__eq__(self, other) -> bool
Determine if this instance is equal to another.
__str__(self) -> str
Use the dictionary representation of this instance for string
representation.
encode(self, pathlike: Union[pathlib.Path, str, NoneType], arbiter: vcorelib.io.arbiter.DataArbiter = <vcorelib.io.arbiter.DataArbiter object at 0x7efeb6391670>, **kwargs) -> Tuple[bool, int]
Encode this object instance to a file.

Class methods inherited from vcorelib.dict.codec.JsonCodec:
decode(pathlike: Union[pathlib.Path, str, NoneType], arbiter: vcorelib.io.arbiter.DataArbiter = <vcorelib.io.arbiter.DataArbiter object at 0x7efeb6391670>, schemas: vcorelib.schemas.base.SchemaMap = None, dest_attr: str = 'data', verify: bool = True, require_success: bool = True, default_data: Dict[str, Union[str, int, float, bool, NoneType, Dict[str, Union[str, int, float, bool, NoneType]], List[Union[str, int, float, bool, NoneType]]]] = None, **kwargs) -> ~T from abc.ABCMeta
Decode an object instance from data loaded from a file.
file_cache(pathlike: Union[pathlib.Path, str, NoneType], arbiter: vcorelib.io.arbiter.DataArbiter = <vcorelib.io.arbiter.DataArbiter object at 0x7efeb6391670>, encode_kwargs: Dict[str, Any] = None, require_success: bool = False, **kwargs) -> Iterator[~T] from abc.ABCMeta
Manage an instance of this class as a disk-backed file.
normalize(data: Union[Dict[str, Union[str, int, float, bool, NoneType, Dict[str, Union[str, int, float, bool, NoneType]], List[Union[str, int, float, bool, NoneType]]]], ~T]) -> ~T from abc.ABCMeta
Ensure that some object is an instance of this class.

Data descriptors inherited from vcorelib.dict.codec.JsonCodec:
__dict__
dictionary for instance variables
__weakref__
list of weak references to the object

Data and other attributes inherited from vcorelib.dict.codec.JsonCodec:
__hash__ = None

Methods inherited from vcorelib.schemas.mixins.SchemaMixin:
validate(self, valid_attr: str = 'data') -> None
Validate an instance attribute based on this instance's schema.

Class methods inherited from vcorelib.schemas.mixins.SchemaMixin:
schema_name() -> str from abc.ABCMeta
A default name for this class's schema.

 
Functions
       
load_state(root: Union[pathlib.Path, str, NoneType] = None, name: str = 'state.json') -> Iterator[rcmpy.state.State]
This needs to be a context manager, so it get's written back to disk.

 
Data
        ARBITER = <vcorelib.io.arbiter.DataArbiter object>
DataStream = typing.Union[typing.TextIO, _io.StringIO]
Dict = typing.Dict
Iterator = typing.Iterator
LOG = <Logger rcmpy.state (WARNING)>
List = typing.List
Pathlike = typing.Union[pathlib.Path, str, NoneType]