params-proto

v2 · Configuration

Legacy v2 ParamsProto classes, typed values, flags, and argument handling.

These compatibility APIs ship with the selected source version. See the compatibility overview for other v1/v2 APIs, or migration when upgrading.

API index

NameKindDefined in
Protoclassparams_proto.v2.proto
Flagclassparams_proto.v2.proto
Accumulantclassparams_proto.v2.proto
StrTypeclassparams_proto.v2.proto
Evalclassparams_proto.v2.proto
is_privatefunctionparams_proto.v2.proto
get_childrenfunctionparams_proto.v2.proto
Metaclassparams_proto.v2.proto
ArgFactoryclassparams_proto.v2.proto
ParamsProtoclassparams_proto.v2.proto
find_ancestorsfunctionparams_proto.v2.proto
PrefixProtoclassparams_proto.v2.proto
is_subclassfunctionparams_proto.v2.proto
is_base_classfunctionparams_proto.v2.proto
updatefunctionparams_proto.v2.proto
ARGSsingletonparams_proto.v2.proto

params_proto.v2

Public imports

These symbols are available from this module. Their definitions are documented in the linked modules.

  • all_availableparams_proto.parse_env_template.all_available
  • dot_to_depsparams_proto.v2.utils.dot_to_deps
  • Protoparams_proto.v2.proto.Proto
  • Flagparams_proto.v2.proto.Flag
  • Accumulantparams_proto.v2.proto.Accumulant
  • StrTypeparams_proto.v2.proto.StrType
  • Evalparams_proto.v2.proto.Eval
  • is_privateparams_proto.v2.proto.is_private
  • get_childrenparams_proto.v2.proto.get_children
  • Metaparams_proto.v2.proto.Meta
  • ArgFactoryparams_proto.v2.proto.ArgFactory
  • ParamsProtoparams_proto.v2.proto.ParamsProto
  • find_ancestorsparams_proto.v2.proto.find_ancestors
  • PrefixProtoparams_proto.v2.proto.PrefixProto
  • is_subclassparams_proto.v2.proto.is_subclass
  • is_base_classparams_proto.v2.proto.is_base_class
  • updateparams_proto.v2.proto.update
  • ARGSparams_proto.v2.proto.ARGS
  • read_depsparams_proto.v2.utils.read_deps

params_proto.v2.proto

Proto

classparams_proto.v2.proto.ProtoSource ↗
Proto(default = None, help = None, dtype = None, metavar = '\x08', env = None, strict_parsing = False, **kwargs)

Bases: SimpleNamespace

ParameterType / defaultDescription
default
= None
help
= None
dtype
= None
metavar
= '\x08'
env
= None
the environment variable for the default value -- in the next version could be set automatically from the prefix of the class.
strict_parsing
= False
default to False, when true raises error for env var that are not set. this is passed onto the expandvars function as nounset.
**kwargs
variadic
NameType / valueDescription
defaultNone
helpNone
dtypeNone

Proto.__init__

methodparams_proto.v2.proto.Proto.__init__Source ↗
Proto.__init__(default = None, help = None, dtype = None, metavar = '\x08', env = None, strict_parsing = False, **kwargs)

The proto object. The env attribute allows one to set the environment variable from which this proto reads value from.

ParameterType / defaultDescription
default
= None
help
= None
dtype
= None
metavar
= '\x08'
env
= None
the environment variable for the default value -- in the next version could be set automatically from the prefix of the class.
strict_parsing
= False
default to False, when true raises error for env var that are not set. this is passed onto the expandvars function as nounset.
**kwargs
variadic

Proto.value

propertyparams_proto.v2.proto.Proto.valueSource ↗
Proto.value

Writable property

Flag

classparams_proto.v2.proto.FlagSource ↗
Flag(help = None, to_value = True, default = None, dtype = None, **kwargs)

Bases: Proto

