stratified_packager.processing.params

Parameter declarations, typed contracts and the shared default resolver (SPEC §3/§5).

One table (PARAM_SPECS) drives everything: parameter declaration (with defaultValue computed through the resolution chain at declaration time, so the Processing dialog shows the effective value), the project-variable naming rule (input Xstratified_packager_<x_lower>), and the runtime fallback for omitted parameters. Resolution precedence per input: explicit input > project variable > plugin setting > builtin default.

Enum-valued parameters use static string tokens (usesStaticStrings), so the same tokens flow through qgis_process arguments, project variables and plugin settings (SPEC §3 persists tokens, never indices).

Module Attributes

VARIABLE_PREFIX

Prefix of every project/layer variable owned by this plugin.

LAYER_VAR_SPECS

The §4 layer variables in GUI display order — the single source the field tables, the all-layers dialog and the algorithm help build from (a new variable auto-appears in all).

LAYER_VARIABLE_DEFAULTS

Builtin defaults of the §4 layer variables, keyed by full variable name (a derived view of LAYER_VAR_SPECS).

LAYER_VARIABLE_PROPERTY_KEYS

Custom-property keys that backing-store layer variables write.

NAMED_SPATIAL_PREDICATES

The named spatial_predicate tokens, in display order, each mapping 1:1 onto a QGIS expression function (SPEC §4).

DE9IM_PATTERN

Valid DE-9IM intersection-matrix patterns (SPEC §4): nine characters of [TF012*].

STYLE_CATEGORY_OPTIONS

The single-bit StyleCategory flags, in QGIS bit order, as offered by the layer-tree Copy Style menu (the All* combinations are excluded).

STYLE_CATEGORY_TOKENS

Every style-category token in canonical (bit) order.

DEFAULT_STYLE_CATEGORIES

Builtin STYLE_CATEGORIES default: every category (SPEC §3).

DEFAULT_STAGE_PROVIDERS

Builtin STAGE_PROVIDERS default: no provider is staged implicitly (SPEC §3/§8.2).

PARAM_SPECS

Every input of SPEC §3, keyed by id, in declaration order.

Functions

declare_outputs(algorithm)

Declare the SPEC §3 outputs on algorithm.

declare_parameters(algorithm, *[, project, ...])

Declare every SPEC §3 input on algorithm, defaults pre-resolved (SPEC §5).

eligible_layer_ids(project, /, *[, strict])

Return the layers an empty LAYERS input resolves to (SPEC §4/§5).

is_omitted(parameters, name, /)

Report whether an input was omitted (absent or None) by the caller.

provider_keys()

List the data-provider keys the STAGE_PROVIDERS multi-select offers.

resolve_default(name, *[, project, ...])

Resolve the effective default of one input: project variable > setting > builtin.

style_categories_flags(tokens, /)

OR the selected style-category tokens into a flag set (SPEC §8.1).

translated_label(name, /)

Return an input's translated user-facing label.

variable_name(param, /)

Map an input id to its project variable name (SPEC §3 naming rule).

Classes

InputReader(algorithm, parameters, context, ...)

Reads single inputs through the §5 chain: explicit > variable > setting > builtin.

LayerVarSpec(name, default, label, description)

One §4 layer variable: the single source of its name, default and user-facing text.

MatchingMethod(*values)

stratified_packager_matching_method tokens (SPEC §4).

OverwriteMode(*values)

OVERWRITE_MODE tokens (SPEC §3/§10).

ParamSpec(name, kind, builtin[, label, ...])

Declaration/resolution facts of one input (one row of the SPEC §3 table).

ProjectInclusion(*values)

PROJECT_INCLUSION tokens (SPEC §3/§13).

StratifiedPackagerAlgorithmInputDict

Typed parameter map for Python callers of the algorithm (SPEC §3).

StratifiedPackagerAlgorithmOutputDict

Typed result map returned by the algorithm (SPEC §3 declared outputs).

StyleCategoryOption(token, flag, label)

One selectable QML style category, mirroring a Copy Style menu entry (SPEC §8.1).

WarmStartMode(*values)

WARM_START_MODE tokens (SPEC §3/§11).

class stratified_packager.processing.params.InputReader(algorithm, parameters, context, project, settings)[source]

Reads single inputs through the §5 chain: explicit > variable > setting > builtin.

