vesin
Computing neighbor lists for atomistic system
What it is and what it does
Vesin is a compiled library for computing neighbor lists in atomistic simulations—the core operation of identifying which atoms interact within a specified cutoff distance. It wraps a high-performance C implementation and exposes it via a Python API, with support for periodic boundary conditions and various output formats (pair indices, shift vectors, distances). The library is designed for molecular dynamics, machine learning on atomic structures, and other computational chemistry workflows where neighbor identification is a bottleneck.
You can use it either through its own NeighborList class or via a drop-in replacement for ASE's neighbor list function, making it suitable for integration into existing atomistic simulation pipelines. It requires numpy at runtime and Python 3.10 or later.
Use it for:
- Computing pairwise interactions in molecular dynamics simulations with periodic boundary conditions.
- Generating training data for machine learning models on atomic structures by identifying neighbor pairs.
- Accelerating force-field calculations in computational chemistry by quickly finding atoms within cutoff range.
- Integrating into ASE-based workflows as a faster drop-in replacement for neighbor list computation.
- Building graph representations of atomic systems for neural network potentials.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Vesin computes neighbor lists for atomistic systems—identifying which atoms are within a cutoff distance of each other—with a Python interface backed by compiled code for speed.
Yes, if you work with atomistic simulations or machine learning on atomic structures. Vesin solves a specific, performance-critical problem with active maintenance, no known vulnerabilities, and permissive licensing. The medium install friction is offset by precompiled wheels for common platforms and a straightforward API. Not relevant for non-atomistic applications.
Install
vesin on PyPI
pip
pip install vesinuv
uv add vesinpoetry
poetry add vesinInstalling vesin
Before you install
Medium install friction due to precompiled wheels for common platforms (macOS arm64/x86_64, Linux x86_64/aarch64, Windows x86_64), but requires numpy at runtime. Repository is active with recent commits and a stable release cadence.
License in practice
BSD-3-Clause is permissive; you can use, modify, and distribute vesin freely in commercial or private projects provided you include the license notice and disclaim liability.
Quickstart
pip install vesin
import numpy as np
from vesin import NeighborList
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")
Requires Python >=3.10 and numpy as a runtime dependency.
Verify before relying
- Whether GPU acceleration (mentioned for NVIDIA H100 in benchmarks) is available in the Python interface or only in C/C++.
- Performance characteristics compared to ASE's native neighbor list for typical system sizes.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | actively maintained — 16 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 351,679/month — #7,322 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: vesin-0.6.1-py3-none-macosx_11_0_arm64.whl; vesin-0.6.1-py3-none-macosx_11_0_x86_64.whl; vesin-0.6.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; vesin-0.6.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; vesin-0.6.1-py3-none-win_amd64.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
vesin-torchComputes neighbor lists for atomistic systems…
permissive · top 15,000 on PyPI
dscribeDScribe transforms atomic structures into…
permissive · top 15,000 on PyPI
fairchem-coreProvides pretrained machine learning models for…
permissive · top 15,000 on PyPI
mace-torchMACE trains and evaluates machine learning…
permissive · top 15,000 on PyPI
mordredcommunityCalculates molecular descriptors from chemical…
permissive · top 15,000 on PyPI
cuvs-cu12Provides GPU-accelerated approximate nearest…
permissive · top 15,000 on PyPI
chgnetCHGNet is a pretrained graph neural network…
permissive · top 15,000 on PyPI
prolifProLIF generates interaction fingerprints from…
permissive · top 15,000 on PyPI
aseASE provides Python tools for setting up,…
copyleft · top 5,000 on PyPI