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.3.tar.gz (79.4 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.3-py3-none-win_amd64.whl (1.4 MB view details)

Uploaded Python 3Windows x86-64

vesin_torch-0.5.3-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

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

vesin_torch-0.5.3-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.4 MB view details)

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

vesin_torch-0.5.3-py3-none-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for vesin_torch-0.5.3.tar.gz
Algorithm Hash digest
SHA256 7797ce652713361e5d57ef440f7dced55258ce316f8fcfd429ca74367fc82a69
MD5 dcdb1964bd1ddd7760ca3fe4db08c694
BLAKE2b-256 89bfab9c4caa298ce8f6e6799215364e8bbf18bad5b833c9af3e4742d5dc779d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for vesin_torch-0.5.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 5b3efc6f6576a041dbc5bec2b5e7e2c787cdd8eaa8c51b736d42b88a257a4b65
MD5 20917bd63e9be8b6d20d55b0c4b7b02e
BLAKE2b-256 70eef570ea07dbc6c4b77dbf50a7a37a95b40f6d2430dfe676051f8053a6d1b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.3-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b9e36b74c99ccaa0da13afc59853da296c0df9e85066bc8ade94e7ef8bec46cb
MD5 1e7dfa6ffb491847c6c63b14345b6810
BLAKE2b-256 a1bc6911ec3126812499ae9c3ae8cf1e9d6f1b4da237c1d507ddc34385fe6b24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.3-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2e91c80961413dfe9872aa6e2a6de0e61210075d5ab038feafadbb36d028380e
MD5 fc9c31f361cbfa3b941f3cad2bdbc75c
BLAKE2b-256 140380c9bb178885cd9ccede73c240af7e3ffc653b9e8b8124c7d265a8b43c39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0bb8b818aeb7dcb99dc28ada576252396b81dcfca6c9c932cfc6c3fbe68efed
MD5 657bb90228ea57a3567337434cc213ef
BLAKE2b-256 216e0349e7d301c1b5e31448f7ef5a81f3417d99d08e5172c57de66bf654f8ff

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