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

Uploaded Python 3Windows x86-64

vesin_torch-0.5.4-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.9 MB view details)

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

vesin_torch-0.5.4-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.8 MB view details)

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

vesin_torch-0.5.4-py3-none-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: vesin_torch-0.5.4.tar.gz
  • Upload date:
  • Size: 83.4 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.4.tar.gz
Algorithm Hash digest
SHA256 e58ac4daf82a6d1c88b5b114a0e542723924c801b5b7ccdef655f5600f2490d3
MD5 c54116f443726a130d9a33a94d991bab
BLAKE2b-256 de304e85c316f725cbde53c8aafc3cc749bf2a1b23a4d4bbccb19b617fab0bb1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vesin_torch-0.5.4-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.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 52de73bdb96c615474c3e778689b806771016928e54aa8b3898fb1fc844c09aa
MD5 54c98c5f3e69c8a4ca9c62aa33608c30
BLAKE2b-256 b508c8a6cfe7bd4d7eef7e160dfa527157531f39e5f4c0b598e117cfdd2d9447

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.4-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bc44e7bd257de04a39a218983e505a25c9091ee5efd70a04a205cd397e921055
MD5 89dd821e6ff61764113b2382b600502c
BLAKE2b-256 0a267401abb9f9201b98644963cfc101b26911f599b1a2258a447f02926e3674

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.4-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 730c3b7f4dfa5dec0372987c2d11355ec60c3fbc50ee8fb9523137a2fdd619b5
MD5 f260091c3ea0bec9d65aad3621bc5ce5
BLAKE2b-256 2eec1acb1124d07bf33d8261ecdae138f1c8dd5c98734482d581f01979ca213f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2ca332fa626f0075c348008c83aa68e03a4e994e569766a49f10d9f31a915df6
MD5 b21be5724449958180f957d9647fe442
BLAKE2b-256 2a582b9538fe976b7c544fe42c726574d2ad2e0ffd5699c66772e920b2fc7d48

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