Skip to content

Types

clo.types

General types

clo.types.Logic module-attribute

Logic = Literal['&', '|', '!']

Logical operators used with Domains:

  • &: A logical AND to place before two or more domains (arity 2).
  • |: A logical OR, placed before two or more domains (arity 2).
  • !: A logical OR to place before a signle domain (arity 1).

clo.types.Env

Bases: Enum

A collection of possible environment variables. All members in this Enum assume the following:

  • The .name represents the variable (prefix with CLO_) one would export in their shell.
  • The .value represents the long-flag (prefix with --) one would specify in their command.

clo.types.Env.CONF class-attribute instance-attribute

CONF = '.clorc'

NOTE: This is a special member and is not recognized as an environment variable or a flag.

The default environment file. clo will fallback to any vairables declared in this file, barring they're explicitly set from the command-line. Empty declarations are ignored.

clo.types.Env.INSTANCE class-attribute instance-attribute

INSTANCE = 'instance'

The application database to perform operations on. Equivalent to --database.

clo.types.Env.DATABASE class-attribute instance-attribute

DATABASE = 'database'

The application database to perform operations on. Equivalent to --database.

clo.types.Env.USERNAME class-attribute instance-attribute

USERNAME = 'username'

The user to perform operations as. Equivalent to --user.

clo.types.Env.PASSWORD class-attribute instance-attribute

PASSWORD = 'password'

The user's password. There is no command-line equivalent.

clo.types.Env.OUT class-attribute instance-attribute

OUT = 'out'

Where to stream the output. Equivalent to --out.

clo.types.Env.LOG class-attribute instance-attribute

LOG = 'log'

The level of logs to produce. Equivalent to --log.

clo.types.Env.get

get(__default=None)

Retrieve the environment variable value of a member.

PARAMETER DESCRIPTION
__default

A value to use if none is found in the environment.

TYPE: str | None DEFAULT: None

RETURNS DESCRIPTION
str

The environment variable value

TYPE: str

clo.types.Env.at classmethod

at(value)

Retrieve the member who holds the specified member value.

PARAMETER DESCRIPTION
value

The member value to match.

TYPE: str

RETURNS DESCRIPTION
Env

Env | None: The matching member, if found.

clo.types.Domain

Bases: NamedTuple

Criterion to filter the search by.

clo.types.Domain.field instance-attribute

field

The name of the field to match.

clo.types.Domain.operator instance-attribute

operator

A comparison operator.

clo.types.Domain.value instance-attribute

value

The value to compare.

clo.types.Secret

Secret(seq)

Bases: UserString

A string to hold secret values, but obsfucates when printed.

clo.types.AskProperty

AskProperty(prompt=None, env=None, default='', *, secret=False)

A decorator which provides a property that offers multiple methods to acquire an attribute.

In the event none is explicitly set at the time of retrieval:

  1. Via an optional environment vairable, or
  2. Promopting input from the user.
PARAMETER DESCRIPTION
prompt

The prompt to use when asking a use ofr input. If none is given, a generic prompt is generated.

TYPE: str DEFAULT: None

env

An environment variable to lookup before prompting.

TYPE: Env DEFAULT: None

default

A value to default to if all attempts fail.

TYPE: str DEFAULT: ''

secret

If True, the prompt expects secret input.

TYPE: bool DEFAULT: False

RETURNS DESCRIPTION
AskProperty

A property object.