Skip to main content

LateWeave

lateweave architecture

CI crates.io docs.rs PyPI Python versions MSRV License

lateweave is a Rust library, with Python bindings, for composing retrieval pipelines out of engines it does not implement:

Query -> CandidateGenerator -> [Reranker] -> deterministic top-k

A Query is raw text plus named features, each stamped with the Representation (encoder identity) that produced it and materialized at most once. Stages name documents by their corpus and the ID the system of record gives them, never by an engine's internal position, so each stage reads its own indexes and whoever maintains them, in any process and with any library, never coordinates with lateweave or with the other stages. Every stage result says when the index it read last committed; a search ranks only the documents every stage holds and reports the oldest of those commits as as_of. The reranker is optional: without one, gather scores rank.

The package supplies:

  • Query, Feature, Candidate, Gathered, Scored, Representation;
  • the CandidateGenerator, Reranker, and MultiVectorSource contracts;
  • SearchPipeline: compatibility checks, optional rerank, subset enforcement, deterministic ranking, freshness, provenance, timings;
  • MaxSimReranker over one MultiVectorSource per corpus, backed by a packed CPU MaxSim kernel (SGEMM, SIMD maximum reduction, bounded token batches, worker pools);
  • VectorStore, a reader of memory-mapped multi-vector stores for gatherers, such as BM25, that keep no document vectors, and VectorStoreWriter, one writer of their documented format.

All of it is implemented once, in the lateweave crate, which builds without PyO3 or NumPy. The Python package is a binding over that crate: a Python gatherer, reranker, or source is adapted to the Rust contracts, and the pipeline, MaxSim, and stores run natively.

Nothing in the package names an engine. bm25s, FastPLAID, NextPlaid and others appear only in cookbooks.

Installation

Python

pip install lateweave

Wheels are published for CPython 3.11 to 3.14 on:

Platform Wheel SGEMM
Linux x86_64, aarch64 manylinux_2_28 (glibc 2.28+) OpenBLAS, vendored in the wheel
macOS arm64 macOS 11+ Accelerate
macOS x86_64 macOS 10.15+ Accelerate

Nothing needs to be installed on the host: the Linux wheels carry their own OpenBLAS. Elsewhere pip builds from the source distribution, which needs a Rust toolchain and uses the bundled pure-Rust SGEMM (see Building from source).

Rust

cargo add lateweave

The crate needs Rust 1.85 or later and, by default, no system library. On Linux, enable the openblas feature for the faster kernel if the machine has libopenblas.so.0:

[dependencies]
lateweave = { version = "0.1", features = ["openblas"] }

Layout

Cargo.toml          the `lateweave` crate (workspace root)
src/                pipeline, stages, MaxSim kernel and reranker, stores
examples/           Rust usage
bindings/python/    `lateweave-python`: the PyO3 module `lateweave._native`
python/lateweave/   the Representation dataclass, protocols, type stubs
STORE_FORMAT.md     the vector store on disk, for writers outside lateweave

Using it from Rust

use std::sync::Arc;
use lateweave::{
    Feature, MaxSimReranker, MultiVectorSource, Query, SearchPipeline, SearchRequest,
    TokenMatrix, VectorStore, DEFAULT_FEATURE,
};

let store = Arc::new(VectorStore::open("index/vectors")?);
let representation = store.representation().clone();
let gatherer = Arc::new(MyLexicalIndex::open("index/lexical")?);  // impl CandidateGenerator
let reranker = MaxSimReranker::new([store as Arc<dyn MultiVectorSource>], DEFAULT_FEATURE)?;
let pipeline = SearchPipeline::new(gatherer, Some(Arc::new(reranker)));

let query = Query::new("prescripción de una deuda tributaria").with_feature(
    DEFAULT_FEATURE,
    Feature::lazy(representation, move || {
        TokenMatrix::new(encode(&text), dimension)
    }),
);
let result = pipeline.search(&query, &SearchRequest::new(500, 100))?;
println!("reflects every write committed before {:?}", result.as_of);
for document in &result.documents {
    println!("{} {:?} {}", document.rank, document.key, document.score);
}

Stage and source errors from outside lateweave travel as Error::External. examples/stored_maxsim.rs is a complete program: cargo run --example stored_maxsim.

Building from source

cargo test                 # the Rust library and its example
pip install maturin
maturin build --release    # the Python wheel

That default build has no external library dependency: the MaxSim kernel's SGEMM comes from the bundled pure-Rust matrixmultiply, so the library links and the extension imports on any host. CONTRIBUTING.md has the full development setup.

For a deployment, take the OpenBLAS kernel instead, as the published Linux wheels do: about 1.75x faster on the shapes this kernel sees, bit-identical results. Rust dependents enable the crate's openblas feature; the wheel forwards the same feature:

maturin build --release --features pyo3/extension-module,openblas

maturin runs auditwheel's repair step, which vendors libopenblas.so.0 into lateweave.libs/ inside the wheel. So this is self-contained too: it needs OpenBLAS on the machine that builds the wheel, not on the machines that install it. Set OPENBLAS_LIB_DIR if libopenblas.so.0 lives outside the linker's default search path.

Two things to know about that command line:

  • pyo3/extension-module must be repeated. --features replaces the list in [tool.maturin] instead of extending it, and without extension-module pyo3 links libpython, which auditwheel then bundles into the wheel.
  • The library lateweave needs exports the plain Fortran symbol sgemm_. scipy-openblas32 on PyPI does not qualify -- it is a real threaded OpenBLAS, but every symbol carries a scipy_ prefix.

macOS needs no feature flag: Accelerate ships with the OS and is used automatically. ARCHITECTURE.md explains why Linux does not have an equivalent default.

Queries and features

from lateweave import Feature, Query, Representation

representation = Representation(
    encoder="lightonai/LateOn-Code", encoder_revision="main", dimension=128, normalized=True
)
query = Query(
    "CUDA_ERROR_ILLEGAL_ADDRESS after switching to bf16 attention",
    multi_vector=Feature(representation, provider=lambda: encode(text)),
)

provider runs the first time a stage asks for the feature, so a text-only gatherer never pays for encoding, and a gatherer and reranker share one matrix. A stage that needs the feature from another encoder is refused before anything runs.

Implementing a gatherer

from lateweave import Candidate, Gathered


class MyGatherer:
    requires = {}                      # consumes query.text only
    score_semantics = "my-gather-score"

    def __init__(self, engine, corpus):
        self.engine = engine
        self.corpus = corpus

    def gather(self, query, limit, *, subset=None):
        searcher = self.engine.searcher()          # one consistent state of the index
        accept = None if subset is None else lambda id: subset.allows(self.corpus, id)
        hits = searcher.search(query.text, limit=limit, accept=accept)
        return Gathered(
            [Candidate(self.corpus, hit.id, hit.score, rank, "my-engine") for rank, hit in enumerate(hits)],
            searcher.committed_at,                 # an aware datetime
        )

A candidate names its corpus and its document ID; how the engine finds either is its own business. as_of is when the index state the gatherer read was committed: every write committed before it is reflected in the candidates. It is the commit time, not the time the gatherer reloaded.

subset is None, or a lateweave.Subset naming, per corpus, either the documents the search may return (Subset().including(corpus, ids)) or the ones it must not (.excluding(corpus, ids)); subset.allows(corpus, id) answers for one document and subset.restriction(corpus) returns ("only" | "except", ids). A corpus it does not name contributes nothing, and an ID the index does not hold is simply not a candidate. A gatherer that cannot honour it must raise; the pipeline refuses a candidate outside the subset. A gatherer that consumes a vector feature declares it: requires = {"multi_vector": representation}. requires and score_semantics are read once, when the SearchPipeline is built.

One gatherer may search several corpora, such as two indexes whose hits it fuses, reporting the older of their commits.

Freshness

Indexes move while a service searches them, each at its own pace. The pipeline needs nothing from whoever moves them beyond what every stage reports:

  • A document is ranked only when every stage holds it. A candidate the reranker's index does not hold scores None and is dropped, counted in diagnostics["dropped"]. So a delete is served as soon as any index applies it, and an insert once all of them have.
  • result.as_of is the oldest commit among the indexes the search read: every write committed to all of them before it is reflected in the result. What to do with an answer older than a service tolerates, whether to fail, warn, or serve it anyway, is the service's policy:
from datetime import datetime, timedelta, timezone

result = pipeline.search(query, gather_limit=500, limit=100)
if datetime.now(timezone.utc) - result.as_of > timedelta(minutes=1):
    ...

An index that is idle still has to say it is current, or it looks older than it is: a writer commits periodically even with nothing to write, as VectorStoreWriter.commit() does.

Implementing a reranker or a source

A reranker owns whatever it needs to score. When what it needs is the token vectors of candidate documents, implement MultiVectorSource over them, one per corpus, and let MaxSimReranker do the scoring:

from lateweave import MaxSimReranker


class EngineVectors:
    """Token vectors an engine already holds; no second copy."""

    representation = representation
    score_semantics = "engine-reconstructed-full-maxsim"

    def __init__(self, engine, corpus):
        self.engine = engine
        self.corpus = corpus

    def view(self):
        return EngineView(self.engine.snapshot())   # one consistent state, with .as_of