ParameterType / defaultDescription
help
= None
to_value
= True
default
= None
dtype
= None
**kwargs
variadic

Flag.__init__

methodparams_proto.v2.proto.Flag.__init__Source ↗
Flag.__init__(help = None, to_value = True, default = None, dtype = None, **kwargs)
ParameterType / defaultDescription
help
= None
to_value
= True
default
= None
dtype
= None
**kwargs
variadic

Accumulant

classparams_proto.v2.proto.AccumulantSource ↗
Accumulant(*args, **kwargs)

Bases: Proto

used by neo_hyper to avoid reset.

ParameterType / defaultDescription
*args
variadic
**kwargs
variadic
NameType / valueDescription
accumulantTrue

Accumulant.__init__

methodparams_proto.v2.proto.Accumulant.__init__Source ↗
Accumulant.__init__(*args, **kwargs)
ParameterType / defaultDescription
*args
variadic
**kwargs
variadic

StrType

classparams_proto.v2.proto.StrTypeSource ↗
class StrType(type)

Bases: type

NameType / valueDescription
thunkNone
helpNone

Eval

classparams_proto.v2.proto.EvalSource ↗
Eval(default, help = None, **kwargs)

Bases: Proto

ParameterType / defaultDescription
default
required
help
= None
**kwargs
variadic
NameType / valueDescription
thunkNone

Eval.__init__

methodparams_proto.v2.proto.Eval.__init__Source ↗
Eval.__init__(default, help = None, **kwargs)
ParameterType / defaultDescription
default
required
help
= None
**kwargs
variadic

is_private

functionparams_proto.v2.proto.is_privateSource ↗
is_private(k: str) → bool

Filter Private Attributes.

Returns True if key equals "prefix", or starts with "__" or "<ParentClass>_"

ParameterType / defaultDescription
kstr
required
<str> the key to be tested.

bool

get_children

functionparams_proto.v2.proto.get_childrenSource ↗
get_children(__init__)

decorator to parse the dependencies into current scope, using the cls._prefix attribute of the namespace.

Allows one to use _prefix to override to original class._prefix

ParameterType / defaultDescription
__init__
required

Meta

classparams_proto.v2.proto.MetaSource ↗
Meta(name, bases, namespace, cli = True, cli_parse = True, **kwargs)

Bases: type

ParameterType / defaultDescription
name
required
bases
required
namespace
required
cli
= True
cli_parse
= True
**kwargs
variadic

Meta.__init__

methodparams_proto.v2.proto.Meta.__init__Source ↗
Meta.__init__(name, bases, namespace, cli = True, cli_parse = True, **kwargs)
ParameterType / defaultDescription
name
required
bases
required
namespace
required
cli
= True
cli_parse
= True
**kwargs
variadic

ArgFactory

classparams_proto.v2.proto.ArgFactorySource ↗
ArgFactory()

The reason we do not inherit from argparse, is because the argument group returns new instances, so unless we patch those classes as well, we will not be able to intercept these calls. (I tried that first.)

For this reason we implement this as a funciton, with a stateful context.

NameType / valueDescription
groupsdefaultdict(lambda: None)
last_groupNone
clear__init__

ArgFactory.__init__

methodparams_proto.v2.proto.ArgFactory.__init__Source ↗
ArgFactory.__init__()

ArgFactory.add_argument

methodparams_proto.v2.proto.ArgFactory.add_argumentSource ↗
ArgFactory.add_argument(proto, key, *name_or_flags, _argument_group = None, default = None, dtype = None, to_value = None, **kwargs)
ParameterType / defaultDescription
proto
required
key
required
*name_or_flags
variadic
_argument_group
= None
Keyword-only parameter.
default
= None
Keyword-only parameter.
dtype
= None
Keyword-only parameter.
to_value
= None
Keyword-only parameter.
**kwargs
variadic

ArgFactory.add_argument_group

