Metadata Module

Program metadata introspection for use in usage, help text, and documentation.

author:

Doug Skrypa

class cli_command_parser.metadata.MetadataBase(inheritable: bool = True)[source]

Bases: Generic[_T]

inheritable
get_value(instance: ProgramMetadata)[source]
name
class cli_command_parser.metadata.Metadata(default: _T, inheritable: bool = True)[source]

Bases: MetadataBase[_T]

default
get_value(instance: ProgramMetadata) _T[source]
class cli_command_parser.metadata.DynamicMetadata(func: Callable[[ProgramMetadata], _T], inheritable: bool = True)[source]

Bases: MetadataBase[_T]

func
get_value(instance: ProgramMetadata) _T[source]
cli_command_parser.metadata.dynamic_metadata(func=None, *, inheritable: bool = True)[source]
class cli_command_parser.metadata.ProgramMetadata(**kwargs)[source]

Bases: object

parent: ProgramMetadata | None = None
distribution: Metadata[Distribution | None]
path: Metadata[Path | None]
package: Metadata[str | None]
module: Metadata[str | None]
cmd_module: Metadata[str | None]
command: Metadata[str | None]
usage: Metadata[str | None]
description: Metadata[str | None]
epilog: Metadata[str | None]
doc_str: Metadata[str]
pkg_doc_str: Metadata[str]
classmethod for_command(command: CommandMeta, *, parent: ProgramMetadata | None = None, path: Path | None = None, prog: str | None = None, url: str | None = None, docs_url: str | None = None, email: str | None = None, version: str | None = None, usage: str | None = None, description: str | None = None, epilog: str | None = None, doc_name: str | None = None) ProgramMetadata[source]
prog[source]
get_prog(allow_sys_argv: Bool = None) str[source]
doc_name[source]
version[source]
email[source]
url[source]
docs_url[source]
format_epilog(extended: Bool = True, allow_sys_argv: Bool = None) str[source]
get_doc_str(strip: Bool = True) OptStr[source]
get_description(allow_inherited: Bool = True) OptStr[source]
class cli_command_parser.metadata.ProgFinder[source]

Bases: object

property mod_obj_prog_map: dict[str, dict[str, str]][source]
normalize(cmd_path: Path, parent: ProgramMetadata | None, allow_sys_argv: Bool, cmd_module: str, cmd_name: str) tuple[str, str][source]
class cli_command_parser.metadata.DistributionFinder[source]

Bases: object

dist_for_pkg(pkg_name: str) Distribution | None[source]
dist_for_obj(obj) Distribution | None[source]
get_urls(dist: Distribution) dict[str, str][source]