Database version 2026.04.13 is now generally available via the mp-api Python client (please upgrade mp-api to 0.46.2!) as well as the Materials Project website. Check the release notes on MP’s public docs for more data-specific details.
This release also marks a major change in MP’s cloud storage layer: all of MP’s core data products are now backed by Delta tables (minus the jargon: parquet files with some extra metadata on top). You can consult the data lake section in MP’s docs for some further MP-specific discussion around this.
The main thing you might encounter as a user is the MPDataset object returned to you by the mp-api client when you execute a full download for a given endpoint (happens when you call the .search method for an endpoint with no args or kwargs, e.g., mpr.materials.summary.search()).
When you execute this query now, the mp-api client will download the parquet files backing the summary collection from AWS S3, apply some formatting, and give you a thin wrapper around a locally stored PyArrow Dataset (the mp-api client will tell you where the files are stored on your machine). See the full list of endpoints with Delta + mp-api support here: Supported Data Products
This differs from the previous full download behavior, where the client would download all the various json files for a collection and then persist the full collection in memory, requiring you to write the files to disk. There was also significant memory pressure on some of the larger collections, but this should no longer be a concern.
It may be slightly uncomfortable at first, but I highly encourage the use of PyArrow as the primary “query engine” or data manipulation tool used to interact with MPDatasets. If you have gone through the Python for-loop to NumPy vectorization or pandas best practices learning curves, getting the hang of PyArrow should not be too onerous.
I have also created a dedicated arrow category where you can ask specific questions about MP’s new arrow/parquet-related data products. And I’ll hopefully add some examples/use cases there when I have time that show what can be done that goes beyond the functionality provided by the mp-api client. One concrete example from docs though as a closing note.