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.6.tar.gz (93.3 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.6-py3-none-win_amd64.whl (107.6 kB view details)

Uploaded Python 3Windows x86-64

vesin-0.5.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (121.6 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

vesin-0.5.6-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (113.2 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

vesin-0.5.6-py3-none-macosx_11_0_x86_64.whl (91.7 kB view details)

Uploaded Python 3macOS 11.0+ x86-64

vesin-0.5.6-py3-none-macosx_11_0_arm64.whl (87.0 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: vesin-0.5.6.tar.gz
  • Upload date:
  • Size: 93.3 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.6.tar.gz
Algorithm Hash digest
SHA256 9bea298a91c1503178f296b3fab7ce187aea1ef8a65321ea381694603885aa9a
MD5 fba8e890059995b0589a651f60ea5284
BLAKE2b-256 d1f0476f48b3a983fcbeec6da069c7cae3f14443eddae318279b8ffcf99d3488

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vesin-0.5.6-py3-none-win_amd64.whl
  • Upload date:
  • Size: 107.6 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.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4ddfd1f0c01e93c9e9c08eda4f932a6b4d0d67bc03e8907fc974515db9c3e4bf
MD5 68c700a80bf7b79ce2b63eca32f2dbc8
BLAKE2b-256 ba29d48d0e886e93ba388f28c48f65968df0bacaab69de6b414e6e6970957440

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin-0.5.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 29484915c34b093569ee3e633a7c982fa6022eb7f4c46f65381030350e78b8e1
MD5 284a7a5fee5e2a4aff9fcfde74d7c16c
BLAKE2b-256 8561c77e4ee2c15bc5c2b8d169327d20b418e3e9d5b100a173e0499f781ce218

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin-0.5.6-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 86b7d8209ec0f5946f45950945a7e4a556a23529bc8c933f4250ea1c23d45020
MD5 4ad972d1dabc535400a19de8ef3601ad
BLAKE2b-256 9188758090d7865aa6030e8c5b5054bbe57bbabddf9407f01b1c15c78c079905

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vesin-0.5.6-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 bed4f8aec478c29fefe1d2262ba0341019228c434d6921e41bf4fd494587602a
MD5 55fdc57a3d4254c7f4b46067d516db04
BLAKE2b-256 b6da79b073da4d2b1aadb4677640d21a11d0e5d30b574287e70b120ea1d4c6b7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vesin-0.5.6-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 87.0 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.6-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d4f5a42df8594311c59fd6310b97763f711aac21cea97db51ee858469d1a22ff
MD5 1e7f1fa6fb6a241b8feb98a4df383e25
BLAKE2b-256 639c8c63ceaf2004bf64c3b10563459cba5d96da0e360b194f4ae5ca46dad41b

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