pudl.settings
#
Module for validating pudl etl settings.
Module Contents#
Classes#
Contains full list of supported FERC XBRL forms. |
|
BaseModel with global configuration. |
|
An abstract pydantic model for generic datasets. |
|
An immutable pydantic model to validate Ferc1Settings. |
|
An immutable pydantic model to validate Ferc714Settings. |
|
An immutable pydantic model to validate EPA CEMS settings. |
|
An immutable pydantic model to validate EIA 923 settings. |
|
An immutable pydantic model to validate EIA 861 settings. |
|
An immutable pydantic model to validate EIA 860 settings. |
|
An immutable pydantic model to validate Glue settings. |
|
An immutable pydantic model to validate EIA datasets settings. |
|
An immutable pydantic model to validate PUDL Dataset settings. |
|
An immutable Pydantic model to validate FERC 1 to SQLite settings. |
|
An immutable pydantic model to validate Ferc1 to SQLite settings. |
|
An immutable pydantic model to validate Ferc1 to SQLite settings. |
|
An immutable pydantic model to validate FERC from 2 XBRL to SQLite settings. |
|
An immutable pydantic model to validate FERC from 6 XBRL to SQLite settings. |
|
An immutable pydantic model to validate FERC from 60 XBRL to SQLite settings. |
|
An immutable pydantic model to validate FERC from 714 XBRL to SQLite settings. |
|
An immutable pydantic model to validate FERC XBRL to SQLite settings. |
|
Main settings validation class. |
- class pudl.settings.XbrlFormNumber[source]#
Bases:
enum.Enum
Contains full list of supported FERC XBRL forms.
- class pudl.settings.BaseModel[source]#
Bases:
pydantic.BaseModel
BaseModel with global configuration.
- class pudl.settings.GenericDatasetSettings[source]#
Bases:
BaseModel
An abstract pydantic model for generic datasets.
Each dataset must specify working tables and partitions. A dataset can have an arbitrary number of partitions.
- validate_partitions(partitions)[source]#
Validate the requested data partitions.
Check that all the partitions defined in the
working_partitions
of the associateddata_source
(e.g. years or states) have been assigned in the definition of the class, and that the requested values are a subset of the allowable values defined by thedata_source
.
- class pudl.settings.Ferc1Settings[source]#
Bases:
GenericDatasetSettings
An immutable pydantic model to validate Ferc1Settings.
- Parameters:
data_source – DataSource metadata object
years – list of years to validate.
tables – list of tables to validate.
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- class pudl.settings.Ferc714Settings[source]#
Bases:
GenericDatasetSettings
An immutable pydantic model to validate Ferc714Settings.
- Parameters:
data_source – DataSource metadata object
tables – list of tables to validate.
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- class pudl.settings.EpaCemsSettings[source]#
Bases:
GenericDatasetSettings
An immutable pydantic model to validate EPA CEMS settings.
- Parameters:
data_source – DataSource metadata object
years – list of years to validate.
states – list of states to validate.
tables – list of tables to validate.
partition – Whether to output year-state partitioned Parquet files. If True, all available threads / CPUs will be used in parallel.
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- class pudl.settings.Eia923Settings[source]#
Bases:
GenericDatasetSettings
An immutable pydantic model to validate EIA 923 settings.
- Parameters:
data_source – DataSource metadata object
years – list of years to validate.
tables – list of tables to validate.
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- class pudl.settings.Eia861Settings[source]#
Bases:
GenericDatasetSettings
An immutable pydantic model to validate EIA 861 settings.
- Parameters:
data_source – DataSource metadata object
years – list of years to validate.
tables – list of tables to validate.
transform_functions – list of transform functions to be applied to eia861
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- class pudl.settings.Eia860Settings[source]#
Bases:
GenericDatasetSettings
An immutable pydantic model to validate EIA 860 settings.
This model also check 860m settings.
- Parameters:
data_source – DataSource metadata object
years – list of years to validate.
tables – list of tables to validate.
ClassVar[str] (eia860m_date) – The 860m year to date.
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- eia860m_data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- check_eia860m_date(eia860m: bool) bool [source]#
Check 860m date-year is exactly one year after most recent working 860 year.
- Parameters:
eia860m – True if 860m is requested.
- Returns:
True if 860m is requested.
- Return type:
eia860m
- Raises:
ValueError – the 860m date is within 860 working years.
- class pudl.settings.GlueSettings[source]#
Bases:
BaseModel
An immutable pydantic model to validate Glue settings.
- Parameters:
eia – Include eia in glue settings.
ferc1 – Include ferc1 in glue settings.
- class pudl.settings.EiaSettings[source]#
Bases:
BaseModel
An immutable pydantic model to validate EIA datasets settings.
- Parameters:
eia860 – Immutable pydantic model to validate eia860 settings.
eia923 – Immutable pydantic model to validate eia923 settings.
- eia860: Eia860Settings[source]#
- eia923: Eia923Settings[source]#
- class pudl.settings.DatasetsSettings[source]#
Bases:
BaseModel
An immutable pydantic model to validate PUDL Dataset settings.
- Parameters:
ferc1 – Immutable pydantic model to validate ferc1 settings.
eia – Immutable pydantic model to validate eia(860, 923) settings.
glue – Immutable pydantic model to validate glue settings.
epacems – Immutable pydantic model to validate epacems settings.
- ferc1: Ferc1Settings[source]#
- eia: EiaSettings[source]#
- glue: GlueSettings[source]#
- epacems: EpaCemsSettings[source]#
- class pudl.settings.Ferc1DbfToSqliteSettings[source]#
Bases:
GenericDatasetSettings
An immutable Pydantic model to validate FERC 1 to SQLite settings.
- Parameters:
tables – List of tables to validate.
years – List of years to validate.
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- class pudl.settings.FercGenericXbrlToSqliteSettings[source]#
Bases:
pydantic.BaseSettings
An immutable pydantic model to validate Ferc1 to SQLite settings.
- Parameters:
taxonomy – URL of XBRL taxonomy used to create structure of SQLite DB.
tables – list of tables to validate.
years – list of years to validate.
- class pudl.settings.Ferc1XbrlToSqliteSettings[source]#
Bases:
FercGenericXbrlToSqliteSettings
An immutable pydantic model to validate Ferc1 to SQLite settings.
- Parameters:
taxonomy – URL of taxonomy used to .
years – list of years to validate.
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- class pudl.settings.Ferc2XbrlToSqliteSettings[source]#
Bases:
FercGenericXbrlToSqliteSettings
An immutable pydantic model to validate FERC from 2 XBRL to SQLite settings.
- Parameters:
years – List of years to validate.
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- class pudl.settings.Ferc6XbrlToSqliteSettings[source]#
Bases:
FercGenericXbrlToSqliteSettings
An immutable pydantic model to validate FERC from 6 XBRL to SQLite settings.
- Parameters:
years – List of years to validate.
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- class pudl.settings.Ferc60XbrlToSqliteSettings[source]#
Bases:
FercGenericXbrlToSqliteSettings
An immutable pydantic model to validate FERC from 60 XBRL to SQLite settings.
- Parameters:
years – List of years to validate.
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- class pudl.settings.Ferc714XbrlToSqliteSettings[source]#
Bases:
FercGenericXbrlToSqliteSettings
An immutable pydantic model to validate FERC from 714 XBRL to SQLite settings.
- Parameters:
years – List of years to validate.
- data_source: ClassVar[pudl.metadata.classes.DataSource][source]#
- class pudl.settings.FercToSqliteSettings[source]#
Bases:
pydantic.BaseSettings
An immutable pydantic model to validate FERC XBRL to SQLite settings.
- Parameters:
ferc1_dbf_to_sqlite_settings – Settings for converting FERC 1 DBF data to SQLite.
ferc1_xbrl_to_sqlite_settings – Settings for converting FERC 1 XBRL data to SQLite.
other_xbrl_forms – List of non-FERC1 forms to convert from XBRL to SQLite.
- ferc1_dbf_to_sqlite_settings: Ferc1DbfToSqliteSettings[source]#
- ferc1_xbrl_to_sqlite_settings: Ferc1XbrlToSqliteSettings[source]#
- ferc2_xbrl_to_sqlite_settings: Ferc2XbrlToSqliteSettings[source]#
- ferc6_xbrl_to_sqlite_settings: Ferc6XbrlToSqliteSettings[source]#
- ferc60_xbrl_to_sqlite_settings: Ferc60XbrlToSqliteSettings[source]#
- ferc714_xbrl_to_sqlite_settings: Ferc714XbrlToSqliteSettings[source]#
- get_xbrl_dataset_settings(form_number: XbrlFormNumber) FercGenericXbrlToSqliteSettings [source]#
Return a list with all requested FERC XBRL to SQLite datasets.
- Parameters:
form_number – Get settings by FERC form number.
- class pudl.settings.EtlSettings[source]#
Bases:
pydantic.BaseSettings
Main settings validation class.
- ferc_to_sqlite_settings: FercToSqliteSettings[source]#
- datasets: DatasetsSettings[source]#
- classmethod from_yaml(path: str) EtlSettings [source]#
Create an EtlSettings instance from a yaml_file path.
- Parameters:
path – path to a yaml file.
- Returns:
An ETL settings object.