Public Utility Data Liberation Project (PUDL) Data Release
Authors/Creators
- 1. Catalyst Cooperative
Description
v2026.3.0 (2026-03-12)
This is a monthly PUDL data release, nominally aimed at updating the EIA-860M monthly data, but this month there’s a lot of other brand new data along for the ride!
With the addition of the _core_eia923__yearly_emissions_control which describes installed emissions control equipment and its operation we’ve completed our initial coverage of EIA-923 Schedule 8. We’ve continued expanding our coverage of USDA Rural Utilities Service (RUS) Forms 7 and 12, and now have data source documentation pages for both forms.
On the tooling side, PUDL is now compatible with Dagster’s official dg CLI, and a new DuckDB helper script makes it easy to compare local, nightly, and stable data builds during development. Data quality improvements include standardizing emissions control efficiency values from percentages to decimals, cleaning up missing measurement codes in EPA CEMS data, and uniformly adopting report_date across several EIA environmental equipment tables.
Enhancements
-
Renamed
core_eia923__monthly_fuel_receipts_coststo core_eia923__fuel_receipts_costs as it is not aggregated monthly and does not belong with our other timeseries tables. Updated table description details for this and related tables to explain why receipts are not aggregated in this table, and how aggregation in the associated monthly and yearly tables affects the columns available and missingness handling. See #5029.
New Data
EIA-923
-
Added a new table derived from EIA-923 Schedule 8C describing installed emissions control equipment and its operation: _core_eia923__yearly_emissions_control. With this table, we now have preliminary versions of all of EIA-923 Schedule 8. See issue #4081 and PRs #4668, #5048. Thanks to @alexclippinger for working on this!
RUS 7
-
Extracted the remaining RUS Form 7 tables, completing initial extraction of all RUS Form 7 data. Also standardized the extraction method across RUS Forms 7 and 12. See #5030 and #5031.
-
Transformed more RUS 7 tables. See PR #5034.
RUS 12
-
Extracted the remaining RUS Form 12 tables, completing initial extraction of all RUS Form 12 data. See #4959 and #5031.
-
Transformed more RUS 12 tables. See #4886, PR #5018 and PR #5034.
Expanded Data Coverage
EIA-860M
Documentation
-
Fixed remaining tables with malformed summaries so they render starting with a complete sentence. Added checks to prevent future regressions. See #5029.
-
Added data source documentation pages for RUS Form 7 and RUS Form 12. See #4889 and #5028.
-
Added direct links to table previews on the PUDL Data Viewer from PUDL data dictionary and data source documentation pages. See #5047.
-
Replaced stale references to our use of
makewith currentpixi runtask commands. See PR #5075
New Data Tests & Validations
-
Added an initial set of dbt data validations for the new RUS Form 7 and Form 12 tables. See #4887, #4888 and #5017.
-
Add dbt data validations that will flag emissions removal efficiencies outside the valid range 0.0-1.0 and emissions control equipment test dates from before 1950 or after the current year. See PR #5048.
-
Normalized RUS-7 and RUS-12 borrower ID’s, names and state in core_rus7__entity_borrowers and core_rus12__entity_borrowers. See #5040 and PR #5056.
-
Added row count and data validation tests for the new RUS Form 12 tables introduced in #5018. See #5060.
Bug Fixes & Data Cleaning
-
Set unknown
mass_measurement_codevalues toNULLin core_epacems__hourly_emissions so the data conforms to the expected ENUM constraint. See #5041. -
Improved parsing of the poorly formatted
so2_test_datecolumn found in _core_eia923__yearly_fgd_operation_maintenance. See PR #5048. -
Standardized emissions control equipment efficiencies to be stated as a decimal number between 0.0-1.0, rather than a percentage between 0-100. Removed misleading
_pctcolumn name suffixes on efficiency columns that had values between 0.0-1.0. See PR #5048. -
Standardized a few new environmental equipment tables from EIA to use
report_daterather thanreport_yearas their time dimension in anticipation of more deeply integrating them into PUDL. See issue #4741 and PR #5063. Affected tables include:
Quality of Life Improvements
-
Added a DuckDB helper script (
devtools/duckdb/) that generates a DuckDB file with views pointing at local, nightly, and stable PUDL Parquet outputs. This makes it easy to compare data versions during development and to use the DuckDB UI for column-level statistics and data inspection. See #5015. -
Improved schema enforcement for tables created with DuckDB by updating
Resource.to_duckdb_dtypesto handle ENUM types, enabling FERC EQR tables produced with DuckDB to properly conform to their defined schema. See #5027. -
Made our raw spreadsheet extraction multi-assets and static table multi-assets subsettable for better ergonomics when selecting upstream asset dependencies using Dagster’s
dgCLI. See issue #5061 and PR #5062. -
Adapted the PUDL project layout and configuration slightly in order to allow us to start using dg: Dagster’s official CLI tool. See PR #5075.
Other PUDL v2026.3.0 Resources
- PUDL v2026.3.0 Data Dictionary
- PUDL v2026.3.0 Documentation
- PUDL in the AWS Open Data Registry
- PUDL v2026.3.0 in a free, public AWS S3 bucket: s3://pudl.catalyst.coop/v2026.3.0/
- PUDL v2026.3.0 in a requester-pays GCS bucket: gs://pudl.catalyst.coop/v2026.3.0/
- Zenodo archive of the PUDL GitHub repo for this release
- PUDL v2026.3.0 release on GitHub
Contact Us
If you're using PUDL, we would love to hear from you! Even if it's just a note to let us know that you exist, and how you're using the software or data. Here's a bunch of different ways to get in touch:
- Follow us on GitHub
- Use the PUDL Github issue tracker to let us know about any bugs or data issues you encounter
- GitHub Discussions is where we provide user support.
- Watch our GitHub Project to see what we're working on.
- Email us at hello@catalyst.coop for private communications.
- On Mastodon: @CatalystCoop@mastodon.energy
- On BlueSky: @catalyst.coop
- On Twitter: @CatalystCoop
- Connect with us on LinkedIn
- Play with our data and notebooks on Kaggle
- Combine our data with ML models on HuggingFace
- Learn more about us on our website: https://catalyst.coop
- Subscribe to our announcements list for email updates.
Files
censusdp1tract.sqlite.zip
Files
(17.4 GB)
| Name | Size | Download all |
|---|---|---|
|
md5:08197eba24695e453ea54cefef6a2fbd
|
18.4 MB | Download |
|
md5:8ebf59a0f0665c4eb2fb120833550e15
|
506.7 MB | Preview Download |
|
md5:aa74c284eaaf8f142b7fd9e493d28f0d
|
271.3 MB | Preview Download |
|
md5:d904e7288a6169ab89964e4e984e6fa7
|
1.0 GB | Download |
|
md5:95d2ae19f7f8ede609a13ead9ba3b8d8
|
190.9 MB | Preview Download |
|
md5:fb385c1d9c5a04a8a7fb234d8c4d6c9d
|
2.3 MB | Preview Download |
|
md5:02c69518e60b733979671e73d2e12f9f
|
7.3 MB | Preview Download |
|
md5:9a56d38053f225755fc6ce603d658f55
|
73.9 MB | Preview Download |
|
md5:1e1fee4029cbd42d62cb7e458b0517a7
|
153.1 MB | Download |
|
md5:caafc9a08f6181aad401d610fdeef9b8
|
28.2 MB | Preview Download |
|
md5:cbe2db182ea53d0458ef46ce61b46bad
|
2.6 MB | Preview Download |
|
md5:086bdfaeb6293ed05e3bc6748f0f9e6c
|
7.2 MB | Preview Download |
|
md5:1cb8fb8355b9cc2b3a64d9cb2cd7c488
|
2.9 MB | Preview Download |
|
md5:f9c7dcff2a680b1d95ef84dd60d950d7
|
52.7 MB | Download |
|
md5:a8af11f8b607b8d0dfbfd94baebdb3e0
|
4.4 MB | Preview Download |
|
md5:a17b12ea67a00f9a0008d770b3e0d91c
|
964.5 kB | Preview Download |
|
md5:4667b8113e5e6d61af554a6304bf5ebc
|
1.9 MB | Preview Download |
|
md5:36f46106e7a39773c9af496753887644
|
43.5 MB | Preview Download |
|
md5:b773ff527e9f1c26e7908450f2b9f273
|
76.0 MB | Download |
|
md5:f150461371b0998b30ac3757655756ad
|
22.7 MB | Preview Download |
|
md5:c4436889210eaa08122921428a406fd4
|
1.4 MB | Preview Download |
|
md5:22324cdc278878cd884e4caf9971d903
|
3.0 MB | Preview Download |
|
md5:077a0512c2fef083ff789e20301038a4
|
65.8 MB | Download |
|
md5:2ef0239524f301a768e2b5b75a2210ae
|
193.6 MB | Preview Download |
|
md5:c6c9114b7545fb7e6a8a9b5c87ed6c94
|
85.3 kB | Preview Download |
|
md5:694686904ca1871e1b96f2002d2a136d
|
192.9 kB | Preview Download |
|
md5:203b70a1f9ce33f613a0b7fd516e7c20
|
3.1 GB | Preview Download |
|
md5:929ca7513292d5687c1228e1357d4d2a
|
11.5 GB | Preview Download |