# Metatensor [![tests status](https://img.shields.io/github/checks-status/metatensor/metatensor/master)](https://github.com/metatensor/metatensor/actions?query=branch%3Amaster) [![documentation](https://img.shields.io/badge/documentation-latest-sucess)](https://docs.metatensor.org/latest/) [![coverage](https://codecov.io/gh/metatensor/metatensor/branch/master/graph/badge.svg)](https://codecov.io/gh/metatensor/metatensor) Metatensor is a self-describing sparse tensor data format for atomistic machine learning and beyond; storing values and gradients of these values together. Think numpy `ndarray` or pytorch `Tensor` equipped with extra metadata for atomic systems and other point clouds data. The core of this library is written in Rust and we provide API for C, C++, and Python. The main class of metatensor is the `TensorMap` data structure, defining a custom block-sparse data format. If you are using metatensor from Python, we additionally provide a collection of mathematical, logical and other utility operations to make working with TensorMaps more convenient. ## Documentation For details, tutorials, and examples, please have a look at our [documentation](https://docs.metatensor.org/). ## Contributors Thanks goes to all people that make metatensor possible: [![contributors list](https://contrib.rocks/image?repo=metatensor/metatensor)](https://github.com/metatensor/metatensor/graphs/contributors) We always welcome new contributors. If you want to help us take a look at our [contribution guidelines](CONTRIBUTING.rst) and afterwards you may start with an open issue marked as [good first issue](https://github.com/metatensor/metatensor/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).