Skip to content

openkim/kim-tools

Repository files navigation

kim-tools

Testing docs PyPI codecov

KIMTestDriver and SingleCrystalTestDriver classes for creating OpenKIM Test Drivers, and helper routines for writing KIM Tests and Verification Checks. Documentation at https://kim-tools.readthedocs.io.

Contributing Guide (Under Construction)

All contributed functions, classes and methods should be documented with Google style docstrings (https://google.github.io/styleguide/pyguide.html#383-functions-and-methods) and should have type hints for all arguments and return values (https://docs.python.org/3/library/typing.html). The docstrings are automatically rendered into the API documentation. To check that this is working correctly, install the Python packages in docs/requirements-docs.txt and run make html in docs/. There are some warnings, but there should be no errors, and the rendered docstring in the appropriate module html (e.g., docs/build/html/kim_tools.ase.html) should have a properly rendered section for the functions, classes and methods you wrote. See kim_tools/test_driver/core.py for a variety of examples of docstrings.

The code has a simple test suite using pytest. See the various files named test_* in tests/ for examples and add tests for any code you write.

To confirm that your code will pass the linter and style checks, install pre-commit as in this guide: https://pre-commit.com/#quick-start. The checks will run every time you make a commit.

kim_tools/ase contains utility functions that can be used for interatomic calculations. It is inherited from merging https://github.com/openkim/kim-python-utils into this repo. Previously, it worked only with KIM Models. All new functions added to this module should support being passed both a KIM Model as a string, and an ASE Calculator object. See kim-tools/ase/core.py::get_isolated_energy_per_atom for an example. If you are working on or with existing functions in this module, try to upgrade it to this functionality.

About

KIMTestDriver and CrystalGenomeTestDriver classes for creating OpenKIM Test Drivers

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •