GithubHelp home page GithubHelp logo

brookwander / crystaltoolkit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from materialsproject/crystaltoolkit

0.0 0.0 0.0 37.27 MB

Crystal Toolkit is an interactive web app that allows you to import, view, analyze and transform crystal structures and molecules, including a suite of reusable web components to make your own materials science web apps. Project led by @mkhorton.

Home Page: https://crystaltoolkit.org

License: Other

Python 94.91% Dockerfile 0.23% Makefile 0.17% Asymptote 3.26% Jupyter Notebook 0.35% TypeScript 0.47% CSS 0.01% JavaScript 0.60%

crystaltoolkit's Introduction

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 [email protected] 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 pre-commit.ci status

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.

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.

crystaltoolkit's People

Contributors

brookwander avatar chabb avatar codytodonnell avatar computron avatar dependabot[bot] avatar dwinston avatar gpetretto avatar guymoore13 avatar jageo avatar janosh avatar jmmshn avatar josephmontoya-tri avatar ksauzz avatar mattmcdermott avatar mkhorton avatar munrojm avatar orionarcher avatar pre-commit-ci[bot] avatar pyup-bot avatar rdguha1995 avatar shyamd avatar sweitzner avatar tschaume avatar tylerhuntington avatar utf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.