Skip to main content

deglib: Python Bindings for the Dynamic Exploration Graph

Python bindings for the high-performance C++ Dynamic Exploration Graph (DEG) library, enabling approximate nearest neighbor search (ANNS) and graph exploration with state-of-the-art recall vs. QPS trade-offs.


Table of Contents


Installation

From PyPI

pip install deglib

Build from Source

To build and install the package directly from the repository:

cd python/
uv venv
uv pip install setuptools==83.0.0 pybind11==3.0.4 build==1.5.0 wheel==0.48.0
uv run python setup.py copy_build_files
uv pip install . --no-build-isolation

Quickstart & Examples

Basic Usage

import numpy as np
import deglib

num_samples, dims = 10_000, 128

# 1. Create random feature dataset and query vector
data = np.random.random((num_samples, dims)).astype(np.float32)
query = np.random.random(dims).astype(np.float32)

# 2. Build index directly from data (multithreaded by default)
graph = deglib.builder.build_from_data(data, edges_per_vertex=32, show_progress=True)

# 3. Query top-k nearest neighbors
indices, distances = graph.search(query, k=10, eps_or_ef=0.1)

print("Nearest neighbors:", indices)
print("Distances:", distances)

Graph Types & Lifecycles

All search graphs are represented by DynamicExplorationGraph, backed by one of three internal graph engines:

  1. Fixed-Capacity Mutable (SizeBoundedGraph): Memory is preallocated for a fixed maximum capacity. Fast and memory-efficient for static/batch datasets.

    space = deglib.FloatSpace.create(dim=128, metric=deglib.Metric.FP32_L2)
    graph = deglib.create_empty(capacity=10_000, feature_space=space, edges_per_vertex=32)
    
  2. Chunk-Allocated Mutable (DynamicGraph): Dynamically allocates memory in chunks (e.g. 1024 vertices per chunk). Ideal for streaming datasets where total capacity is unknown.

    graph = deglib.create_dynamic_empty(feature_space=space, edges_per_vertex=32, chunk_size=1024)
    
  3. Read-Only Deployment (ReadOnlyGraph): Stripped of mutation structures for minimal memory footprint and maximum query throughput.

    readonly_graph = graph.to_readonly()
    

Saving and Loading Graphs

# Save graph to disk (supports both mutable and read-only graphs)
graph.save_graph("index.deg")

# Load as compact, optimized read-only graph for production search
readonly_graph = deglib.load_readonly_graph("index.deg")

# Load as dynamic graph supporting further insertions and deletions
dynamic_graph = deglib.load_dynamic_graph("index.deg")

# Load as fixed-capacity mutable graph
mutable_graph = deglib.load_mutable_graph("index.deg")

Incremental / Streaming Graph Construction

For continuous additions and removals, use GraphBuilder:

import numpy as np
import deglib
from deglib.builder import GraphBuilder, OptimizationTarget
from deglib.distances import FloatSpace, Metric

dims = 128
max_capacity = 10_000
edges_per_vertex = 32

# 1. Create feature space and empty mutable graph
space = FloatSpace.create(dims, metric=Metric.FP32_L2)
graph = deglib.create_empty(max_capacity, space, edges_per_vertex)

# 2. Initialize builder
builder = GraphBuilder(graph, optimization_target=OptimizationTarget.StreamingData, seed=42)

# 3. Add entries (individually or in batches)
labels = np.arange(100, dtype=np.uint32)
features = np.random.random((100, dims)).astype(np.float32)
builder.add_entry(labels, features)

# 4. Remove entries by external label
builder.remove_entry(42)

# 5. Build / optimize
builder.build()

Filtered Search & Candidate Reranking

from deglib.search import Filter, rerank

# Search only within allowed external labels
allowed_ids = np.array([1, 5, 10, 42, 99], dtype=np.int32)
search_filter = Filter(allowed_ids)

indices, distances = graph.search(query, k=5, eps_or_ef=0.1, filter_labels=search_filter)

