Skip to main content

Computing neighbor lists for atomistic system, in TorchScript

Project description

Vesin: fast neighbor lists for atomistic systems

Documentation Tests

English 🇺🇸⁠/⁠🇬🇧 Occitan Arpitan French 🇫🇷 Gallo‑Italic Catalan Spanish 🇪🇸 Italian 🇮🇹
neighbo(u)r vesin vesin voisin visin veí vecino vicino

Vesin is a fast and easy to use library computing neighbor lists for atomistic system. We provide an interface for the following programing languages:

  • C (also compatible with C++). The project can be installed and used as a library with your own build system, or included as a single file and built directly by your own build system;
  • Python;
  • TorchScript, with both a C++ and Python interface;

Installation

To use the code from Python, you can install it with pip:

pip install vesin

See the documentation for more information on how to install the code to use it from C or C++.

Usage instruction

You can either use the NeighborList calculator class:

import numpy as np
from vesin import NeighborList

# positions can be anything compatible with numpy's ndarray
positions = [
    (0, 0, 0),
    (0, 1.3, 1.3),
]
box = 3.2 * np.eye(3)

calculator = NeighborList(cutoff=4.2, full_list=True)
i, j, S, d = calculator.compute(
    points=positions,
    box=box,
    periodic=True,
    quantities="ijSd"
)

We also provide a function with drop-in compatibility to ASE's neighbor list:

import ase
from vesin import ase_neighbor_list

atoms = ase.Atoms(...)

i, j, S, d = ase_neighbor_list("ijSd", atoms, cutoff=4.2)

See the documentation for more information on how to use the code from C or C++.

Benchmarks

You can find below benchmark result computing neighbor lists for increasingly large diamond supercells, using an AMD 3955WX CPU and an NVIDIA 4070 Ti SUPER GPU. You can run this benchmark on your system with the script at benchmarks/benchmark.py. Missing points indicate that a specific code could not run the calculation (for example, NNPOps requires the cell to be twice the cutoff in size, and can't run with large cutoffs and small cells).

Benchmarks

License

Vesin is is distributed under the 3 clauses BSD license. By contributing to this code, you agree to distribute your contributions under the same license.

Citation

If you found vesin useful, you can cite the pre-print where it was presented (https://doi.org/10.48550/arXiv.2508.15704) as

@misc{metatensor-and-metatomic,
    title = {Metatensor and Metatomic: Foundational Libraries for Interoperable Atomistic
    Machine Learning},
    shorttitle = {Metatensor and Metatomic},
    author = {Bigi, Filippo and Abbott, Joseph W. and Loche, Philip and Mazitov, Arslan
    and Tisi, Davide and Langer, Marcel F. and Goscinski, Alexander and Pegolo, Paolo
    and Chong, Sanggyu and Goswami, Rohit and Chorna, Sofiia and Kellner, Matthias and
    Ceriotti, Michele and Fraux, Guillaume},
    year = {2025},
    month = aug,
    publisher = {arXiv},
    doi = {10.48550/arXiv.2508.15704},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vesin_torch-0.5.7.tar.gz (89.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

vesin_torch-0.5.7-py3-none-win_amd64.whl (1.9 MB view details)

Uploaded Python 3Windows x86-64

vesin_torch-0.5.7-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

vesin_torch-0.5.7-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.9 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

vesin_torch-0.5.7-py3-none-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file vesin_torch-0.5.7.tar.gz.

File metadata

  • Download URL: vesin_torch-0.5.7.tar.gz
  • Upload date:
  • Size: 89.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for vesin_torch-0.5.7.tar.gz
Algorithm Hash digest
SHA256 928c86253ac537703baf9020119c62a4213662123231414c140ed17183f11238
MD5 ac7a88cdadfbbbb8594b308bea76b070
BLAKE2b-256 c53b4b678da3b5a3a5dcc403cd628b30d739cee0d65d32f5688a0b778ac41604

See more details on using hashes here.

File details

Details for the file vesin_torch-0.5.7-py3-none-win_amd64.whl.

File metadata

  • Download URL: vesin_torch-0.5.7-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for vesin_torch-0.5.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 dc7b0db93fc98f7c0238febebdcaf76728be9df2349eb9b34eaaf635c0e38d20
MD5 ff9b5593cc23a31567e6b2c0e12d1026
BLAKE2b-256 5c299ec2ccb3deafb061859e20e63c62e4945df8439203ab89190fdd68f76290

See more details on using hashes here.

File details

Details for the file vesin_torch-0.5.7-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vesin_torch-0.5.7-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 15406b01ab309d7e45c8bf3add0bc474233535c29a31409908550f8cdcdc470c
MD5 b0c91807845731c872fe239649ac311c
BLAKE2b-256 ee2cb659285fc1e6a26661dc34af47b44d96e4436d9f24520ff88150130987c8

See more details on using hashes here.

File details

Details for the file vesin_torch-0.5.7-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for vesin_torch-0.5.7-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 882e02483a773f9e041d69aae83e217cd042c6835ccc425e11b4cf3ab1b33f01
MD5 274a2dbc2e284556499abc64168490b0
BLAKE2b-256 c0a2a3e865c5f4ac3a4d433fc2b539cb49490447fa06bfb1ca197e984cf690b7

See more details on using hashes here.

File details

Details for the file vesin_torch-0.5.7-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vesin_torch-0.5.7-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca89373f96f20f0ef4d3a95df16a805251a1528e66eea3ad557d59b9fe6be0f2
MD5 4af2bcf177c2f5ca67f764b8ad3243aa
BLAKE2b-256 698a1a409b14f6ed5b2db1a610aea71da64cef668847204875a80db14c459a5c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page