methodparams_proto.v2.proto.ArgFactory.add_argument_groupSource ↗
ArgFactory.add_argument_group(name, description)
ParameterType / defaultDescription
name
required
description
required

ArgFactory.parse_args

methodparams_proto.v2.proto.ArgFactory.parse_argsSource ↗
ArgFactory.parse_args(*args)
ParameterType / defaultDescription
*args
variadic

ParamsProto

classparams_proto.v2.proto.ParamsProtoSource ↗
ParamsProto(_deps = None, _prefix = None, **children)

Bases: Bear

ParameterType / defaultDescription
_deps
= None
_prefix
= None
**children
variadic

ParamsProto.__init__

methodparams_proto.v2.proto.ParamsProto.__init__Source ↗
ParamsProto.__init__(_deps = None, _prefix = None, **children)

default init function, called after new.

ParameterType / defaultDescription
_deps
= None
_prefix
= None
**children
variadic

find_ancestors

functionparams_proto.v2.proto.find_ancestorsSource ↗
find_ancestors(cls)

Find all ancestors of a class.

Returns:

ParameterType / defaultDescription
cls
required

PrefixProto

classparams_proto.v2.proto.PrefixProtoSource ↗
class PrefixProto(ParamsProto)

Bases: ParamsProto

A ParamsProto class with prefix set to True.

Since we override the init_subclass method, the returned classes instance is still a ParamsProto class. NOT a PrefixProto class.

is_subclass

functionparams_proto.v2.proto.is_subclassSource ↗
is_subclass(cls, *, ancestors = (ParamsProto, PrefixProto), extra = tuple())
ParameterType / defaultDescription
cls
required
ancestors
= (ParamsProto, PrefixProto)
Keyword-only parameter.
extra
= tuple()
Keyword-only parameter.

is_base_class

functionparams_proto.v2.proto.is_base_classSource ↗
is_base_class(cls, extra = tuple())

Check if a class is a base class of ParamsProto.

Returns:

ParameterType / defaultDescription
cls
required
extra
= tuple()

update

functionparams_proto.v2.proto.updateSource ↗
update(Config: Union[type, Meta, ParamsProto], override)

Update a ParamsProto namespace, or instance

by the override dictionary. Note the dictionary is dot.separated

dot-keys are not yet implemented.

Returns:

ParameterType / defaultDescription
ConfigUnion[type, Meta, ParamsProto]
required
override
required

ARGS

callable singletonparams_proto.v2.proto.ARGSSource ↗
ARGS = ArgFactory()

The reason we do not inherit from argparse, is because the argument group returns new instances, so unless we patch those classes as well, we will not be able to intercept these calls. (I tried that first.)

For this reason we implement this as a funciton, with a stateful context.

NameType / valueDescription
groupsdefaultdict(lambda: None)
last_groupNone
clear__init__

ARGS.__init__

methodparams_proto.v2.proto.ARGS.__init__Source ↗
ARGS.__init__()

ARGS.add_argument

methodparams_proto.v2.proto.ARGS.add_argumentSource ↗
ARGS.add_argument(proto, key, *name_or_flags, _argument_group = None, default = None, dtype = None, to_value = None, **kwargs)
ParameterType / defaultDescription
proto
required
key
required
*name_or_flags
variadic
_argument_group
= None
Keyword-only parameter.
default
= None
Keyword-only parameter.
dtype
= None
Keyword-only parameter.
to_value
= None
Keyword-only parameter.
**kwargs
variadic

ARGS.add_argument_group

methodparams_proto.v2.proto.ARGS.add_argument_groupSource ↗
ARGS.add_argument_group(name, description)
ParameterType / defaultDescription
name
required
description
required

ARGS.parse_args

methodparams_proto.v2.proto.ARGS.parse_argsSource ↗
ARGS.parse_args(*args)
ParameterType / defaultDescription
*args
variadic

Public imports

These symbols are available from this module. Their definitions are documented in the linked modules.