class EngineView:
    def __init__(self, snapshot):
        self.snapshot = snapshot
        self.as_of = snapshot.committed_at

    def document_lengths(self, document_ids):
        return {item: self.snapshot.length(item) for item in document_ids if item in self.snapshot}

    def fetch(self, document_ids, *, threads=None):
        rows = [self.snapshot.vectors(item) for item in document_ids]   # float32 [tokens, D]
        return np.concatenate(rows), np.asarray([len(r) for r in rows], dtype=np.int64)


reranker = MaxSimReranker([EngineVectors(laws_engine, "laws"), EngineVectors(cases_engine, "cases")])

Each rerank takes one view of every source and reads it throughout. A document a view leaves out of document_lengths is unscored; a candidate from a corpus with no source is an error. A VectorStore passed as a source is read natively, without calling back into Python.

Or write a reranker directly:

from lateweave import Scored


class MyReranker:
    requires = {"multi_vector": representation}
    score_semantics = "my-qualified-score-semantics"

    def rerank(self, query, candidates, *, budget):
        vectors = query.feature("multi_vector", representation)
        state = self.index.snapshot()
        return Scored([state.score(vectors, c.document_id) for c in candidates], state.committed_at)

The pipeline requires exactly one score or None per candidate, in candidate order, never NaN.

Stores

A VectorStore holds the vectors of one corpus for gatherers without document vectors, and carries the Representation of its vectors, so it refuses queries from any other encoder. lateweave only reads stores; the format is plain .npy files, document IDs as JSON, and manifest.json, so any process can write one. VectorStoreWriter is the writer lateweave ships:

from lateweave import MaxSimReranker, SearchPipeline, VectorStore, VectorStoreWriter

# The indexing process.
writer = VectorStoreWriter.create("index/vectors", "laws", representation, encoding="float32")
writer.append(ids, packed_embeddings, lengths)     # replaces any document with the same ID
writer.delete(["law-17"])
writer.commit()                                    # publishes both together
writer.compact()                                   # whenever convenient: reclaims space only
writer.commit()

# The serving process.
pipeline = SearchPipeline(gatherer, MaxSimReranker([VectorStore("index/vectors")]))
Encoding Bytes per token Score semantics
float32 4D float32-exact-full-maxsim
int8 D + 4 int8-reconstructed-approximate-full-maxsim

Appends write a new segment and deletes a tombstone file; nothing is rewritten until a compaction, which changes no result. VectorStore.view() returns the last commit, loading only what it has not seen; views taken earlier keep reading their own commit.

See ARCHITECTURE.md for the ownership rules and cookbook/README.md for the BM25 recipe.

Contributing

Issues and pull requests are welcome; see CONTRIBUTING.md for the development setup and CHANGELOG.md for what changed in each release. Please report security issues privately, as described in SECURITY.md.

License

Licensed under the Apache License, Version 2.0. The batching and SIMD reduction in the MaxSim kernel derive from maxsim-cpu; see NOTICE.

Metadata

Release files for lateweave 0.2.0

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

Source distribution (sdist)

Source distribution for lateweave 0.2.0
File Size Uploaded
lateweave-0.2.0.tar.gz 82.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for lateweave 0.2.0
File
lateweave-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
lateweave-0.2.0-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
lateweave-0.2.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
lateweave-0.2.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
lateweave-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
lateweave-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
lateweave-0.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
lateweave-0.2.0-cp313-cp313-macosx_10_15_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.15+ x86-64 Details
lateweave-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
lateweave-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
lateweave-0.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
lateweave-0.2.0-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details
lateweave-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
lateweave-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
lateweave-0.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
lateweave-0.2.0-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details

Total release size: 80.5 MB

Release files / lateweave-0.2.0.tar.gz