Parameters:
__init__(algorithm, parameters, context, project, settings)[source]

Initialize the reader.

Parameters:
boolean(name)[source]

Resolve a boolean input.

Parameters:

name (str) – The parameter id.

Return type:

bool

Returns:

The resolved boolean.

enum_strings(name)[source]

Resolve a multi-select static-strings enum input to its token list.

Parameters:

name (str) – The parameter id.

Return type:

list[str]

Returns:

The selected tokens (the resolved default when omitted).

fallback(name)[source]

Resolve an omitted input through variable > setting > builtin (strict).

Parameters:

name (str) – The parameter id.

Return type:

object

Returns:

The resolved default.

Raises:

QgsProcessingException – On unusable stored values.

integer(name)[source]

Resolve an integer input.

Parameters:

name (str) – The parameter id.

Return type:

int

Returns:

The resolved integer.

string(name)[source]

Resolve a string input.

Parameters:

name (str) – The parameter id.

Return type:

str

Returns:

The resolved string (empty when nothing resolves).

class stratified_packager.processing.params.LayerVarSpec(name, default, label, description, vector_only=False, virtual_only=False)[source]

One §4 layer variable: the single source of its name, default and user-facing text.

Parameters:
__init__(name, default, label, description, vector_only=False, virtual_only=False)
Parameters:
default: str

Builtin default, as the display token the per-layer GUI shows as a placeholder.

description: str

Help sentence following the variable name in the algorithm help (source English, HTML-fragment grade; translated at use in the StratifiedPackagerAlgorithm context).

label: str

Short editor label (source English; translated at use in the StratifiedPackagerWidgets context).

name: str

The full stratified_packager_<x> variable name.

property suffix: str

The bare variable suffix — the GUI field tables’ key.

Returns:

name without the stratified_packager_ prefix.

vector_only: bool = False

Whether the variable only applies to vector layers (its editors gate on that).

virtual_only: bool = False

Whether the variable only applies to virtual-provider layers.

class stratified_packager.processing.params.MatchingMethod(*values)[source]

stratified_packager_matching_method tokens (SPEC §4).

ATTRIBUTE = 'attribute'
AUTO = 'auto'
SPATIAL = 'spatial'
WHOLE_EXPORT = 'whole_export'
class stratified_packager.processing.params.OverwriteMode(*values)[source]

OVERWRITE_MODE tokens (SPEC §3/§10).

ERROR = 'error'
OVERWRITE = 'overwrite'
SKIP_EXISTING = 'skip-existing'
class stratified_packager.processing.params.ParamSpec(name, kind, builtin, label='', setting=None, has_variable=True)[source]

Declaration/resolution facts of one input (one row of the SPEC §3 table).

Parameters:
__init__(name, kind, builtin, label='', setting=None, has_variable=True)
Parameters:
builtin: object

Builtin default (the last tier of the resolution chain).

has_variable: bool = True

Whether the input has a project variable (every non-multiple-layers input).

kind: _Kind

Coercion kind for variable/setting values.

label: str = ''

User-facing text of the input (source English, authored with QT_TRANSLATE_NOOP()): the Processing-dialog description, reused verbatim as the Options-page label and the plugin-setting description, so the three surfaces cannot drift. Translated at use in the StratifiedPackagerAlgorithm context.

name: str

Parameter id.

setting: str | None = None

Attribute name on StratifiedPackagerSettings (only the ✓ rows of SPEC §3).

property variable: str | None

The project variable name, or None for exempt inputs.

Returns:

stratified_packager_<name_lower> or None.

class stratified_packager.processing.params.ProjectInclusion(*values)[source]

PROJECT_INCLUSION tokens (SPEC §3/§13).

GPKG = 'gpkg'
NONE = 'none'
QGZ = 'qgz'
class stratified_packager.processing.params.StratifiedPackagerAlgorithmInputDict[source]

Typed parameter map for Python callers of the algorithm (SPEC §3).