# Exact distance reranking across candidates
queries = np.random.random((10, dims)).astype(np.float32)
candidates = np.random.randint(0, 1000, size=(10, 50), dtype=np.uint32)
base_vectors = np.random.random((1000, dims)).astype(np.float32)

top_indices, top_distances = rerank(
    space=graph.get_feature_space(),
    queries=queries,
    candidate_indices=candidates,
    base_vectors=base_vectors,
    k_top=10,
    return_distances=True,
)

Exploratory Search & Graph Navigation

DEG supports exploratory search directly from existing vertex labels (single or batch):

# Explore graph starting from entry vertex label 105
explored_labels, distances = graph.explore(entry_external_label=105, k=10, eps_or_ef=0.1, include_entry=False)

# Batch exploration from multiple entry vertices in parallel
batch_entries = np.array([105, 210, 315], dtype=np.uint32)
batch_labels, batch_distances = graph.explore(batch_entries, k=10, eps_or_ef=0.1, threads=4)

# Retrieve graph neighbors directly
neighbors = graph.get_neighbors(105)
batch_neighbors = graph.get_neighbors_batch(batch_entries, threads=4)  # shape: (3, edges_per_vertex)

Graph Optimization, Quantization & Reranking Pipeline

A complete end-to-end pipeline demonstrating FLAS pre-sorting, multithreaded graph building, Int8 quantization, ReadOnlyGraph conversion, and deployment with Searcher for automatic query quantization and high-precision reranking:

import numpy as np
import deglib
from deglib.optimization import presort
from deglib.transformation import make_scalar_quantizer_int8
from deglib.search import create_searcher

num_vectors, dims = 10_000, 128
data = np.random.randn(num_vectors, dims).astype(np.float32)
query = np.random.randn(dims).astype(np.float32)

# 1. Pre-sort vectors using FLAS for improved memory locality and index construction speed
perm = presort(data, metric=deglib.Metric.FP32_InnerProduct, show_progress=True)
sorted_data = data[perm]

# 2. Build exploration graph on unquantized/original data
graph = deglib.builder.build_from_data(
    sorted_data,
    metric=deglib.Metric.FP32_InnerProduct,
    edges_per_vertex=32,
    show_progress=True,
)

# 3. Quantize features to Int8 for memory reduction and ultra-fast search
quantizer = make_scalar_quantizer_int8(sorted_data)
quant_int8_data = quantizer.quantize(sorted_data)
int8_space = deglib.FloatSpace.create(dims, deglib.Metric.Int8_InnerProduct)

# 4. Convert mutable graph to a compact ReadOnlyGraph equipped with the quantized features
readonly_graph = graph.to_readonly(
    feature_space=int8_space, custom_features=quant_int8_data, transformations=[quantizer]
)

# 5. Create high-performance Searcher equipped with base vectors for exact candidate reranking
rerank_space = deglib.FloatSpace.create(dims, deglib.Metric.FP32_InnerProduct)
searcher = create_searcher(
    graph=readonly_graph,
    rerank_space=rerank_space,
    rerank_data=sorted_data,
)

# 6. Query search (query is automatically quantized and top candidates are reranked)
indices, distances = searcher.search(query, k=10, eps_or_ef=0.1, rerank_factor=1.5, return_distances=True)
print("Top-10 nearest neighbor indices:", indices)
print("Top-10 exact distances:", distances)

Concepts & Parameters

OptimizationTarget

Controls the topology optimization strategy:

  • OptimizationTarget.LowLID: Default for datasets with low local intrinsic dimensionality (supports multithreaded building).
  • OptimizationTarget.HighLID: Optimized for datasets with high local intrinsic dimensionality (supports multithreaded building).
  • OptimizationTarget.StreamingData: Optimized for continuous dynamic additions and deletions.

Unified Search Parameter: eps_or_ef