Download URL lateweave-0.2.0.tar.gz
Size 82.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e33f3031c61c7aedde69ff0c267eb6c7ccc615e8702feb6df4e913eda82e35ee
BLAKE2b-256 checksum
How to use checksums
09f0fd1fac8af32567eabb1e9af0b8deee24c55f0ac7e689308522319a5e4639
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL lateweave-0.2.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 13.0 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b6fb258ade53fbd766b33e5ceb74d9e8e2699f131868b32b5f3953403b55d578
BLAKE2b-256 checksum
How to use checksums
04378d45a068064b5c906e60843ff3aff54af9bf97f3c021afdaacd9c68a8f31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL lateweave-0.2.0-cp314-cp314-manylinux_2_28_aarch64.whl
Size 5.8 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
75d7c80f6fc4fff9256aabe2b86b1ff602de1a60ebc2db44982ac87deac55fb7
BLAKE2b-256 checksum
How to use checksums
06e79beab3f142e8be4b2371b3a43e6c99f6722932f5f5333a5516a18b207bda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL lateweave-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Size 630.7 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
60eff222b93674d4a8e3efd46c4769d6a0393fa04631076d508f95e790352663
BLAKE2b-256 checksum
How to use checksums
7074c2c7eeb875d08ff32f8d82b6a9c8c140afcb7aa7c41017b9b1fada9e6a07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL lateweave-0.2.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 666.1 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
f3cb0ba44f7e1f56a5baa508f3fc92e0e6f213a9e21b61d370d610093da8af79
BLAKE2b-256 checksum
How to use checksums
4af4acb503f22d3620c9cf0b43ba56420d2bec4f2e91f87292ec994ee423da93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL lateweave-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 13.0 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a5cd6725902cd1dd318db60a65bf175dde43c7fa36a8d97568c04464d00659f8
BLAKE2b-256 checksum
How to use checksums
23b0fd4d4daab8115ec7840a3f3d668c442a7709ab87e04fcf697e9184e556b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL lateweave-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl
Size 5.8 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f873901844a7c2f6b340fbbd099dc1d240636149a9a7b3284b8a5850b2ed54fa
BLAKE2b-256 checksum
How to use checksums
2d11d64081b40e74f76a5321542e1af89cb457430ecc38f5966972a1162606bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL lateweave-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 631.2 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d46133311d37b284c3e13bb4a05f40c78e1da823af27865779fea75eae9509eb
BLAKE2b-256 checksum
How to use checksums
65a360dd8e0f69964c51bc41d68bf7b663c3a8e1e2d8a245d31987b3501fe2bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp313-cp313-macosx_10_15_x86_64.whl

Download URL lateweave-0.2.0-cp313-cp313-macosx_10_15_x86_64.whl
Size 666.3 kB
Tags CPython 3.13 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0b551b084b5db8df391a490956a349eee94ad317d6a719701478a8d8169a4b6c
BLAKE2b-256 checksum
How to use checksums
598944187d8d270c83bac15b0cbac0275f185f190a21dd8ceb084873d7ca1aee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL lateweave-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 13.0 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4c1944c448d920fe0b5ee8dbc3f5ed0b15f49849ccea3a3e1874e2b1efb6b3d3
BLAKE2b-256 checksum
How to use checksums
c08555f66784331b9ebd53804fdfde91fd9a049f74d2e6a05eac5643f1449e3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL lateweave-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl
Size 5.8 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
bfffa7a3ba03e492e8a5ba0b93b6251e8cbb357a7d940716de147e9991301494
BLAKE2b-256 checksum
How to use checksums
b9e2fa7dc635e6b306f7b74b3b83db568cadc1cd9e3f8b97b170c476ef0cda28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL lateweave-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 630.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e54352e2d57f18d8ed70e5bc35b0f1434f2dfe3984d91cd9babeaabc5a2b8e3b
BLAKE2b-256 checksum
How to use checksums
96bf58d0736fab33cd7e3f9c2edbc04699290a2ae97cee1b5faa228f5de9ac08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp312-cp312-macosx_10_15_x86_64.whl

Download URL lateweave-0.2.0-cp312-cp312-macosx_10_15_x86_64.whl
Size 665.9 kB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
2336846cee03d6016805d1f3667e58a0cbcd47baa3f045a669db8dbf5a65bbbe
BLAKE2b-256 checksum
How to use checksums
0bc5551f5e0a6a574d41d230c61a6acba1d8ac218cfcb151ff5b533e00d4b2e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL lateweave-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 13.0 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
18557542778d45b5ba6b8fd4bfd6cc3c4ca6778ec59fbe74351b46bc19ef3f6a
BLAKE2b-256 checksum
How to use checksums
dd349324a1ef326486c9ebcae2b364524fda30517e9d1559e97c52c451bb1f56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL lateweave-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl
Size 5.8 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7c7060fa92c61022c8e58823c0f04c2d5f6b59452ed0605b65f2c20fcf88a1d4
BLAKE2b-256 checksum
How to use checksums
568b029b2a1965f56bb72f5e2b477f84200d9899c0e13e6ee2724a4b4722c8ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL lateweave-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 635.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0526368ac516c8238ff0d7d4cd799d283d7b7de27b7c660da9f7b4eb5558766d
BLAKE2b-256 checksum
How to use checksums
0f1b806e12048df1805cde0a163c9b1d08c0b13dbd1fca2d25b86eac83d9289e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / lateweave-0.2.0-cp311-cp311-macosx_10_15_x86_64.whl

Download URL lateweave-0.2.0-cp311-cp311-macosx_10_15_x86_64.whl
Size 658.8 kB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
a221ee89a7b0ac0a1f03a46b1e710a0befbbb8c6666aac007d25f32852caf5a4
BLAKE2b-256 checksum
How to use checksums
f80c1d273931df206c2aa4456213811aba13f4d9259bae336703b78c2b9389ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

17 release files

0.1.0

17 release files

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