COMPRESSION_LEVEL: int
DEDUPLICATE_SHARED_SOURCES: bool
DRY_RUN: bool
EXPORT_FULL_PACKAGE: bool
EXTRA_DIR: str
FULL_PACKAGE_PATH: str
GENERATE_REPORT: bool
GPKG_PATH_EXPRESSION: str
INCLUDE_METADATA: bool
INCLUDE_STYLES: bool
KEEP_EMPTY_LAYERS: bool
LAYERS: Sequence[QgsMapLayer | str]
OUTPUT_DIRECTORY: str
OVERWRITE_MODE: str
PROJECT_INCLUSION: str
REPORT: str
STAGE_PROVIDERS: Sequence[str]
STRATA_FROM_SELECTION: bool
STRATIFICATION_LAYER: QgsVectorLayer | str
STRATUM_NAME_EXPRESSION: str
STYLE_CATEGORIES: Sequence[str]
USE_TEMP_FOLDER: bool
WARM_START_DIR: str
WARM_START_MODE: str
WRITE_CHECKSUMS: bool
ZIP_PATH_EXPRESSION: str
class stratified_packager.processing.params.StratifiedPackagerAlgorithmOutputDict[source]

Typed result map returned by the algorithm (SPEC §3 declared outputs).

FAILED_STRATA: str
OUTPUT_DIRECTORY: str
REPORT: str
STRATA_COUNT: int
ZIP_COUNT: int
ZIP_PATHS: str
class stratified_packager.processing.params.StyleCategoryOption(token, flag, label)[source]

One selectable QML style category, mirroring a Copy Style menu entry (SPEC §8.1).

Parameters:
__init__(token, flag, label)
Parameters:
flag: qgis.core.QgsMapLayer.StyleCategory

The StyleCategory flag this token maps to.

label: str

Translated, user-facing label (matches the layer-tree Copy Style menu).

token: str

Static-string token persisted in inputs, project variables and settings.

class stratified_packager.processing.params.WarmStartMode(*values)[source]

WARM_START_MODE tokens (SPEC §3/§11).

OFF = 'off'
UPDATE = 'update'
USE = 'use'
class stratified_packager.processing.params._Kind(*values)[source]

Coercion kind of a parameter’s variable/setting values.

BOOL = 'bool'
INCLUSION = 'inclusion'
INT = 'int'
LAYER_LIST = 'layer_list'
OVERWRITE = 'overwrite'
PROVIDER_LIST = 'provider_list'
STRING = 'string'
STYLE_CATEGORIES = 'style_categories'
WARM = 'warm'
stratified_packager.processing.params._coerce(kind, raw)[source]

Coerce a project-variable (or stored-setting) value to its parameter type.

Parameters:
  • kind (_Kind) – The parameter’s coercion kind.

  • raw (object) – The raw stored value.

Return type:

object

Returns:

The coerced value.

Raises:

ValueError – If raw cannot represent the kind (bad boolean/integer/token).

stratified_packager.processing.params._coerce_provider_list(raw)[source]

Interpret a stored value as a list of data-provider keys.

Accepts a comma-separated string (the variable/setting form), a list/tuple (the builtin/explicit form) or a bare key; blanks are dropped and the result is returned sorted without duplicates.

Parameters:

raw (object) – The raw stored value.

Return type:

list[str]

Returns:

The validated provider keys, sorted.

Raises:

ValueError – If any key is not a registered data provider.

stratified_packager.processing.params._coerce_style_categories(raw)[source]

Interpret a stored value as a list of style-category tokens.

Accepts a comma-separated string (the variable/setting form), a list/tuple (the builtin/explicit form) or a bare token; blanks are dropped and the result is returned in canonical order without duplicates.

Parameters:

raw (object) – The raw stored value.

Return type:

list[str]

Returns:

The validated tokens in canonical order.

Raises:

ValueError – If any token is not a known style category.

stratified_packager.processing.params._static_enum(name, description, enum_type, default_token)[source]

Build a static-strings enum parameter whose options are the SPEC tokens.

Parameters:
  • name (str) – Parameter id.

  • description (str) – Translated description.

  • enum_type (type[Enum]) – The token enum.

  • default_token (str) – The resolved default token.

Return type:

QgsProcessingParameterEnum

Returns:

The parameter definition.

stratified_packager.processing.params._static_multi_enum(name, description, default_value, options)[source]

Build an optional multi-select static-strings enum over options.

The parameter is optional so a fully-unchecked selection is accepted; what an empty selection means is the resolver’s business (e.g. all categories for STYLE_CATEGORIES, stage nothing implicitly for STAGE_PROVIDERS).