Searcher provides a unified exploration parameter eps_or_ef:

  • Relative Distance Margin (eps_or_ef < 1.0): Standard DEG dynamic distance exploration bound $(1 + \epsilon) \cdot d_{\text{cur}}$.
    • Small values (e.g. eps_or_ef=0.001 or 0.01): Faster query execution.
    • Higher values (e.g. eps_or_ef=0.1 to 0.3): Higher recall rate.
  • Fixed Candidate Pool (eps_or_ef >= 1.0): HNSW-style search with a fixed candidate pool size of round(eps_or_ef) during exploration.
    • Typical values: 64, 96, 128, 200, 400.
# Mode 1: Relative distance margin (default: eps_or_ef=0.1)
indices, distances = searcher.search(query, k=10, eps_or_ef=0.1)

# Mode 2: Fixed candidate pool (HNSW-style)
indices, distances = searcher.search(query, k=10, eps_or_ef=128)

Supported Metrics & Data Types

  • Metric.FP32_L2: Euclidean distance (np.float32)
  • Metric.FP32_InnerProduct: Inner product / cosine distance (np.float32)
  • Metric.Uint8_L2: 8-bit unsigned integer Euclidean distance (np.uint8)
  • Metric.Uint8_InnerProduct: 8-bit unsigned integer inner product (np.uint8)
  • Metric.FP16_L2: 16-bit half-precision Euclidean distance (np.uint16)
  • Metric.FP16_InnerProduct: 16-bit half-precision inner product (np.uint16)
  • Metric.EVP_InnerProduct: Quantized Extreme Value Property bit-packed vectors (np.uint8)
  • Metric.Int8_InnerProduct: 8-bit signed integer inner product (np.int8)
  • Metric.Int8_L2: 8-bit signed integer Euclidean distance (np.int8)

API Reference

For a complete overview of all Python modules, classes, and function signatures, see API.md or the Official Documentation.


Example Projects

Ready-to-run example scripts with visual progress and evaluation are located in the examples/ directory:

  • examples/knng/: k-NN graph construction benchmark using EVP quantization and FP16 reranking (SISAP 2026 Challenge Task 1).
  • examples/mips/: Maximum Inner Product Search (MIPS) benchmark using $(d+1)$-dimensional $L_2$ transformation, FLAS pre-sorting, and SIMD FP16 inner products (SISAP 2026 Challenge Task 2).
  • examples/static_data/: Static dataset indexing and ANNS benchmark.
  • examples/vibe/: VIBE benchmark for modern embedding datasets with scalar quantization and interactive Plotly visualizations.
  • examples/dynamic_data/: Dynamic streaming additions and deletions.
  • examples/sliding_window/: Sliding window continuous update benchmark against CleANN.

Development Setup

If you want to contribute, modify C++ bindings, run tests, or build release packages:

# 1. Setup virtual environment and dependencies (using uv)
cd python/
uv venv
uv pip install setuptools==83.0.0 pybind11==3.0.4 build==1.5.0 wheel==0.48.0
uv run python setup.py copy_build_files

# 2. Install in editable mode
uv pip install -e . --no-build-isolation --verbose

# 3. Run test suite
uv run pytest

# 4. Format code
uv run ruff format .

# 5. Build distribution packages (sdist and binary wheels)
uv run python -m build

Metadata

