emmet-core
Core Emmet Library
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later; pymatgen and its dependencies (including compiled components) must be installed.
- Low install friction with a pure-Python wheel distribution.
- Active maintenance with a recent release and ongoing commits.
License · maintenance · safety
BSD-3-Clause-LBNL (permissive) — BSD-3-Clause-LBNL is a permissive license allowing commercial and private use with attribution; no restrictions on installation or redistribution.
last release 2026-06-15 (60 days) · last repo commit 2026-08-14 · 70 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 539,153 downloads/mo, #6,110 on PyPI
Alternatives
Verify before relying
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- 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.
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 on it.
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
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.
Requires Python 3.11 or later; pymatgen and its dependencies (including compiled components) must be installed.
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
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 packagespymatgenmontypydanticpydantic-settingspymatgen-io-validationpybtextyping-extensionsblake3inflectpubchempy |
| 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
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “materials science data models”
- emmet-coreEmmet-core provides the core data models, pipelines, and API toolkit…
- fairchem-coreProvides pretrained machine learning models for predicting molecular…
- mp-apiA Python client for querying and downloading materials science data…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also pymatgen-core · pymatgen · mp-api · maggma · azureml-pipeline-core · atomate2 · azureml-pipeline · matscipy · voxel51-eta