Parameters:
  • name (str) – Parameter id.

  • description (str) – Translated description.

  • default_value (object) – The resolved default tokens (a list of tokens).

  • options (Sequence[str]) – The selectable tokens.

Return type:

QgsProcessingParameterEnum

Returns:

The parameter definition.

stratified_packager.processing.params.declare_outputs(algorithm)[source]

Declare the SPEC §3 outputs on algorithm.

Parameters:

algorithm (QgsProcessingAlgorithm) – The algorithm being initialized.

Raises:

ValueError – If QGIS rejects an output declaration.

Return type:

None

stratified_packager.processing.params.declare_parameters(algorithm, *, project=None, settings=None)[source]

Declare every SPEC §3 input on algorithm, defaults pre-resolved (SPEC §5).

Parameters:
  • algorithm (QgsProcessingAlgorithm) – The algorithm being initialized.

  • project (QgsProject | None) – Project consulted for variable-tier defaults (omit headless-safe).

  • settings (StratifiedPackagerSettings | None) – Plugin settings consulted for setting-tier defaults.

Return type:

None

stratified_packager.processing.params.eligible_layer_ids(project, /, *, strict=False)[source]

Return the layers an empty LAYERS input resolves to (SPEC §4/§5).

Eligible = every project layer except plugin layers, minus layers whose stratified_packager_exclude variable is true. An unset value counts as included (the default: participate). A value that cannot be coerced to bool is treated like every other run-start config in the strict regime (cf. resolve_default()) via strict: with strict=True (runtime resolution) it raises so the run aborts loudly instead of guessing inclusion; with strict=False (declaration-time LAYERS prefill) it falls back to included, because the runtime path re-checks strictly.

Parameters:
  • project (QgsProject) – The project to scan.

  • strict (bool) – Whether an uncoercible exclude value raises instead of including.

Return type:

list[str]

Returns:

Layer ids in layer-tree iteration order.

Raises:

ValueError – If strict and a layer’s exclude value cannot be coerced to bool; the message names the layer and the offending value.

stratified_packager.processing.params.is_omitted(parameters, name, /)[source]

Report whether an input was omitted (absent or None) by the caller.

The GUI supplies every input, so this is the headless/model path detector that gates the runtime fallback of SPEC §5.

Parameters:
  • parameters (Mapping[str | None, Any]) – The raw parameter map handed to the algorithm.

  • name (str) – The parameter id.

Return type:

bool

Returns:

True when the runtime fallback should resolve the value.

stratified_packager.processing.params.provider_keys()[source]

List the data-provider keys the STAGE_PROVIDERS multi-select offers.

Return type:

list[str]

Returns:

The provider registry’s keys, sorted.

Raises:

RuntimeError – If the provider registry is unavailable (QGIS not initialized).

stratified_packager.processing.params.resolve_default(name, *, project=None, settings=None, strict=True)[source]

Resolve the effective default of one input: project variable > setting > builtin.

This is the shared tail of the SPEC §5 chain — explicit inputs are handled by the caller before consulting it. With strict=False (declaration-time prefill) an unusable stored value silently falls through to the next tier; with strict=True (runtime fallback) it raises so the run aborts loudly instead of guessing.

Parameters:
  • name (str) – The parameter id.

  • project (QgsProject | None) – Project whose stratified_packager_<x> variable to consult.

  • settings (StratifiedPackagerSettings | None) – Plugin settings to consult (the ✓ rows of SPEC §3).

  • strict (bool) – Whether unusable stored values raise instead of falling through.

Return type:

object

Returns:

The resolved default (possibly None for layer-ish inputs).

Raises:

ValueError – If strict and a stored value cannot be coerced; the message names the parameter and the offending tier.

stratified_packager.processing.params.style_categories_flags(tokens, /)[source]

OR the selected style-category tokens into a flag set (SPEC §8.1).

An empty (or all-unknown) selection yields AllStyleCategories — the documented select-none means select-all rule; INCLUDE_STYLES=False is the real off switch. Unknown tokens are ignored here (the resolver validates them upstream).

Parameters:

tokens (Iterable[str]) – The selected category tokens.

Return type:

StyleCategory

Returns:

The OR of the matching flags, or AllStyleCategories when none match.

stratified_packager.processing.params.translated_label(name, /)[source]

Return an input’s translated user-facing label.

Parameters:

name (str) – The parameter id.

Return type:

str

Returns:

