extended_data.containers.strings

Extended string container built on Tier 1 primitives.

Module Contents

Classes

ExtendedString

String wrapper with chainable primitive operations.

Functions

_coerce_string_argument

Coerce stdlib user strings while preserving normal str errors elsewhere.

API

extended_data.containers.strings._coerce_string_argument(value: str | collections.UserString) str

Coerce stdlib user strings while preserving normal str errors elsewhere.

class extended_data.containers.strings.ExtendedString(seq: object = '')

Bases: collections.UserString, extended_data.containers.data.ExtendedData

String wrapper with chainable primitive operations.

Initialization

Initialize the extended string.

lower_first() extended_data.containers.strings.ExtendedString

Return a copy with the first character lowercased.

upper_first() extended_data.containers.strings.ExtendedString

Return a copy with the first character uppercased.

remove_prefix(prefix: str) extended_data.containers.strings.ExtendedString

Return a copy with a leading prefix removed.

remove_suffix(suffix: str) extended_data.containers.strings.ExtendedString

Return a copy with a trailing suffix removed.

sanitize(delim: str = '_') extended_data.containers.strings.ExtendedString

Return a key-safe copy.

truncate(max_length: int, ender: str = '...') extended_data.containers.strings.ExtendedString

Return a truncated copy.

titleize_name() extended_data.containers.strings.ExtendedString

Return a titleized name copy.

to_snake_case() extended_data.containers.strings.ExtendedString

Return a snake_case copy.

to_camel_case(*, uppercase_first: bool = False) extended_data.containers.strings.ExtendedString

Return a camelCase copy.

to_pascal_case() extended_data.containers.strings.ExtendedString

Return a PascalCase copy.

to_kebab_case() extended_data.containers.strings.ExtendedString

Return a kebab-case copy.

pluralize() extended_data.containers.strings.ExtendedString

Return a pluralized copy.

singularize() extended_data.containers.strings.ExtendedString

Return a singularized copy.

humanize() extended_data.containers.strings.ExtendedString

Return a human-readable copy.

titleize() extended_data.containers.strings.ExtendedString

Return a title-case copy.

ordinalize() extended_data.containers.strings.ExtendedString

Return an ordinalized copy.

format(*args: object, **kwargs: object) extended_data.containers.strings.ExtendedString

Format values into an extended string.

format_map(mapping: collections.abc.Mapping[str, object]) extended_data.containers.strings.ExtendedString

Format mapping values into an extended string.

split(sep: str | collections.UserString | None = None, maxsplit: int = -1) extended_data.containers.sequences.ExtendedList[extended_data.containers.strings.ExtendedString]

Split into extended string parts.

rsplit(sep: str | collections.UserString | None = None, maxsplit: int = -1) extended_data.containers.sequences.ExtendedList[extended_data.containers.strings.ExtendedString]

Split from the right into extended string parts.

splitlines(keepends: bool = False) extended_data.containers.sequences.ExtendedList[extended_data.containers.strings.ExtendedString]

Split lines into extended string parts.

partition(sep: str | collections.UserString) extended_data.containers.sequences.ExtendedTuple[extended_data.containers.strings.ExtendedString]

Partition into extended string parts.

rpartition(sep: str | collections.UserString) extended_data.containers.sequences.ExtendedTuple[extended_data.containers.strings.ExtendedString]

Partition from the right into extended string parts.

join(seq: collections.abc.Iterable[str | collections.UserString]) extended_data.containers.strings.ExtendedString

Join string-like values into an extended string.

is_partial_match(other: str | None, *, check_prefix_only: bool = False) bool

Return whether this string partially matches another string.

is_non_empty_match(other: object) bool

Return whether this string matches another non-empty string value.

is_url() bool

Return whether the string is a URL.

to_bool(*, raise_on_error: bool = False) bool | None

Return a boolean parsed from the string.

to_float(*, raise_on_error: bool = False) float | None

Return a float parsed from the string.

to_int(*, raise_on_error: bool = False) int | None

Return an integer parsed from the string.

to_path(*, raise_on_error: bool = False) pathlib.Path | None

Return a path parsed from the string.

to_date(*, raise_on_error: bool = False) datetime.date | None

Return a date parsed from the string.

to_datetime(*, raise_on_error: bool = False) datetime.datetime | None

Return a datetime parsed from the string.

to_time(*, raise_on_error: bool = False) datetime.time | None

Return a time parsed from the string.

reconstruct_special_type(*, fail_silently: bool = False) object

Return the string reconstructed as a known scalar or structured value.

decode_json(*, as_extended: bool = True) Any

Decode this JSON string, promoting structured values by default.

decode_yaml(*, as_extended: bool = True) Any

Decode this YAML string, promoting structured values by default.

decode_toml(*, as_extended: bool = True) Any

Decode this TOML string, promoting structured values by default.

decode_hcl2(*, as_extended: bool = True) Any

Decode this HCL2 string, promoting structured values by default.

encode_base64(*, wrap_raw_data: bool = True) extended_data.containers.strings.ExtendedString

Return this string encoded as Base64.

decode_base64(unwrap_raw_data: bool = True, encoding: str = 'yaml', *, as_extended: bool = True) Any

Decode this Base64 string, promoting structured values by default.

to_export_safe(*, export_to_yaml: bool = False) Any

Return this value converted to export-safe primitive data.

wrap_for_export(allow_encoding: bool | str = True, **format_opts: Any) str

Return this value wrapped as an encoded export string.