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=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, RNG edge pruning, 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, prune_non_mrng_edges
from deglib.transformation import ScalarQuantizerInt8
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. Prune redundant non-MRNG edges to optimize graph topology
pruned_count = prune_non_mrng_edges(graph)
print(f"Pruned {pruned_count} redundant edges.")

# 4. Fit Int8 quantizer on base dataset and quantize features for memory reduction and ultra-fast search
quantizer = ScalarQuantizerInt8()
quantizer.fit(sorted_data)
quant_int8_data = quantizer.quantize(sorted_data)
int8_space = deglib.FloatSpace.create(dims, deglib.Metric.Int8_InnerProduct)

# 5. 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]
)

# 6. 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,
)

# 7. 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.7

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.7
File Size Uploaded Provenance Actions
deglib-0.2.7.tar.gz 233.0 kB With provenance Details for deglib-0.2.7.tar.gz

Built distributions (wheels)

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

Total release size: 107.1 MB

Release files / deglib-0.2.7.tar.gz

Download URL deglib-0.2.7.tar.gz
Size 233.0 kB
Tags Source
SHA-256 checksum
How to use checksums
cb9a8037620d2fa6e7ae9a7d64767be525cab7d6a28f156d6300ee4a634c24d5
BLAKE2b-256 checksum
How to use checksums
f632110398e1bdea5e52a6203eedfc130690f4507ff75b8a2a865d95eda6339b
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.7-cp315-cp315-win_amd64.whl

Download URL deglib-0.2.7-cp315-cp315-win_amd64.whl
Size 4.4 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
3a5f3a495c2017c3299f537345da8a23b33f99dfefd7cbb5c449e17c5163856a
BLAKE2b-256 checksum
How to use checksums
317791b732883b9745766de9f5019ab32820f0be122380f39aad988778f9d4ee
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.7-cp315-cp315-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.7-cp315-cp315-musllinux_1_2_x86_64.whl
Size 6.9 MB
Tags CPython 3.15 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
1424c912bde4c608205da01c6deccd89dcce6f5573f42b36904bada5cca4ace0
BLAKE2b-256 checksum
How to use checksums
57a5dcdd1e5bc6cd7d34a97f456a73972c53bbd124a3bfa44809415a73641284
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.7-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.7-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.9 MB
Tags CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f1b9b49673a276d190bc86ee28a18598f15a026809739e7d29f44519621dffb9
BLAKE2b-256 checksum
How to use checksums
06f32c4c004a73a7a840e0e0b393e75261bb738d1d33ef81de07ee6940732618
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.7-cp315-cp315-macosx_13_0_arm64.whl

Download URL deglib-0.2.7-cp315-cp315-macosx_13_0_arm64.whl
Size 720.7 kB
Tags CPython 3.15 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
c767c80a3960c181d8d7a04f4bebcff824000dd1e3ba429b3df31fc53a44ee6b
BLAKE2b-256 checksum
How to use checksums
4fed9bcf05a325f9273312e271e2877ffe5bd887b3809ec8a2b69ab6098d2ddf
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.7-cp314-cp314-win_amd64.whl

Download URL deglib-0.2.7-cp314-cp314-win_amd64.whl
Size 4.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
381b5d0992425ab2976366c20a76c3738e06620eaea4df8db30164248a836fa3
BLAKE2b-256 checksum
How to use checksums
0ec8ce48c1ea47e62a78f3379f758af25918690c49a8017b14de19e5d3e0d4cc
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.7-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.7-cp314-cp314-musllinux_1_2_x86_64.whl
Size 6.9 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
be7c1226bca89d674c3e926ae10536820a9d7b0f036cf85bd753d85b10707b70
BLAKE2b-256 checksum
How to use checksums
932859aef5e82878561da08e6d6d20fd677b01bcc0dbbc74c0de792695afa8bd
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.7-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.7-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.9 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3c14022e82684fb35e0f3a967efc350c1a2fbf152e19e0b862c277bc66b742e2
BLAKE2b-256 checksum
How to use checksums
1b53a6fcea6edd1557b0400abe92f5537ba28276a4ed4546780b2aa121668011
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.7-cp314-cp314-macosx_13_0_arm64.whl

Download URL deglib-0.2.7-cp314-cp314-macosx_13_0_arm64.whl
Size 720.7 kB
Tags CPython 3.14 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
5e0c660c53de5521bd879b6cdcff50c120ee79b4a7b769e02b93041f2a7f5b48
BLAKE2b-256 checksum
How to use checksums
3e9ca8da7195003576c7ab4d81c25494f1fe9b42c45e2bffa533420f48a287bf
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.7-cp313-cp313-win_amd64.whl

Download URL deglib-0.2.7-cp313-cp313-win_amd64.whl
Size 4.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
07591b1e7cff407fb1c6e606d4c3defa8c89a50e6de179f72636519586b06bb2
BLAKE2b-256 checksum
How to use checksums
f248a565ed94256ac6d2bd16b73bc3a35e408a2abbf8fba38d5478b97a771241
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.7-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.7-cp313-cp313-musllinux_1_2_x86_64.whl
Size 6.9 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
03c4b157b3c41f87ca26955b723215d693308d19553a3767b47c9efd88e58456
BLAKE2b-256 checksum
How to use checksums
6d4f5c2a714496694b3243f84fe860e30b0dc00a294c045e1ab41f31a22411d2
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.7-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.7-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.9 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f22efa63d39d076174ee6839fe8b8d20969c4b093223b6fc9456887b53f8cabd
BLAKE2b-256 checksum
How to use checksums
6b121ef66301879058fda0a2f6742c4b8fba0c8b2f596cb23cf6326387cfd822
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.7-cp313-cp313-macosx_13_0_arm64.whl

