pudl.workspace.setup#

Tools for setting up and managing PUDL workspaces.

Attributes#

Classes#

PudlPaths

These settings provide access to various PUDL directories.

Module Contents#

pudl.workspace.setup.logger[source]#
class pudl.workspace.setup.PudlPaths(_case_sensitive: bool | None = None, _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_prefix_target: pydantic_settings.sources.EnvPrefixTarget | None = None, _env_file: pydantic_settings.sources.DotenvType | None = ENV_FILE_SENTINEL, _env_file_encoding: str | None = None, _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, _env_nested_max_split: int | None = None, _env_parse_none_str: str | None = None, _env_parse_enums: bool | None = None, _cli_prog_name: str | None = None, _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, _cli_settings_source: pydantic_settings.sources.CliSettingsSource[Any] | None = None, _cli_parse_none_str: str | None = None, _cli_hide_none_type: bool | None = None, _cli_avoid_json: bool | None = None, _cli_enforce_required: bool | None = None, _cli_use_class_docs_for_groups: bool | None = None, _cli_show_env_vars: bool | None = None, _cli_exit_on_error: bool | None = None, _cli_prefix: str | None = None, _cli_flag_prefix_char: str | None = None, _cli_implicit_flags: bool | Literal['dual', 'toggle'] | None = None, _cli_ignore_unknown_args: bool | None = None, _cli_kebab_case: bool | Literal['all', 'no_enums'] | None = None, _cli_shortcuts: collections.abc.Mapping[str, str | list[str]] | None = None, _secrets_dir: pydantic_settings.sources.PathType | None = None, _build_sources: tuple[tuple[pydantic_settings.sources.PydanticBaseSettingsSource, ...], dict[str, Any]] | None = None, **values: Any)[source]#

Bases: pydantic_settings.BaseSettings

These settings provide access to various PUDL directories.

It is primarily configured via PUDL_INPUT and PUDL_OUTPUT environment variables. Other paths of relevance are derived from these.

pudl_input: pathlib.Path[source]#
pudl_output: pathlib.Path[source]#
model_config[source]#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod normalize_paths(value: Any) pathlib.Path[source]#

Normalize configured paths to absolute Path objects.

create_directories()[source]#

Create PUDL input and output directories if they don’t already exist.

parquet_path(table_name: str | None = None) pathlib.Path[source]#

Return path to parquet file for given database and table.

sqlite_path(name: str) pathlib.Path[source]#

Return path to locally stored SQLite DB file.

duckdb_path(name: str) pathlib.Path[source]#

Return path to locally stored DuckDB file.

output_file(filename: str) pathlib.Path[source]#

Path to file in PUDL output directory.

static set_path_overrides(input_dir: str | None = None, output_dir: str | None = None) None[source]#

Set PUDL_INPUT and/or PUDL_OUTPUT env variables.

Parameters:
  • input_dir – if set, overrides PUDL_INPUT env variable.

  • output_dir – if set, overrides PUDL_OUTPUT env variable.