skillfed

emmet-core

Core Emmet Library

emmet-core v0.87.1 539.2K downloads/30d#6,110 on PyPI70
Permissive license BSD-3-Clause-LBNL Active released

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-core

uv

uv add emmet-core

poetry

poetry add emmet-core

Installing 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

materials science data modelsmaterials project API toolkitmaterials data pipelinescomputational materials workflowsmaterials database APImaterials project core librarymaterials data structures
materials-sciencedata-modelsapi-toolkit

More Scientific/Engineering packages