Download URL deglib-0.2.7-cp313-cp313-macosx_13_0_arm64.whl
Size 719.4 kB
Tags CPython 3.13 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
b557ff828419972c8cd74155fb0c8e1dad82a9f0c81167da6bbf84ac59a72067
BLAKE2b-256 checksum
How to use checksums
7064341e83cfa5e55653dfacbb1efb471478cb040348ce99ec0f6be513f80bc5
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.7-cp312-cp312-win_amd64.whl

Download URL deglib-0.2.7-cp312-cp312-win_amd64.whl
Size 4.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
36e173d57808a0a3877b3947eab9ef29e8d906b62fe934934c643bd866d72f70
BLAKE2b-256 checksum
How to use checksums
9c92999a2c533e86a7ef5eea139d2ce0deaa2bce38e95a7a15530f3ab9dfe7a3
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.7-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.7-cp312-cp312-musllinux_1_2_x86_64.whl
Size 6.9 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
fd8fd208255f30995e10bc87949960b9455aeb12759a3dda46a46eb8594bc2c7
BLAKE2b-256 checksum
How to use checksums
795ff727f03272e230ce0be45f361d4114fe163e65aedd326561e8affc151c11
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.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.7-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.9 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4663fa32ab62a64c8958eec41fd908cb1279413b26f5b199358d228b57111837
BLAKE2b-256 checksum
How to use checksums
c9360247f8d5f00d0572008c4ae47759a423edf7bad0538978b5f0dd866555e1
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.7-cp312-cp312-macosx_13_0_arm64.whl

Download URL deglib-0.2.7-cp312-cp312-macosx_13_0_arm64.whl
Size 719.3 kB
Tags CPython 3.12 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
2309f75860b7d150913372ba6c36b43234d8a7a6ab59c1d879bddf027c1b1082
BLAKE2b-256 checksum
How to use checksums
99a85927669cb3e3e8596f3f15664bbe11a13b4903d937d24d2860b9e0878679
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.7-cp311-cp311-win_amd64.whl

Download URL deglib-0.2.7-cp311-cp311-win_amd64.whl
Size 4.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
9c8d3666535c753f6db940d86a5fa4ea9b38db069c057f4a13c12271795e025c
BLAKE2b-256 checksum
How to use checksums
db7e85069ff9e4e79509aa5929911b0d0911df776fdb3e5b411badb2e6b8830d
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.7-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.7-cp311-cp311-musllinux_1_2_x86_64.whl
Size 6.9 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b67670c56d32fca03087081c3415bee2e1a40b82f65be35d287b2bd695c96dc3
BLAKE2b-256 checksum
How to use checksums
a439fbc3cbc9e9e58f9ff262867b882b01918b924d20702695f5bb9f16ac94a8
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.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.9 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3167003ac0d9a3eeaaa5a7f2b5d4a7ad0e1f78a77040165bc6b5c963021912aa
BLAKE2b-256 checksum
How to use checksums
c570655cde991dca2a6f36088b491041d0b5b73327488c7cdc91c6ac257a3d5e
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.7-cp311-cp311-macosx_13_0_arm64.whl

Download URL deglib-0.2.7-cp311-cp311-macosx_13_0_arm64.whl
Size 718.0 kB
Tags CPython 3.11 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
dd9e8b509f1b9d9b97974fb97a80d7aee381ad42c7b892caf42e4498c4fca92f
BLAKE2b-256 checksum
How to use checksums
cb6ffb4e62b0aa52e29706997802814150bf35964b1031c556d49bcd44af2158
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.7-cp310-cp310-win_amd64.whl

Download URL deglib-0.2.7-cp310-cp310-win_amd64.whl
Size 4.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d2a818325aebbd95b1824363dfc9e6b9f37238bd6575e65a9327ab2a2e626ab2
BLAKE2b-256 checksum
How to use checksums
0c0f139fba99d766c1cd004eff486d579b8a742741966eca4bbfd279d4c51a9e
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.7-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL deglib-0.2.7-cp310-cp310-musllinux_1_2_x86_64.whl
Size 6.9 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6d68426ce610b539b36a21ea651c78984c62f35f21ea08f97097e36af59f1658
BLAKE2b-256 checksum
How to use checksums
8411f1632b26724c2659230fcd94b631e537c29d48e2ecbe14cb4130087c14a5
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.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL deglib-0.2.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.9 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fd38d45fb217a6bcb6d737b9555e4bc2d06cb7e5ec31424fbd0a7bd0a4496828
BLAKE2b-256 checksum
How to use checksums
eda6511b6efd09bdd135d144f3beb37d320053006e79ea550ea9abe3d1a31e8a
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.7-cp310-cp310-macosx_13_0_arm64.whl

Download URL deglib-0.2.7-cp310-cp310-macosx_13_0_arm64.whl
Size 717.0 kB
Tags CPython 3.10 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
abd08407d900ec71aedf86d70aeb162bb64aa5ad9df0d13881335f4cc3274a87
BLAKE2b-256 checksum
How to use checksums
2ad034badcc5ea7624e7400345dafd9d2ddc60cc13d9072e6e5f4990e02ac347
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.7

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.7.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