Registry / ai-ml / quests

quests

JSON →
library2026.2.22pypypi✓ verified 82d ago

QUESTS (Quick Uncertainty and Entropy via STructural Similarity) is a Python library providing model-free uncertainty and entropy estimation methods for interatomic potentials. It employs a structural descriptor and information-theoretical strategy that is fast to compute, relying only on distances between atoms within an environment. The library is actively maintained, with its latest version being 2026.2.22, and supports Python 3.8 and newer. It's primarily used for analyzing datasets in atomistic machine learning, offering metrics like dataset entropy, diversity, and information gap.

pip install quests
INSTALL
IMPORT
SIG · QUESTS
Q
quests
ai-mlpythonv2026.2.22
Install
22.3s avg
Import
Disk
654MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v2026.2.22 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
build_error
glibc
py 3.103.910 runs
installs and imports cleanly · install 22.3s · import 0.000s · 637MB
654MB installed
● package 654MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

get_atomic_descriptors
import quests
from quests import get_atomic_descriptors

This quickstart demonstrates how to generate atomic descriptors from a list of `ase.Atoms` objects and then calculate the dataset's entropy. The `ase` library is a core dependency for handling atomic structures. The `rc` parameter (cutoff radius) in `get_atomic_descriptors` is crucial and should be chosen appropriately for your specific materials system.

import numpy as np from ase.atoms import Atoms from quests.descriptors import get_atomic_descriptors from quests.entropy import dataset_entropy # 1. Create a list of ASE Atoms objects # In a real application, you would load these from .xyz, .cif, etc. atoms1 = Atoms('H2O', positions=[(0, 0, 0), (0.75, 0.75, 0), (0.75, -0.75, 0)]) atoms2 = Atoms('H2O', positions=[(0, 0, 0), (0.8, 0.6, 0), (0.6, -0.8, 0)]) # For illustrative purposes, let's create a list of two 'molecules' atoms_list = [atoms1, atoms2] # 2. Generate atomic descriptors for the dataset # rc (cutoff radius) is a critical parameter. Adjust based on your system. descriptors = get_atomic_descriptors(atoms_list, rc=5.0) # 3. Compute the dataset entropy entropy_value = dataset_entropy(descriptors) print(f"Generated {len(descriptors)} descriptors.") print(f"Computed dataset entropy: {entropy_value:.4f}") # Example for GPU (requires 'torch' to be installed via `pip install quests[gpu]`)
Debug
Known issues
gotchaUsing GPU-accelerated functions without 'torch' installed. The `quests.gpu` module provides GPU-accelerated versions of some functions (e.g., `quests.gpu.entropy.dataset_entropy`). These require PyTorch to be installed as an optional dependency (e.g., `pip install quests[gpu]` or `pip install torch`).
fix
Ensure `torch` is installed if you intend to use `quests.gpu` modules. Otherwise, use functions from `quests.entropy` for CPU-based computation. `pip install torch` or `pip install quests[gpu]`.
affects: All versions
gotchaIncorrect selection of parameters for `get_atomic_descriptors`, particularly the cutoff radius (`rc`). The `rc` parameter significantly influences the descriptor's representation and the resulting entropy/uncertainty. An inappropriate `rc` can lead to physically meaningless results or poor performance.
fix
Carefully consider the physical context of your materials when choosing `rc`. It should typically be larger than the longest bond lengths in your system but not excessively large to avoid unnecessary computation. Refer to the documentation or literature on structural descriptors for guidance on appropriate values for your specific application.
affects: All versions
Upgrade
Version history
2026.2.22latest on PyPI · released Feb 22, 2026
Audit
Dependencies
aserequiredRequired for handling atomic structures (Atoms objects) used in descriptor generation.
numpyrequiredFundamental package for numerical computation.
pynndescentrequiredUsed for efficient nearest neighbor search in descriptor calculation.
scikit-learnrequiredMachine learning tools, likely for clustering or other data processing.
numbarequiredUsed for accelerating numerical operations with JIT compilation.
pandasrequiredData manipulation and analysis.
bayesian-optimizationrequiredLikely used for hyperparameter tuning within the library.
clickrequiredFor creating command-line interfaces.
torchoptionalEnables GPU-accelerated entropy calculations.
torchvisionoptionalMay be used alongside torch for specific functionalities, often for computer vision tasks, but listed as optional for GPU functionality.
Agent activity
13 hits · last 30 days
node
12
OpenAI (training)
1
Resources
quests — pip install quests · libregistry