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.4.tar.gz (90.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-0.5.4-py3-none-win_amd64.whl (113.9 kB view details)

Uploaded Python 3Windows x86-64

vesin-0.5.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (142.0 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

vesin-0.5.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (129.8 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

vesin-0.5.4-py3-none-macosx_11_0_x86_64.whl (97.8 kB view details)

Uploaded Python 3macOS 11.0+ x86-64

vesin-0.5.4-py3-none-macosx_11_0_arm64.whl (91.4 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for vesin-0.5.4.tar.gz
Algorithm Hash digest
SHA256 3562708c1d39dfbf2f19f4016bcc088869f59ff43a570307edb216d5e9c791a8
MD5 a967f858301051c759b0d4a1753b1b35
BLAKE2b-256 6605be5a8a2d12a04f3f3dc76d7191d0d10fb51bc522c816ae98f1a339e19939

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vesin-0.5.4-py3-none-win_amd64.whl
  • Upload date:
  • Size: 113.9 kB
  • 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-0.5.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 702ba5e7ae642f96aa2209d76587593f4874d407313551bfd4ff8418b4f977b3
MD5 47f206a0d2ae7ab15450b1a642c15ec2
BLAKE2b-256 47beaae09c023bfc7ae3eefbc9ea35beab29ef6f17f4284d96ef485d67cda8f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin-0.5.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8f065235ad8b572fb767952634a1a33bc0ebb228b7ce43f9605098ea9baa53d3
MD5 cbff89ce65fda68fa2b53749bf1b454b
BLAKE2b-256 405a9bd6a49319599f163728efc34d5717f20cf27956776d4c313f690d1280bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin-0.5.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c1192a6bdc491aa90154fdcc8841c0cd65fc0692af9b47085e5d1cbfd703fcef
MD5 a93f04fa76603c2d7dcf3fb633ac1ca0
BLAKE2b-256 6a74aa16d829e0e3d662ff6681ce1d0860096f9b98d9bb88ea34bd7906ab015f

See more details on using hashes here.

File details

Details for the file vesin-0.5.4-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for vesin-0.5.4-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 d2a0f450278e4ae232550638a19befa9b688e3d74a978fe45086ebb5ef2a2063
MD5 9a1392bbe61dac73bf8640ef37f07590
BLAKE2b-256 d63f0bbc53e8bcf04756a8c147bcb8218a9c181f0ef276de4520046d2fc69b3f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for vesin-0.5.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 82707f2a420a4da9b6b2a3f86b66eb5bc64e9f16d9a99a81b89c1db82e86573e
MD5 fedeb2dcae7490df21720efa85366f49
BLAKE2b-256 3fcbffe69c217de5b41085fc55847375216cabe994e149f8fc7734b5a2b92bc3

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