Skip to main content

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

Reason this release was yanked:

Accidental release with incorrect version

Project description

Crystal Toolkit

Call for new contributors

Crystal Toolkit is an academic project. A manuscript is in preparation to detail the design goals of Crystal Toolkit and achievements to date.

If you are interested in getting involved in Crystal Toolkit and are not already, it is not too late to be included in this manuscript, but please get in touch with mkhorton@lbl.gov ASAP. Include information on the specific contributions that you would like to make (e.g. this may include adding features, addressing bugs, writing documentation, manuscript preparation, community engagement, writing tests, and the like), and if these align with the project we can formally add you to the development team.

Following a discussion with a potential contributor, "new contributor" issues are assigned. A current list of new contributor issues can be seen here.

Status

Pytest Status Visual Regression Test Status Docker Build Status Release

Documentation

Documentation can be found at docs.crystaltoolkit.org

Example Apps

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

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.

Cross-browser Testing Platform and Open Source <3 generously provided by Sauce Labs

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-2020.8.15.dev1821.tar.gz (11.7 MB view details)

Uploaded Source

Built Distribution

File details

Details for the file crystal_toolkit-2020.8.15.dev1821.tar.gz.

File metadata

File hashes

Hashes for crystal_toolkit-2020.8.15.dev1821.tar.gz
Algorithm Hash digest
SHA256 dc17741eb19c6f13b101cf103b6c05ab69b539d3c253b5fbcdf60fbfad273002
MD5 86c0057c15f774f0f059fca91a9287b7
BLAKE2b-256 3d97115149167d48f9db8906ffbbc67f1d0fd420ab1a89dd08adafbeaa2fe9ff

See more details on using hashes here.

File details

Details for the file crystal_toolkit-2020.8.15.dev1821-py3-none-any.whl.

File metadata

File hashes

Hashes for crystal_toolkit-2020.8.15.dev1821-py3-none-any.whl
Algorithm Hash digest
SHA256 b764a5d4b11cfbfc0417aa4a714f9a966abc27cdf611db08e64028827440b811
MD5 c92157eaf92a13bb2f87b7b527d0be54
BLAKE2b-256 04bcc35d381676678ff9dc514cb811d7767c7f0a9c12ded096c89fb9b2f64c6a

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