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

Uploaded Python 3Windows x86-64

vesin_torch-0.5.0-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.0-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.0-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.0.tar.gz.

File metadata

  • Download URL: vesin_torch-0.5.0.tar.gz
  • Upload date:
  • Size: 77.8 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.0.tar.gz
Algorithm Hash digest
SHA256 412ca3fbad62f91a68dcebe5d5ef434d1b4506acaf19a25be79e9ebcb0bf0bf6
MD5 58c1bf6083d162cdd311f930315a4c29
BLAKE2b-256 c8f80cf6000fbe0dbd3a5c677736f64be6d9ec8e33f5d3386483ba85579e432d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vesin_torch-0.5.0-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.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4f079ab0a78e70dfa082176e478c21439e9bc00394e4924473d50e4a3b97f96d
MD5 1ac5c400341ec689d2f4b56248f81492
BLAKE2b-256 4c77fe0e10ed82d7c60fc8dd1cb02dd27e09b1883c89e3b8c22b2f7ad7b0019c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.0-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3aa611a7579714a7fd5d2c1e2f4a80d34a6a6e90810db16797456a318636edc5
MD5 244b2d56f8a066432567dbed2245d370
BLAKE2b-256 eca46a52f774c36aecf4650a74a6da197b85c4ae7bd9105725198bdef0ca8ba6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.0-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2e6a9213b43d2f1935c3df88a58809450b7093116474d079000fc4b4c6456486
MD5 ba37dea05748efef692023d1f05c9792
BLAKE2b-256 23f04e6848391598b06502f5223c5ca3aa9914fa9415299a9e2d085209b65b31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fbecd01440bc73237f079970b155bbb3a27ba58f2e03905a31fa706b7418a239
MD5 7272e76fccaa05c30f3fc887c774e1e1
BLAKE2b-256 3ff274c8ca237243403480be5eb2c6ca3688bd77c2b28156eee8aa5c8934b490

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