Release files for deglib 0.2.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deglib 0.2.8
File Size Uploaded Provenance Actions
deglib-0.2.8.tar.gz 225.8 kB With provenance Details for deglib-0.2.8.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for deglib 0.2.8
File Actions
deglib-0.2.8-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details for deglib-0.2.8-cp315-cp315-win_amd64.whl
deglib-0.2.8-cp315-cp315-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ x86-64 Details for deglib-0.2.8-cp315-cp315-musllinux_1_2_x86_64.whl
deglib-0.2.8-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for deglib-0.2.8-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
deglib-0.2.8-cp315-cp315-macosx_13_0_arm64.whl CPython 3.15 CPython 3.15 macOS 13.0+ ARM64 Details for deglib-0.2.8-cp315-cp315-macosx_13_0_arm64.whl
deglib-0.2.8-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for deglib-0.2.8-cp314-cp314-win_amd64.whl
deglib-0.2.8-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for deglib-0.2.8-cp314-cp314-musllinux_1_2_x86_64.whl
deglib-0.2.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for deglib-0.2.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
deglib-0.2.8-cp314-cp314-macosx_13_0_arm64.whl CPython 3.14 CPython 3.14 macOS 13.0+ ARM64 Details for deglib-0.2.8-cp314-cp314-macosx_13_0_arm64.whl
deglib-0.2.8-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for deglib-0.2.8-cp313-cp313-win_amd64.whl
deglib-0.2.8-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for deglib-0.2.8-cp313-cp313-musllinux_1_2_x86_64.whl
deglib-0.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for deglib-0.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
deglib-0.2.8-cp313-cp313-macosx_13_0_arm64.whl CPython 3.13 CPython 3.13 macOS 13.0+ ARM64 Details for deglib-0.2.8-cp313-cp313-macosx_13_0_arm64.whl
deglib-0.2.8-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for deglib-0.2.8-cp312-cp312-win_amd64.whl
deglib-0.2.8-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for deglib-0.2.8-cp312-cp312-musllinux_1_2_x86_64.whl
deglib-0.2.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for deglib-0.2.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
deglib-0.2.8-cp312-cp312-macosx_13_0_arm64.whl CPython 3.12 CPython 3.12 macOS 13.0+ ARM64 Details for deglib-0.2.8-cp312-cp312-macosx_13_0_arm64.whl
deglib-0.2.8-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for deglib-0.2.8-cp311-cp311-win_amd64.whl
deglib-0.2.8-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for deglib-0.2.8-cp311-cp311-musllinux_1_2_x86_64.whl
deglib-0.2.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for deglib-0.2.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
deglib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl CPython 3.11 CPython 3.11 macOS 13.0+ ARM64 Details for deglib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl
deglib-0.2.8-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for deglib-0.2.8-cp310-cp310-win_amd64.whl
deglib-0.2.8-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for deglib-0.2.8-cp310-cp310-musllinux_1_2_x86_64.whl
deglib-0.2.8-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for deglib-0.2.8-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
deglib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl CPython 3.10 CPython 3.10 macOS 13.0+ ARM64 Details for deglib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl

Total release size: 105.3 MB

Release files / deglib-0.2.8.tar.gz

Download URL deglib-0.2.8.tar.gz
Size 225.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6c3d500e24b4fe9f5566a1c12e1ed9211e563324e1db336c98a98a9148c7bba1
BLAKE2b-256 checksum
How to use checksums
bc964d96cc30a0035119a89e1ce85c1af4eba24134fdfa2697bf756506829562
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp315-cp315-win_amd64.whl

Download URL deglib-0.2.8-cp315-cp315-win_amd64.whl
Size 4.3 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
bc6f1b3b1b7971250c3f5b7a0e77814965cfe23f8fd9a3b0f52898801749bbc0
BLAKE2b-256 checksum
How to use checksums
65520cbb67016872c709866c91df7e1c13b150ab5c67b94e002e7adfba9933a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp315-cp315-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.8-cp315-cp315-musllinux_1_2_x86_64.whl
Size 6.7 MB
Tags CPython 3.15 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e53923970b50df61048c34c128c78bfd65c61209120029628a397ec4e4653f31
BLAKE2b-256 checksum
How to use checksums
5634d6373f139c90c0f2c5e26265ef5eafcebd284cbf46293824cc2ac5880ed0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.8-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3f646f9e899b4ee0438d6aa2ebc6f157b143b18d0bd67684f03e016b80914a2d
BLAKE2b-256 checksum
How to use checksums
620c07c53ff297d127418d26b6a8fd637033a4a2f778284c88849469e191d4d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp315-cp315-macosx_13_0_arm64.whl

