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.8.tar.gz (89.1 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.8-py3-none-win_amd64.whl (1.9 MB view details)

Uploaded Python 3Windows x86-64

vesin_torch-0.5.8-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.8-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

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

vesin_torch-0.5.8-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.8.tar.gz.

File metadata

  • Download URL: vesin_torch-0.5.8.tar.gz
  • Upload date:
  • Size: 89.1 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.8.tar.gz
Algorithm Hash digest
SHA256 381feaeae59f1dbac2275f033d16c44d9e74aa5d44c965c50811e9be2d7a53bb
MD5 345b6e4b9202b21d34e3644c411b8517
BLAKE2b-256 4d62d46095475e48502c7aa4f4db5108c21b7ff7fb37bf275acccdb9070aafbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vesin_torch-0.5.8-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.8-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b51238ddd512070a43bf57d1b378de770b4ff1d5ea57beeae6b212603c671354
MD5 3eb757b4fc0e894e2897a0af5a6ba270
BLAKE2b-256 aef51f3e2c5dc0293ce499a8780a99c933dcc119188d3e5335bf20bf04b72bae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.8-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 84dd5454a4f44bb718042d8d6e70f72279495ae1709ddb79dc341e29487fceaa
MD5 cbebd2bbe52e8b1200acca79000c7c86
BLAKE2b-256 4a73c8f8e5b2de134ec088881784561ba2e5c228e38e9db549f4b1140740dc7f

See more details on using hashes here.

File details

Details for the file vesin_torch-0.5.8-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vesin_torch-0.5.8-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e8917f83b980023d0d61123fd547a92c46dd3f17a23384cb2dbbee180aff5ce0
MD5 6249653f5a544e7806b657180dc8561b
BLAKE2b-256 4c2494c41e4b3f80d5dae4b79b4e33d13911162788f20172d4c1da12b4ada1cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.5.8-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7354d5267228d66ed42720747ee39c6e232442f6d835a72d17af2a0fff0060d
MD5 0993513617da56caae967ec667476e9c
BLAKE2b-256 98a187ceec4421827e7f036b3c3b01c13c57707cae431eddc4a2ec0b63c9103d

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