The ParamSpec.label translated in the algorithm context.

stratified_packager.processing.params.variable_name(param, /)[source]

Map an input id to its project variable name (SPEC §3 naming rule).

Parameters:

param (str) – The parameter id (e.g. COMPRESSION_LEVEL).

Return type:

str

Returns:

stratified_packager_<param_lower>.

stratified_packager.processing.params.DE9IM_PATTERN: Final[re.Pattern[str]] = re.compile('^[TF012*]{9}$', re.IGNORECASE)

Valid DE-9IM intersection-matrix patterns (SPEC §4): nine characters of [TF012*]. The T/F characters are case-insensitive (lowercase t/f accepted; normalized to uppercase before the GEOS relate() call, which expects uppercase).

stratified_packager.processing.params.DEFAULT_STAGE_PROVIDERS: Final[list[str]] = []

Builtin STAGE_PROVIDERS default: no provider is staged implicitly (SPEC §3/§8.2).

stratified_packager.processing.params.DEFAULT_STYLE_CATEGORIES: Final[list[str]] = ['layer_configuration', 'symbology', 'symbology_3d', 'labeling', 'fields', 'forms', 'actions', 'map_tips', 'diagrams', 'attribute_table', 'rendering', 'custom_properties', 'geometry_options', 'relations', 'temporal', 'legend', 'elevation', 'notes']

Builtin STYLE_CATEGORIES default: every category (SPEC §3).

stratified_packager.processing.params.LAYER_VARIABLE_DEFAULTS: Final[dict[str, str]] = {'stratified_packager_exclude': 'false', 'stratified_packager_excluded_fields': '[]', 'stratified_packager_layer_name': '', 'stratified_packager_matching_method': 'auto', 'stratified_packager_materialize_virtual_layer': 'false', 'stratified_packager_relation_path': '', 'stratified_packager_spatial_predicate': 'auto', 'stratified_packager_stage': 'auto', 'stratified_packager_warm_marked': 'false'}

Builtin defaults of the §4 layer variables, keyed by full variable name (a derived view of LAYER_VAR_SPECS).

stratified_packager.processing.params.LAYER_VARIABLE_PROPERTY_KEYS: Final[frozenset[str]] = frozenset({'variableNames', 'variableValues'})

Custom-property keys that backing-store layer variables write.

QgsExpressionContextUtils.setLayerVariable(s) mutates the layer’s variableNames / variableValues custom properties, firing QgsMapLayer.customPropertyChanged with these keys — the precise trigger for the GUI’s LAYERS-prefill refresh (SPEC §5).

stratified_packager.processing.params.LAYER_VAR_SPECS: Final[tuple[LayerVarSpec, ...]] = (LayerVarSpec(name='stratified_packager_exclude', default='false', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, description=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, vector_only=False, virtual_only=False), LayerVarSpec(name='stratified_packager_layer_name', default='', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, description=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, vector_only=False, virtual_only=False), LayerVarSpec(name='stratified_packager_matching_method', default='auto', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, description=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, vector_only=True, virtual_only=False), LayerVarSpec(name='stratified_packager_spatial_predicate', default='auto', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, description=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, vector_only=True, virtual_only=False), LayerVarSpec(name='stratified_packager_excluded_fields', default='[]', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, description=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, vector_only=True, virtual_only=False), LayerVarSpec(name='stratified_packager_stage', default='auto', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, description=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, vector_only=True, virtual_only=False), LayerVarSpec(name='stratified_packager_warm_marked', default='false', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, description=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, vector_only=True, virtual_only=False), LayerVarSpec(name='stratified_packager_materialize_virtual_layer', default='false', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, description=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, vector_only=True, virtual_only=True), LayerVarSpec(name='stratified_packager_relation_path', default='', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, description=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, vector_only=True, virtual_only=False))

The §4 layer variables in GUI display order — the single source the field tables, the all-layers dialog and the algorithm help build from (a new variable auto-appears in all).

stratified_packager.processing.params.NAMED_SPATIAL_PREDICATES: Final[tuple[str, ...]] = ('intersects', 'contains', 'within', 'overlaps', 'crosses', 'touches')

The named spatial_predicate tokens, in display order, each mapping 1:1 onto a QGIS expression function (SPEC §4). The single source of truth shared by the matching engine and the defaults GUI.

