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.6.tar.gz (87.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.6-py3-none-win_amd64.whl (1.7 MB view details)

Uploaded Python 3Windows x86-64

vesin_torch-0.5.6-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.8 MB view details)

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

vesin_torch-0.5.6-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view details)

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

vesin_torch-0.5.6-py3-none-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: vesin_torch-0.5.6.tar.gz
  • Upload date:
  • Size: 87.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.6.tar.gz
Algorithm Hash digest
SHA256 559afad0f1f3b8a63a311b0e23abd1dbb014973a1567168d58195e4b4d81d90d
MD5 d292e18feab3956fa2991e431ebd3154
BLAKE2b-256 cd7091f647ef3d2e346253d8faa72fd6c7308ce3285f22fdfdaa5a7e490306a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vesin_torch-0.5.6-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.7 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.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 dc2008162c76b6d04093e56c741a2bd065bd5f315ae128eedd5c4bf59907ad09
MD5 a59eb2d129f7ce849fb95929a59dc136
BLAKE2b-256 8291e599a934e8a2169d0701cc09be8ad08f1cd7917a259922cbec27f30883bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.6-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f9ed5a475e36fcda0f7dfd8c4d839c67708c74702532df3d2b1ff2f61a6f3e67
MD5 91691bbc9321e4e288043b4aeab36acf
BLAKE2b-256 3d26db9783ba18b550246bea5f4128e1c65ec6bae24c2c7023df6b6b534839f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.6-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e4750700400d41a1fedfed1952565087f23684be7246dc965b23773c888953b4
MD5 26e585e18539b2e98bf38e6bc3c3a48f
BLAKE2b-256 ae47250bb4f1dafcc0749071c0b8726683672a4f6a3ed12319fffacb1803cdc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.6-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33a430e94e9002188055ceb1c7efee4ab1d2c445670bdacffc05d36fe48256f7
MD5 0836e589623babc8096cbc48a8bb7785
BLAKE2b-256 d327f10cd300144d926d089469b4e54b28d6c1cb0aaaab9f04986dcc32832983

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