https://dev.azure.com/laurihimanen/DScribe%20CI/_apis/build/status/SINGROUP.dscribe?branchName=master https://coveralls.io/repos/github/SINGROUP/dscribe/badge.svg?branch=master https://img.shields.io/badge/code%20style-black-000000.svg

DScribe is a Python package for transforming atomic structures into fixed-size numerical fingerprints. These fingerprints are often called “descriptors” and they can be used in various tasks, including machine learning, visualization, similarity analysis, etc. To get started you can check the basic tutorial.


Version 1.2.0 adds the Valle-Oganov descriptor and derivatives for the Coulomb matrix. Check the changelog for more details.

Capabilities at a Glance

DScribe currently includes the following descriptors:

Descriptor name



Coulomb matrix

Sine matrix

Ewald sum matrix

Atom-centered Symmetry Functions (ACSF)

Smooth Overlap of Atomic Positions (SOAP)

Many-body Tensor Representation (MBTR)

Local Many-body Tensor Representation (LMBTR)

Valle-Oganov descriptor

Check the tutorials for more information.

Go Deeper

You can find more details in our open-access article: DScribe: Library of descriptors for machine learning in materials science

Documentation for the source code can be found here. The full source code with examples and regression tests can be explored at github.