Download URL deglib-0.2.8-cp315-cp315-macosx_13_0_arm64.whl
Size 718.9 kB
Tags CPython 3.15 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
b74f7625ca57b012103ffa8f142c6445e14216973691ece93810831f59061725
BLAKE2b-256 checksum
How to use checksums
f72b44419336a44ce3f8eff67e9d8781c23ae2ec131c819acf67f42481a7b822
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp314-cp314-win_amd64.whl

Download URL deglib-0.2.8-cp314-cp314-win_amd64.whl
Size 4.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
6986f284d700107203f8f5bd104950e6a7c5d957d3f6a5cd6e47c662af0a28e5
BLAKE2b-256 checksum
How to use checksums
2fcd550665883b20be9b5d22adc30e57caec5e6682a75a4829c037c5d266545a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.8-cp314-cp314-musllinux_1_2_x86_64.whl
Size 6.7 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
57d9135b788c0832de065db687dc1ebe55cba7d8a76771952faf06a3a42ca830
BLAKE2b-256 checksum
How to use checksums
def3e8fc38c16980bdb71b699e2c1749f25816ea25abe32b1edc52fa7d388358
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ba413f04ff8032212505be4dc7e69d1994ef9b846da8ec977ce0dc8924e7c761
BLAKE2b-256 checksum
How to use checksums
bbb8e5f4018a4c96beb1a7f9670e5a4b95c7c2cd9d1c346d27b268eda6c33e0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp314-cp314-macosx_13_0_arm64.whl

Download URL deglib-0.2.8-cp314-cp314-macosx_13_0_arm64.whl
Size 718.9 kB
Tags CPython 3.14 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
5bef1c9b0072c5938d774cb66429a2914a02eb010f93487a4ee256b19177cb5f
BLAKE2b-256 checksum
How to use checksums
383fb000bccd35fc068d12d9aa160c2a1179fdd696f8dfc27d1ac73c430fcd5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp313-cp313-win_amd64.whl

Download URL deglib-0.2.8-cp313-cp313-win_amd64.whl
Size 4.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
9892a673781efd55c5095c97a806cc9cbbec8278eeaadf905b889ee59a3782e8
BLAKE2b-256 checksum
How to use checksums
14d42ea12de3cc1e6bba41a97c7c8fd80beb3657449b3ca6814c6820759de279
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.8-cp313-cp313-musllinux_1_2_x86_64.whl
Size 6.7 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a78bdf64f8993afec2094eb5d0b985a0c77e37af7506c1035ea767d68868d0dc
BLAKE2b-256 checksum
How to use checksums
403823ae29f9c19def134a75db6529da777bcc55b283cfd7056c7767a1cc0020
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f7735da715081b18301e840a0b38b7436b223584453c65c564a2295deecd29e7
BLAKE2b-256 checksum
How to use checksums
b6928fd43236c359ca618d2a7aa8ab7f0c91e4106ece6467ed1b8030b4a455e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp313-cp313-macosx_13_0_arm64.whl

Download URL deglib-0.2.8-cp313-cp313-macosx_13_0_arm64.whl
Size 718.0 kB
Tags CPython 3.13 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
1013435820f30dacef20c536ea98e6b14bbd9820420b22a101cca9ae32a124d6
BLAKE2b-256 checksum
How to use checksums
0d8a9d64d195ad584801ae2dc8ee1fd0cd4da15196cb175dc32d3a0ca0162d9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp312-cp312-win_amd64.whl

