DOI: 10.5281/zenodo.17065118
title: Public Utility Data Liberation Project (PUDL) Data Release

description: v2025.9.1 (2025-09-05)

This is a monthly release primarily focused on updating the EIA-860M, with other incremental changes coming along for the ride. A couple of things to be aware of:





@mfripp identified a bug in how we were constructing detailed utility asset/liability and income/expense tables from FERC Form 1. This has been partially addressed, but the fix needs to be applied to a couple of additional tables. See #4593 to track our progress.




We are now producing GeoParquet outputs for tables that contain spatial data. This is a great new feature! But also potentially a breaking change, depending on what tools you’ve been using to read our Parquet outputs. GeoPandas and DuckDB’s spatial extension both work well.





Enhancements


Geospatial outputs with GeoParquet





We’ve started producing GeoParquet outputs that include explicit geometries for use with GeoPandas and other mapping and geospatial analysis packages. See geopandas.read_parquet() for dcoumentation on how to read them. We’ve also tested it with the DuckDB Spatial extension. This is still experimental and there are only a handful of tables that currently include geometries, but we hope to apply it more widely in the future for any tables with geospatial information. See PR #4546.

We’ve started by writing the Census DP1 – Profile of General Demographic Characteristics state, county, and tract level data out as GeoParquet files, so they can be used alongside the other Parquet data without needing to read the Census DP1 SQLite DB. This will allow us to point our Kaggle (and other) notebooks that make maps directly at the Parquet files in S3 rather than depending on the (somewhat chonky) Kaggle PUDL dataset. For now the only tables with a valid geometry column are:



out_censusdp1tract__states

out_censusdp1tract__counties

out_censusdp1tract__tracts

out_ferc714__georeferenced_respondents






Expanded Data Coverage


EIA-860M









Updated EIA-860M monthly generator report with newly published data for July of 2025. See issue #4590 and PR #4594.





Quality of Life Improvements





We updated our Kaggle notebooks to read PUDL data from our AWS Open Data Registry S3 bucket instead of relying on the PUDL Kaggle Dataset, since copying all of the PUDL data into the notebook workspace was taking more than 5 minutes, which made it frustrating for users to get started working with the data. This also means it should be easier to run the notebooks locally (in an appropriate Python environment) since the data doesn’t need to be present locally. The notebooks are also pushed to our PUDL Examples GitHub repo. See issue #4381.

When running dbt_helper update-tables without the --clobber flag, existing schema tests, descriptions and other metadata are now preserved. Furthermore, the --update flag has been removed, with the default schema update logic behaving as follows: if columns are added or removed, updates are allowed to pass. However, if any metadata is removed, such as tests or descriptions, the update fails unless --clobber is used. See issue #4466 and PR #4525.





Bug Fixes






Stopped nulling values in columns with ENUM constraints when the value was not found in the ENUM. Previously we logged a warning, and now it will raise an error. There were a couple of trivial cases in which we were losing values that violated the constraints, but nothing serious. See PR #4548.

Fixed a user identified bug within the out_ferc1__yearly_detailed_income_statements table unnecessarily dropping records. See PR #4580.





Documentation






Added data source pages for:





EIA Bulk API Data; see issue #4372 and PR #4567.





Other PUDL v2025.9.1 Resources



PUDL v2025.9.1 Data Dictionary

PUDL v2025.9.1 Documentation

PUDL in the AWS Open Data Registry

PUDL v2025.9.1 in a free, public AWS S3 bucket: s3://pudl.catalyst.coop/v2025.9.1/

PUDL v2025.9.1 in a requester-pays GCS bucket: gs://pudl.catalyst.coop/v2025.9.1/

Zenodo archive of the PUDL GitHub repo for this release

PUDL v2025.9.1 release on GitHub

PUDL v2025.9.1 package in the Python Package Index (PyPI)


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.