CeraViz
Crystal structure visualization and Materials Project search tool.
Render 3D crystal structures from the Materials Project database with PyVista, complete with CrystalNN bond detection, split-bond coloring, and interactive atom inspection.
Features
- 3D crystal visualization with atoms, bonds, and unit cell wireframe
- CrystalNN bond detection with split-bond coloring per element
- Jmol/CPK color scheme for all elements
- Interactive CLI search across the Materials Project database
- Supercell expansion (arbitrary nx×ny×nz)
- Click-to-inspect atom info (element, coordinates, oxidation state)
Installation
pip install ceraviz
For Jupyter notebook support:
pip install ceraviz[jupyter]
Setup
You need a free Materials Project API key:
- Sign up at materialsproject.org
- Set the environment variable:
export MP_API_KEY="your_api_key_here"
Quick Start
Python API
from ceraviz import render_material
# Render a crystal structure by Materials Project ID
render_material("mp-1234")
# With supercell expansion
render_material("mp-1234", supercell=(2, 2, 2))
CLI Search
ceraviz
This launches an interactive CLI where you can:
- Search by elements (e.g.,
Li,Fe) - Search by chemical system (e.g.,
Li-Fe) - Search with wildcards (e.g.,
Li-Fe-*-*) - Search by exact formula (e.g.,
Li3Fe) - View any result as a 3D crystal structure
Dependencies
- pymatgen — crystal structure analysis
- PyVista — 3D visualization
- mp-api — Materials Project API client
- Rich — CLI formatting
License
MIT
Metadata
Release files for ceraviz 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ceraviz-0.1.1.tar.gz | 18.3 kB | Without provenance | Details for ceraviz-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ceraviz-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for ceraviz-0.1.1-py3-none-any.whl |
Total release size: 36.5 kB
Release files / ceraviz-0.1.1.tar.gz
| Download URL | ceraviz-0.1.1.tar.gz |
|---|---|
| Size | 18.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
66eb52f4535f413e03a82ba6bac46c1e2cedb8cd64d844c7c050950ad17bedd3
|
|
BLAKE2b-256 checksum How to use checksums |
99732beea036e7e6300e17f50ff62c5a63ac9571ca8504947e960088a4603307
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / ceraviz-0.1.1-py3-none-any.whl
| Download URL | ceraviz-0.1.1-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ce9abed6e7e237f9007790c361f0e983ffa04f53a6c01a8928d10d210c4bd5ab
|
|
BLAKE2b-256 checksum How to use checksums |
9cfd4f4cc6b18de47bde11da7fccb186c50d9ce262f8aca2d4b7d5be0d300fe4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for ceraviz 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.