Download URL deglib-0.2.8-cp312-cp312-win_amd64.whl
Size 4.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
fede3a8fdaf82606ff529cc12a6d708ead96151c482250e4baff33088a5805c0
BLAKE2b-256 checksum
How to use checksums
3ad7c125644964b2467a85e8fbfd533346195db24e2ff0e96030832fc82f8829
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.8-cp312-cp312-musllinux_1_2_x86_64.whl
Size 6.7 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a09fd7771427518ed61104e608f5e60dfa12a7fc898f5c28b6b6371c8d90f49a
BLAKE2b-256 checksum
How to use checksums
3324a6eed8e9ad16d8c31f82350654eaf9fa29f85b6179e67944d89b0ac20f29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
64b7127af1f5c5f6b36770068e50f986fa0125c9f871ede2b5b6a714a1de4663
BLAKE2b-256 checksum
How to use checksums
52a3ea0c9bdbb3137c2c2d6c657a5f68d0c03e6cdb0d5bc63cef1b5cd217f481
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp312-cp312-macosx_13_0_arm64.whl

Download URL deglib-0.2.8-cp312-cp312-macosx_13_0_arm64.whl
Size 717.9 kB
Tags CPython 3.12 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
a1ef2a44cd22c1d4aefe074a077e0b78f1c49318de3a941a4c7b18fe89a83995
BLAKE2b-256 checksum
How to use checksums
a80509c1887230c4c7f5df0e1cef8d0ba95570cf5f90c68004ecf757efc969ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp311-cp311-win_amd64.whl

Download URL deglib-0.2.8-cp311-cp311-win_amd64.whl
Size 4.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
53fb8ddc7679a05e0e835471888f42f73897882b7996956947d81cd967538d91
BLAKE2b-256 checksum
How to use checksums
95f3671005e62c14e400ab5fc9424679d0c5e01325d1ebde5a5dc9f8dc3aab72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.8-cp311-cp311-musllinux_1_2_x86_64.whl
Size 6.7 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
665aebc6fbb61ee87a9ec31d2eb68344fba221bf929822c4bd241b96b328ddce
BLAKE2b-256 checksum
How to use checksums
1afc9d676a627da484b7abfb848095181ec5e20a4e5ca62219fc51687cebead8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fa350519cec8e4e349ff2b6b351badec7a96480a771efdc3a75cd24639482769
BLAKE2b-256 checksum
How to use checksums
4926a5c2463d4cbe3d166c9b8d2545e1b25105511824622e3b262d5eaf31b85d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl

Download URL deglib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl
Size 716.5 kB
Tags CPython 3.11 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
e498c5d3d965b5d3e0e56eaa99e74ac844bf12b081c5dd909ad7bc915e241bc6
BLAKE2b-256 checksum
How to use checksums
9aa5f7e3c35113d8a3b6abcb9fbf3d7aea372db2c2a05136d17ab1c79fe73ce3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp310-cp310-win_amd64.whl

Download URL deglib-0.2.8-cp310-cp310-win_amd64.whl
Size 4.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2c20631055cd6a9cb86177cac198c2413e632b5bcf0570b43c8bf58581473c08
BLAKE2b-256 checksum
How to use checksums
2d1e8f59e5603f4530b214e6460a31248c06b91264de827263020e89eb412782
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.8-cp310-cp310-musllinux_1_2_x86_64.whl
Size 6.7 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
003c99d8a056b3d337b04f4af418fa5ec0abc14d90ea2ef87683455de86beef6
BLAKE2b-256 checksum
How to use checksums
c1b675c7a4ee7e48b4a5f8b99903b9d0721cd8b1429096853a715c4d80176e6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.8-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d5ca5857e6e76a1d6176fda48d8193d7c57b472d089bb52af3d0a8b422ffa6f1
BLAKE2b-256 checksum
How to use checksums
3fea3439d93f0652d0358873a95d6d60f29172ae732ebc6e8c8d72351bf3d13f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / deglib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl

Download URL deglib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl
Size 715.6 kB
Tags CPython 3.10 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
bbf8b8c48efe878663e6f0b0c7f6df8840d0ec66fc40afe82cd0935e27b1da04
BLAKE2b-256 checksum
How to use checksums
0c283a0509887c179972e32ae762b9a1afae411815c31335b77a741710e4667d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Security for deglib 0.2.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 25 files in this release have been uploaded with provenance metadata.

Select from 25 files

Attestation for deglib-0.2.8.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page