tinyconf package¶
Submodules¶
tinyconf.deserializers module¶
-
class
tinyconf.deserializers.Deserializer¶ Bases:
objectBase class for deserializers
-
class
tinyconf.deserializers.IniDeserializer(*args, file: Optional[io.IOBase] = None, filename: Optional[str] = None, string: str = '', section: Optional[str] = None, **kwargs)¶ Bases:
tinyconf.deserializers.DeserializerClass representing a deserializer for an INI file.
Parameters: - *args – All unnamed arguments are passed to the underlying
ConfigParser - filename (Optional[
str]) – Load a file object by name as a config file - file (Optional[
IOBase]) – Load a file object as a config file. Please note- the file will not be automatically closed. - string (Optional[
str]) – Load a string as a config file - section (Optional[
str]) – Which section should be loaded. Default isNone. IfNone, will load sections based ontinyconf.section.Sectionobjects within model. - **kwargs – All other named arguments are passed to the underlying
ConfigParser
- *args – All unnamed arguments are passed to the underlying
-
class
tinyconf.deserializers.EnvDeserializer(*args, **kwargs)¶ Bases:
tinyconf.deserializers.DeserializerDeserializes from the operating system environment variables
tinyconf.fields module¶
-
class
tinyconf.fields.Field(name: Optional[str] = None, *, strict: bool = False, default: Any = None, **kwargs)¶ Bases:
objectField type that deserializes directly into a
strParameters: - name (Optional[
str]) – The name of the field within the config. If not provided, uses the attribute name from within theDeserializer - strict (
bool) – Whether the field is strictly required. Defauls toFalseWill cause deserialization to raiseMissingFieldDataif an item is missing - default – Specify a default value if the config doesn’t specify a value, or the value specified fails validation.
-
valid¶ If the field data is valid
Type: bool
-
name¶ The name of the field (if specified)
-
exception
MissingFieldData¶ Bases:
ExceptionException for when a field marked as strict is set as
None
-
value¶ Used during deserialization
-
validate()¶ Used during deserialization to determine if there are any issues with a field’s contents
- name (Optional[
-
class
tinyconf.fields.IntegerField(name: Optional[str] = None, *, strict: bool = False, default: Any = None, **kwargs)¶ Bases:
tinyconf.fields.FieldField derivative that deserializes an integer
-
exception
InvalidInteger¶ Bases:
ExceptionException raised when the field contents are not a valid integer
-
exception
-
class
tinyconf.fields.FloatField(name: Optional[str] = None, *, strict: bool = False, default: Any = None, **kwargs)¶ Bases:
tinyconf.fields.FieldField derivative that deserializes a floating point value
-
exception
InvalidFloat¶ Bases:
ExceptionException raised when the field contents are not a valid float
-
exception
-
class
tinyconf.fields.BooleanField(name: Optional[str] = None, *, strict: bool = False, default: Any = None, **kwargs)¶ Bases:
tinyconf.fields.FieldField derivative that deserializes some sort of boolean value
Parameters: comparators (List[ str]) – Specifies what the value should be compared with. Defaults to [‘1’, ‘y’, ‘yes’, ‘t’, ‘true’]
-
class
tinyconf.fields.ListField(name: Optional[str] = None, *, strict: bool = False, default: Any = None, **kwargs)¶ Bases:
tinyconf.fields.FieldField derivative that deserializes a list value
Parameters: - delimiter (
str) – Specifies the list delimiter. Defaults to"," - filter (Optional[
FunctionType]) – Specifies a filtering function to be applied to the contents. Defaultlambda x: True - map (Optional[
FunctionType]) – Specifies a function to map across every element. Defaultlambda x: x
- delimiter (
tinyconf.section module¶
-
class
tinyconf.section.Section(*args, name: Optional[str] = None)¶ Bases:
objectSections help to tell the models where config options can be found within INI files.
Parameters: - name (Optional[
str]:) – The name of the section. Defaults to the attribute name. - * – All other attributes should be the fields belonging to the section.
Example:
class Config(IniDeserializer): token = IntegerField() username = Field() username_mysql = Field(name='username') passwd = Field() host = Field() client = Field() DEFAULT = Section(token, username) MYSQL = Section(username_mysql, passwd, host) PASSMARK = Section(client) config = Config(string=''' [DEFAULT] token = 1234 username = hello [MYSQL] username = jude passwd = 12345 ;host = j.net [PASSMARK] client = fred''')
- name (Optional[