Skip to main content

Computing neighbor lists for atomistic system

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-0.5.3.tar.gz (84.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-0.5.3-py3-none-win_amd64.whl (110.9 kB view details)

Uploaded Python 3Windows x86-64

vesin-0.5.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (139.0 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

vesin-0.5.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (126.8 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

vesin-0.5.3-py3-none-macosx_11_0_arm64.whl (88.6 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

vesin-0.5.3-py3-none-macosx_10_13_x86_64.whl (94.8 kB view details)

Uploaded Python 3macOS 10.13+ x86-64

File details

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

File metadata

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

File hashes

Hashes for vesin-0.5.3.tar.gz
Algorithm Hash digest
SHA256 166b99a50757a49fdb05bd242ab55f9fc9f1e3b1b476f9edf82a0289c1a0f2ac
MD5 5396fc123ee6e37285512be159279644
BLAKE2b-256 98a0b9225a6d70a7522dc900bfa588d814d141cc895209d13407235e14cd9cca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vesin-0.5.3-py3-none-win_amd64.whl
  • Upload date:
  • Size: 110.9 kB
  • 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-0.5.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 853719c41928e498ccb23cc459e2c4240e40ab1afa9870775266d7457d32beae
MD5 e6e009596e9fc5beeb4fc834713b3fc8
BLAKE2b-256 7af1e620f289d3ce52b340e905ee94c3b88c33b4c964f6884eb05132670990c6

See more details on using hashes here.

File details

Details for the file vesin-0.5.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for vesin-0.5.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5993282c9f9dd6ddda31804d3d673027e79a7678bb4e5022edc771bb0a813c6d
MD5 d603b1017e374371ff24616b9cbf07ed
BLAKE2b-256 230c3d0e1db6b741087ed23a0790446ea8a0ec806f3b8233ea9492cb3c847fbe

See more details on using hashes here.

File details

Details for the file vesin-0.5.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for vesin-0.5.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 a1e14f077ed6b4a158660f220d09cfd236809e80fc7c62704b99aee2bc32530e
MD5 c0c71080b9d3957983de7ca5c4c247f7
BLAKE2b-256 7e9ddf44cbc14e734421a0a05bb513dc787e94a3444d37b067dcf4e90825c215

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vesin-0.5.3-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 88.6 kB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for vesin-0.5.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 26a4dfa40b3d4913bcee9d36873d24205b5adced2531a5c4859bb2a185b0d053
MD5 22087c984f8d24c6091fae9365b16121
BLAKE2b-256 d42ac4589be6c4d4e58e7bd4b39319d4cb346429240e41a8f35ad5e88484ef63

See more details on using hashes here.

File details

Details for the file vesin-0.5.3-py3-none-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for vesin-0.5.3-py3-none-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 97c149ea616857f82bdef7745eb08a0e1b1cecb125057f6a2cb97c3e84e5c07c
MD5 d6bd6bac9b0854f0a592b3497eb5d1ff
BLAKE2b-256 b15cf1c74b60b3c0c73c59d57b3feaf99196f0a8716d24535d29d38dac2ed5a5

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