Skip to main content

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 EPYC 9334 CPU and an NVIDIA H100 GPU. You can run this benchmark on your system with the script at benchmarks/benchmark.py. Cross on points indicate that a specific code could not run the calculation after or before the cross (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},
}

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.6.1.tar.gz (105.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.6.1-py3-none-win_amd64.whl (2.3 MB view details)

Uploaded Python 3Windows x86-64

vesin_torch-0.6.1-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

vesin_torch-0.6.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

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

vesin_torch-0.6.1-py3-none-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: vesin_torch-0.6.1.tar.gz
  • Upload date:
  • Size: 105.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for vesin_torch-0.6.1.tar.gz
Algorithm Hash digest
SHA256 2dda9587830b9967e70446b6f4ee7fb555218f83b7f29e5eedcf3fdc7055bff6
MD5 cbcafcbdaee50fef1ac3917aff203a60
BLAKE2b-256 64416b5b990fb61ede0204736daad8f1186adf6f710df60bb778450155dffaed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vesin_torch-0.6.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for vesin_torch-0.6.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 5c52cc5cee742afd2d9f338b4ed786e37a50480b80dfd47c477eed1b937340dc
MD5 fb9afd4cb6a4b6580bac5006e4112455
BLAKE2b-256 33c759786955fa5a78bed2663496d0c67a1c776d3de41bf5aaa919d0b86231ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.6.1-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 073a4d516ed05f650ad41ceeb659a2a403c82415fc229d76262a8fd892608d49
MD5 5e32a9f8be34ff8a165bd5b98c7ccc3a
BLAKE2b-256 e4fb617b218586b658aa1ce098c432632a77d405d07e9148e4df2122b118f5be

See more details on using hashes here.

File details

Details for the file vesin_torch-0.6.1-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.6.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 525e8cd24d9e724fa1135f01e3a24dc3dbda430273426c7b8575d1f6267c43ca
MD5 0ef1e48db7c7115e0d60f8844255f51f
BLAKE2b-256 31f438039b99cf4444daac1a5c9896658a48a44198406ba2c1cfb22891786c76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin_torch-0.6.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fbf1f8835664ac142e9acd60e8141c134ecf379a174803eb33ea417c69458a32
MD5 3c0d67f28879b6ed9d8e4375d9195bb6
BLAKE2b-256 5ca4c871068307d3142406ff5e08923c0ed9a0196a4eadb2fbd6a25c27484eed

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.6.1 This release

5 files

0.6.0

5 files

0.5.8

5 files

0.5.7

5 files

0.5.6

5 files

0.5.5

5 files

0.5.4

5 files

0.5.3

5 files

0.5.2

5 files

0.5.1

5 files

0.5.0

5 files

0.4.2

5 files

0.4.1

5 files

0.4.0

5 files

0.3.8

5 files

0.3.7

5 files

0.3.6

5 files

0.3.5

5 files

0.3.4

5 files

0.3.3

5 files

0.3.2

4 files

0.3.1

4 files

0.3.0

4 files

0.2.0

4 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page