stratified_packager.processing.params.PARAM_SPECS: Final[dict[str, ParamSpec]] = {'COMPRESSION_LEVEL': ParamSpec(name='COMPRESSION_LEVEL', kind=<_Kind.INT: 'int'>, builtin=6, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='compression_level', has_variable=True), 'DEDUPLICATE_SHARED_SOURCES': ParamSpec(name='DEDUPLICATE_SHARED_SOURCES', kind=<_Kind.BOOL: 'bool'>, builtin=True, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='deduplicate_shared_sources', has_variable=True), 'DRY_RUN': ParamSpec(name='DRY_RUN', kind=<_Kind.BOOL: 'bool'>, builtin=False, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting=None, has_variable=True), 'EXPORT_FULL_PACKAGE': ParamSpec(name='EXPORT_FULL_PACKAGE', kind=<_Kind.BOOL: 'bool'>, builtin=False, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='export_full_package', has_variable=True), 'EXTRA_DIR': ParamSpec(name='EXTRA_DIR', kind=<_Kind.STRING: 'string'>, builtin=None, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting=None, has_variable=True), 'FULL_PACKAGE_PATH': ParamSpec(name='FULL_PACKAGE_PATH', kind=<_Kind.STRING: 'string'>, builtin='', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting=None, has_variable=True), 'GENERATE_REPORT': ParamSpec(name='GENERATE_REPORT', kind=<_Kind.BOOL: 'bool'>, builtin=True, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='generate_report', has_variable=True), 'GPKG_PATH_EXPRESSION': ParamSpec(name='GPKG_PATH_EXPRESSION', kind=<_Kind.STRING: 'string'>, builtin='', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='gpkg_path_expression', has_variable=True), 'INCLUDE_METADATA': ParamSpec(name='INCLUDE_METADATA', kind=<_Kind.BOOL: 'bool'>, builtin=True, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='include_metadata', has_variable=True), 'INCLUDE_STYLES': ParamSpec(name='INCLUDE_STYLES', kind=<_Kind.BOOL: 'bool'>, builtin=True, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='include_styles', has_variable=True), 'KEEP_EMPTY_LAYERS': ParamSpec(name='KEEP_EMPTY_LAYERS', kind=<_Kind.BOOL: 'bool'>, builtin=True, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='keep_empty_layers', has_variable=True), 'LAYERS': ParamSpec(name='LAYERS', kind=<_Kind.LAYER_LIST: 'layer_list'>, builtin=None, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting=None, has_variable=False), 'OUTPUT_DIRECTORY': ParamSpec(name='OUTPUT_DIRECTORY', kind=<_Kind.STRING: 'string'>, builtin=None, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting=None, has_variable=True), 'OVERWRITE_MODE': ParamSpec(name='OVERWRITE_MODE', kind=<_Kind.OVERWRITE: 'overwrite'>, builtin='overwrite', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='overwrite_mode', has_variable=True), 'PROJECT_INCLUSION': ParamSpec(name='PROJECT_INCLUSION', kind=<_Kind.INCLUSION: 'inclusion'>, builtin='none', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='project_inclusion', has_variable=True), 'STAGE_PROVIDERS': ParamSpec(name='STAGE_PROVIDERS', kind=<_Kind.PROVIDER_LIST: 'provider_list'>, builtin=[], label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='stage_providers', has_variable=True), 'STRATA_FROM_SELECTION': ParamSpec(name='STRATA_FROM_SELECTION', kind=<_Kind.BOOL: 'bool'>, builtin=False, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting=None, has_variable=True), 'STRATIFICATION_LAYER': ParamSpec(name='STRATIFICATION_LAYER', kind=<_Kind.STRING: 'string'>, builtin=None, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting=None, has_variable=True), 'STRATUM_NAME_EXPRESSION': ParamSpec(name='STRATUM_NAME_EXPRESSION', kind=<_Kind.STRING: 'string'>, builtin='', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting=None, has_variable=True), 'STYLE_CATEGORIES': ParamSpec(name='STYLE_CATEGORIES', kind=<_Kind.STYLE_CATEGORIES: 'style_categories'>, builtin=['layer_configuration', 'symbology', 'symbology_3d', 'labeling', 'fields', 'forms', 'actions', 'map_tips', 'diagrams', 'attribute_table', 'rendering', 'custom_properties', 'geometry_options', 'relations', 'temporal', 'legend', 'elevation', 'notes'], label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='style_categories', has_variable=True), 'USE_TEMP_FOLDER': ParamSpec(name='USE_TEMP_FOLDER', kind=<_Kind.BOOL: 'bool'>, builtin=True, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='use_temp_folder', has_variable=True), 'WARM_START_DIR': ParamSpec(name='WARM_START_DIR', kind=<_Kind.STRING: 'string'>, builtin=None, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting=None, has_variable=True), 'WARM_START_MODE': ParamSpec(name='WARM_START_MODE', kind=<_Kind.WARM: 'warm'>, builtin='off', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='warm_start_mode', has_variable=True), 'WRITE_CHECKSUMS': ParamSpec(name='WRITE_CHECKSUMS', kind=<_Kind.BOOL: 'bool'>, builtin=False, label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='write_checksums', has_variable=True), 'ZIP_PATH_EXPRESSION': ParamSpec(name='ZIP_PATH_EXPRESSION', kind=<_Kind.STRING: 'string'>, builtin='', label=qgis.PyQt.QtCore.QT_TRANSLATE_NOOP, setting='zip_path_expression', has_variable=True)}

