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
        allowed = None if subset is None else subset.get(self.corpus, frozenset())
        hits = searcher.search(query.text, limit=limit, allowed=allowed)
        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 maps corpora to the frozenset of document IDs the search is restricted to; 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.1.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.1.0
File Size Uploaded
lateweave-0.1.0.tar.gz 80.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for lateweave 0.1.0
File
lateweave-0.1.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
lateweave-0.1.0-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
lateweave-0.1.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
lateweave-0.1.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
lateweave-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
lateweave-0.1.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
lateweave-0.1.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
lateweave-0.1.0-cp313-cp313-macosx_10_15_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.15+ x86-64 Details
lateweave-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
lateweave-0.1.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
lateweave-0.1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
lateweave-0.1.0-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details
lateweave-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
lateweave-0.1.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
lateweave-0.1.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
lateweave-0.1.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.4 MB

Release files / lateweave-0.1.0.tar.gz

Download URL lateweave-0.1.0.tar.gz
Size 80.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c199bbde0a3454b741ce0a427a414c2bd21c2224a3d381c19f146d325982d218
BLAKE2b-256 checksum
How to use checksums
67ec56945121b5415affc63efc8ab7a8aa7b26c792a35226d5d00eb1271d45f3
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.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
5ec7341f28fd9cdc68fc1148deae7f68b152d0cfac09d2b3b29f5ac288e3c982
BLAKE2b-256 checksum
How to use checksums
ae737759121b61162e938d6105da35a0ab54a497330a3c3bbf365ac96569c78b
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.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
62dacf1433fa4042f2ceaf3a8b0c54e8ace712b24f42b987a814ce3f7305a45f
BLAKE2b-256 checksum
How to use checksums
45543a382639af8f4d409f4ba491cfae0ca759bc84a706a08f9ada3484754760
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Size 624.3 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3c20b57b654e7fd94dc9fb72ab856363d390476790d0aa44ea66df929c6ceff3
BLAKE2b-256 checksum
How to use checksums
d183945d4fcf2bfb94fda05d90eba91b2b9733fe62b8275445fd1a9055da7017
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 660.4 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
3ec4fc403e6645c2a27a9795ff5f4da5ad3a2340cf26412cd56d4f811785e7c1
BLAKE2b-256 checksum
How to use checksums
74c85a56e1c7960c753b699b0d1493b7a39d0fe35d1e9ef2ac75d95782d86581
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.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
23695a2245cdb99e2d35ecc74f1155fe84906947871f4fc11af29fc6be6d6f1a
BLAKE2b-256 checksum
How to use checksums
b67ffff23a124b3b469c83edf67b942d8eaddd8c69804fcd37b9033c6fc4ea9c
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.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
83ca06b8b3cd202163cc1d6d563d91a5cb1c649ac1c92fc7725890a917e0f218
BLAKE2b-256 checksum
How to use checksums
03bb6df4c3ee0bde896171fd1d46922721fa216642c9769d52e65cbce6e0bea5
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Size 625.1 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
045ce71f6f62f34ed6af1d01983b9a12726833997eb7b5769680bba0f802e835
BLAKE2b-256 checksum
How to use checksums
2cb0c46e4f1c3d022a74d718b9aa7b048d6160178228def37b759e66362f7412
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.0-cp313-cp313-macosx_10_15_x86_64.whl
Size 660.7 kB
Tags CPython 3.13 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
43bf32b35d32a2c38339b5752ee3be08a03421a68e33faf6d7324fcda349aa02
BLAKE2b-256 checksum
How to use checksums
111aa50b75dfd3717b6baab65b050ca50ca43286f6e9ca7b6d9228480db1281e
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.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
0d0d81b4fb86516bb4bbcc93b41e825400f86d70a4ae41034dce7847101ac984
BLAKE2b-256 checksum
How to use checksums
c5d197adc0da1e0e1338317aa9b984eb49a267780da29158b3cf281fe1798d11
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.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
8f4ebdb4d4ec5659b076d142685d4c3ebcad4d1b1f3d78c369f73db0ea8bb5f3
BLAKE2b-256 checksum
How to use checksums
164794b113e3e5ee9c0b651104e66121412a0b3a4378ff26f2bcf4a3c6af8923
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 624.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4f513aa553d90c5181ebdc6ff18d0c36144072fad8e1383efbbf9bdcb1a41ec2
BLAKE2b-256 checksum
How to use checksums
a964b916f5937ee119b0500ab8b92d963c822e3fc3e519a8a1e684846a498e4c
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.0-cp312-cp312-macosx_10_15_x86_64.whl
Size 660.1 kB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
8e5b28d6af48cf33434bd5eb96839db692719f34df40a8d224634e9644caaeb3
BLAKE2b-256 checksum
How to use checksums
566a8e7d964d3ca3e0788caff386d327e94db96a70bfba022e42190460a740ec
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.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
14a3ad09b3c5788c1cf708fb30e93d45fc64ac0589fd165ac8646930dc7abb0b
BLAKE2b-256 checksum
How to use checksums
c899eccc979385d50bf00fe590cd63b41bf664d408e7f9de90376615c60ef4d5
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.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
36b00e74e68e0cb34863f2b83ec5c17a33a57a44d5e8b4b9ad0004dc741f33e4
BLAKE2b-256 checksum
How to use checksums
ab9126e32390f655fb4217688ce9d37654140175b34312190bd61ea3e121f585
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Size 631.1 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
de9b5a24390480354ee4de46baaa73905c1e71f8ef3badae89c4f485f1f1c1e3
BLAKE2b-256 checksum
How to use checksums
698395d4a4a803acf2b82dba53515d8a368fe855cadf2334f91d20a45c31f0aa
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 Sep 29, 2026.

Transparency log

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

Download URL lateweave-0.1.0-cp311-cp311-macosx_10_15_x86_64.whl
Size 653.6 kB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
21f427d2efd7a4a48b06af5f3efedef2054571d88de9ed7273637e882d81aeec
BLAKE2b-256 checksum
How to use checksums
9bcd945ca27323aac248c5ae6a692c25a2871d880fec77a0bd4b718b7eaf6172
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 Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

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