emmet-core
Core Emmet Library
What it is and what it does
Emmet-core is the foundational library for the Materials Project, providing the core Pydantic-based data models that structure materials properties, computational results, and metadata. It defines the schemas and validation logic for complex materials science objects—structures, calculations, properties, and provenance—along with the pipelines and API server infrastructure needed to serve this data. The package integrates with pymatgen for crystal structure handling and provides a CLI for convenience operations.
For developers, emmet-core is the toolkit you install when you need to work with Materials Project data, build custom data pipelines, or extend the Materials Project infrastructure. It handles serialization, validation, and organization of materials science objects so you don't have to design these schemas from scratch. Most users interact with it either through the Materials Project's public API or as a foundation for custom materials informatics applications.
Use it for:
- Build custom data pipelines to ingest, validate, and organize materials science computational results.
- Develop materials informatics applications that consume Materials Project data structures and metadata.
- Extend or customize the Materials Project API server for institutional or domain-specific materials databases.
- Serialize and deserialize complex materials science objects with full provenance tracking.
- Integrate materials data workflows with external computational chemistry or machine learning tools.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Emmet-core provides the core data models, pipelines, and API toolkit for the Materials Project, enabling structured access to materials science data and computational workflows.
Yes, if you are working with Materials Project data or building materials informatics applications. The package is actively maintained, has no known vulnerabilities, and uses a permissive license. Install friction is low. It is most valuable for developers embedded in the Materials Project ecosystem or those building custom materials databases.
Install
emmet-core on PyPI
pip
pip install emmet-coreuv
uv add emmet-corepoetry
poetry add emmet-coreInstalling emmet-core
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a recent release and ongoing commits. Requires Python 3.11 or later.
License in practice
BSD-3-Clause-LBNL is a permissive license allowing commercial and private use with attribution; no restrictions on installation or redistribution.
Quickstart
pip install emmet-core
from emmet.core import Structure
from pydantic import BaseModel
# Define and validate materials data using emmet-core models
class MaterialRecord(BaseModel):
name: str
formula: str
Requires Python 3.11 or later; pymatgen and its dependencies (including compiled components) must be installed.
Verify before relying
- Whether the package is suitable for offline use or requires active Materials Project API connectivity.
- Performance characteristics when working with large materials datasets or complex pipelines.
- Stability guarantees for the data model schemas across minor version updates.
- Specific use cases enabled by the CLI convenience interface.
Package facts
| License | BSD-3-Clause-LBNL (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — pymatgen, monty, pydantic, pydantic-settings, pymatgen-io-validation, pybtex, typing-extensions, blake3, inflect, pubchempy |
| Maintenance | actively maintained — 60 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 539,153/month — #6,110 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: emmet_core-0.87.1-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
pymatgen-corepymatgen-core provides core data structures and…
permissive · top 15,000 on PyPI
pymatgenPymatgen provides Python classes and analysis…
permissive · top 5,000 on PyPI
mp-apiA Python client for querying and downloading…
permissive · top 15,000 on PyPI
maggmaMaggma provides a unified interface for…
unclear · top 15,000 on PyPI
azureml-pipeline-coreProvides core pipeline infrastructure for Azure…
unclear · top 15,000 on PyPI
atomate2Atomate2 provides a library of pre-built…
permissive · top 15,000 on PyPI
azureml-pipelineBuilds, optimizes, and manages machine learning…
unclear · top 15,000 on PyPI
matscipyMatscipy provides domain-specific computational…
copyleft · top 15,000 on PyPI
voxel51-etaETA is an extensible computer vision and…
permissive · top 15,000 on PyPI