Every input of SPEC §3, keyed by id, in declaration order.

stratified_packager.processing.params.STYLE_CATEGORY_OPTIONS: Final[tuple[StyleCategoryOption, ...]] = (StyleCategoryOption(token='layer_configuration', flag=qgis.core.QgsMapLayer.StyleCategory.LayerConfiguration, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='symbology', flag=qgis.core.QgsMapLayer.StyleCategory.Symbology, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='symbology_3d', flag=qgis.core.QgsMapLayer.StyleCategory.Symbology3D, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='labeling', flag=qgis.core.QgsMapLayer.StyleCategory.Labeling, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='fields', flag=qgis.core.QgsMapLayer.StyleCategory.Fields, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='forms', flag=qgis.core.QgsMapLayer.StyleCategory.Forms, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='actions', flag=qgis.core.QgsMapLayer.StyleCategory.Actions, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='map_tips', flag=qgis.core.QgsMapLayer.StyleCategory.MapTips, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='diagrams', flag=qgis.core.QgsMapLayer.StyleCategory.Diagrams, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='attribute_table', flag=qgis.core.QgsMapLayer.StyleCategory.AttributeTable, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='rendering', flag=qgis.core.QgsMapLayer.StyleCategory.Rendering, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='custom_properties', flag=qgis.core.QgsMapLayer.StyleCategory.CustomProperties, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='geometry_options', flag=qgis.core.QgsMapLayer.StyleCategory.GeometryOptions, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='relations', flag=qgis.core.QgsMapLayer.StyleCategory.Relations, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='temporal', flag=qgis.core.QgsMapLayer.StyleCategory.Temporal, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='legend', flag=qgis.core.QgsMapLayer.StyleCategory.Legend, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='elevation', flag=qgis.core.QgsMapLayer.StyleCategory.Elevation, label=qgis.PyQt.QtCore.QCoreApplication.translate), StyleCategoryOption(token='notes', flag=qgis.core.QgsMapLayer.StyleCategory.Notes, label=qgis.PyQt.QtCore.QCoreApplication.translate))

The single-bit StyleCategory flags, in QGIS bit order, as offered by the layer-tree Copy Style menu (the All* combinations are excluded).

stratified_packager.processing.params.STYLE_CATEGORY_TOKENS: Final[tuple[str, ...]] = ('layer_configuration', 'symbology', 'symbology_3d', 'labeling', 'fields', 'forms', 'actions', 'map_tips', 'diagrams', 'attribute_table', 'rendering', 'custom_properties', 'geometry_options', 'relations', 'temporal', 'legend', 'elevation', 'notes')

Every style-category token in canonical (bit) order.

stratified_packager.processing.params.VARIABLE_PREFIX: Final = 'stratified_packager_'

Prefix of every project/layer variable owned by this plugin.

stratified_packager.processing.params._ALG: Final = 'StratifiedPackagerAlgorithm'

Translation context of every algorithm-facing string (labels, help, messages). Used as the runtime translate() context; extraction sites (QT_TRANSLATE_NOOP()) MUST spell the literal instead, because pylupdate statically parses the context argument and silently drops a variable one.