Skip to main content

Crystal Toolkit is a web app framework from the Materials Project allowing Python

Project description

Crystal Toolkit

Interested in contributing?

A current list of new contributor issues can be seen here. If you would like a new-contributor issue assigned, get in touch with project maintainers!

Status

Tests Visual Regression Test Status Docker Build Status Release pre-commit.ci status arXiv link

Installation

pip install crystal-toolkit

Documentation

Documentation can be found at docs.crystaltoolkit.org.

Example Apps

Description        
bandstructure.py
Demonstrates capabilities of the BandstructureAndDosComponent component
Launch Codespace
basic_hello_structure.py
Uses StructureMoleculeComponent to show a simple pymatgen structure
Launch Codespace
basic_hello_structure_interactive.py
Adds a button to the basic_hello_structure.py to toggle between two structures interactively
Launch Codespace
basic_hello_world.py
Bare-bones example showing how to render the text "Hello scientist!" in Dash app
Launch Codespace
diffraction.py
Demonstrates capabilities of the XRayDiffractionComponent component
Launch Codespace
diffraction_dynamic.py
Adds a button to diffraction.py to load a new structure on the fly
Launch Codespace
diffraction_empty.py
Shows XRayDiffractionComponent can be mounted without a passing structure
Launch Codespace
kwarg_inputs.py
Shows off boolean input (aka toggle), matrix input and slider input components
Launch Codespace
phase_diagram.py
Combines MPRester.get_entries_in_chemsys() and the PhaseDiagram component to plot the Li-O-Co convex hull
Launch Codespace
pourbaix.py
Combines MPRester.get_pourbaix_entries() and the PourbaixDiagramComponent to plot the Fe-CO Pourbaix diagram
Launch Codespace
structure.py
Show cases multiple layout options for the StructureMoleculeComponent
Launch Codespace
structure_magnetic.py
Plots a structure with magnetic moments
Launch Codespace
matbench_dielectric_structure_on_hover.py
Creates a scatter plot hooked up to a StructureMoleculeComponent and DataTable that show the structure and highlight the table row corresponding to the hovered scatter point.
Launch Codespace
matbench_dielectric_datatable_xrd.py
Renders a DataTable hooked up to a StructureMoleculeComponent and XRayDiffractionComponent so that hovering a table row will show the corresponding structure and its XRD pattern.
Launch Codespace
transformations.py
Combines StructureMoleculeComponent and AllTransformationsComponent to apply interactive structure transformations
Launch Codespace
transformations_minimal.py
Shows how to restrict the types of allowed transformations
Launch Codespace
write_structure_screenshot_to_file.py
Shows to save interactive structure views as image files
Launch Codespace

Team and Contribution Policy

The Crystal Toolkit Development Team includes:

New contributors are welcome, please see our Code of Conduct. If you are a new contributor please modify this README in your Pull Request to add your name to the list.

Future of This Repository

The Crystal Toolkit repository is home of an object-oriented Python framework for rendering materials science data based on the schema employed by the Materials Project.

The custom Plotly Dash components that power Crystal Toolkit are now maintained in a separate repository for ease of development, as well as the custom React components. These components were formerly included in the Crystal Toolkit repo, and are still considered part of Crystal Toolkit in spirit.

There are some important issues still to be resolved, as well as general improvements to documentation and test suite planned. Some currently-private code is also planned to be re-incorporated into the public Crystal Toolkit repo.

Acknowledgements

Thank you to all the authors and maintainers of the libraries Crystal Toolkit depends upon, and in particular pymatgen for crystallographic analysis and Dash from Plotly for their web app framework.

Thank you to the NERSC Spin service for hosting the app and for their technical support.

Cite

To cite this work, see https://arxiv.org/abs/2302.06147 and citation.cff.

Contact

Please contact @mkhorton with any queries or add an issue on the GitHub Issues page.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crystal_toolkit-2023.6.1.tar.gz (15.5 MB view details)

Uploaded Source

Built Distribution

crystal_toolkit-2023.6.1-py3-none-any.whl (15.9 MB view details)

Uploaded Python 3

File details

Details for the file crystal_toolkit-2023.6.1.tar.gz.

File metadata

  • Download URL: crystal_toolkit-2023.6.1.tar.gz
  • Upload date:
  • Size: 15.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.16

File hashes

Hashes for crystal_toolkit-2023.6.1.tar.gz
Algorithm Hash digest
SHA256 291726bee4f839dbe9c99651b6ce4e93cc5e3091f8eb3b2d79fb9e9799dbfded
MD5 f0d4ed4085401fa7cceb8972a5d1336b
BLAKE2b-256 45f230b096349686f0a5df6a3160861490b9d38b604c0552e0d7bc343476b6e9

See more details on using hashes here.

File details

Details for the file crystal_toolkit-2023.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for crystal_toolkit-2023.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 38bd320d40e48b0875e9c77aee3db6256aabf9ae348c1c72f84148d8c2719de2
MD5 7f3fec79f2f454e01eccf95175b622f6
BLAKE2b-256 06eb4bbb2a40145a300836871c17678276bc9ab577b2f45c1a7ec3f2465a91f9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page