Skip to main content

Cron-friendly batch LLM processing for Polars.

Project description

llm-batch-py

llm-batch-py is a cron-friendly batch LLM runner for Polars.

Install with pip install llm-batch-py.

It lets you:

  • define structured-output or embedding jobs against a Polars DataFrame or LazyFrame
  • build prompts with Rust-backed row templates, with Python UDFs available as fallback
  • auto-poll prior batches, auto-submit only missing rows, and materialize a fresh Polars result table
  • process large inputs incrementally with Runner.run_stream(...) from a DataFrame, LazyFrame, or host-supplied Iterable[DataFrame]
  • persist manifests and raw artifacts in local or S3-backed parquet storage

Reruns are grouped implicitly by job.name inside one shared result_cache.root_uri. If you run the same job again against the same cache store, llm-batch-py reuses completed results, skips duplicate submission for still-active prior work, and only submits rows whose effective request identity changed or whose retries are still allowed.

llm-batch-py is cron-friendly, but it does not schedule itself. Your scheduler invokes Runner.run(), and each rerun acquires a short-lived job lock, polls prior batches, reuses completed results, keeps matching in-flight rows pending, and submits only new or changed rows. Changing BatchConfig.batch_size affects only future submissions; it does not invalidate result-cache hits for completed rows.

Provider batch submission is sequential. When one run needs multiple small provider batches, llm-batch-py submits them one by one rather than firing all submits concurrently.

If a small batch submit fails transiently before the provider accepts it, llm-batch-py does a short inline retry loop in the same run(). If the submit still fails, the batch stays recoverable in the result cache and later reruns retry that same small batch before submitting any later chunks. BatchConfig.max_retries applies per retryable small-batch submit and per retryable row-level provider failure.

LazyFrame support does not make Runner.run() fully streaming by itself. Runner.run() still materializes the full job input before validation and request building. Use Runner.run_stream(...) when you want chunked execution over a DataFrame, LazyFrame, or host-supplied Iterable[DataFrame].

Quickstart

import polars as pl
from pydantic import BaseModel

from llm_batch_py import (
    BatchConfig,
    LockConfig,
    OpenAIConfig,
    PromptCacheConfig,
    ResultCacheStoreConfig,
    Runner,
    StructuredOutputJob,
    structured_template,
)


class CompanyLabel(BaseModel):
    label: str


build_prompt = structured_template(
    system="Return JSON only.",
    messages="Label this company: {{ row.company_name }}",
    name="build_prompt",
    version="v1",
)


job = StructuredOutputJob(
    name="company_labels",
    key_cols=["id"],
    input_df=pl.DataFrame({"id": [1], "company_name": ["OpenAI"]}),
    prompt_builder=build_prompt,
    output_model=CompanyLabel,
    provider=OpenAIConfig(model="gpt-4o-mini"),
    result_cache=ResultCacheStoreConfig(root_uri="./.llm_batch_py"),
    prompt_cache=PromptCacheConfig(mode="auto"),
    lock=LockConfig(ttl_seconds=3600),
    batch=BatchConfig(batch_size=500),
)

runner = Runner()
result_df = runner.run(job)
print(result_df)
print(runner.last_summary)

slim_df = runner.run(job, metadata_columns=["llm_batch_py_status"])
print(slim_df)

Streaming Large Inputs

import polars as pl

lazy_input = (
    pl.scan_parquet("./companies.parquet")
    .select(["id", "company_name"])
)

runner = Runner()
for chunk_df in runner.run_stream(
    job=job.__class__(**{**job.__dict__, "input_df": lazy_input}),
    input_batch_rows=10_000,
):
    print(chunk_df.select(["id", "llm_batch_py_status"]))

print(runner.last_stream_summary)

run_stream() yields one result DataFrame per input chunk. Each chunk uses the same result-cache, polling, retry, and lock semantics as a normal short-lived run().

If your host already pages from Postgres or another source, you can also push batches directly:

def pg_batches() -> list[pl.DataFrame]:
    return [
        pl.DataFrame({"id": [1], "company_name": ["OpenAI"]}),
        pl.DataFrame({"id": [2], "company_name": ["Anthropic"]}),
    ]


for chunk_df in runner.run_stream(job=job, input_batches=pg_batches()):
    print(chunk_df.select(["id", "llm_batch_py_status"]))

For private S3-backed result caches, pass filesystem options through ResultCacheStoreConfig:

result_cache = ResultCacheStoreConfig(
    root_uri="s3://my-bucket/llm_batch_py-prod",
    storage_options={
        "profile": "my-profile",
        "client_kwargs": {"region_name": "us-west-2"},
    },
)

For a private AWS S3 bucket, the cache store can authenticate with any normal s3fs credential path:

  • AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
  • optional AWS_SESSION_TOKEN
  • AWS_PROFILE
  • an attached IAM role

If you want explicit credentials in code:

result_cache = ResultCacheStoreConfig(
    root_uri="s3://my-bucket/llm_batch_py-prod",
    storage_options={
        "key": "AWS_ACCESS_KEY_ID",
        "secret": "AWS_SECRET_ACCESS_KEY",
        "token": "AWS_SESSION_TOKEN",
        "client_kwargs": {"region_name": "us-west-2"},
    },
)

The cache principal needs list, read, write, and delete access under the configured prefix because llm-batch-py lists manifests, reads and writes artifacts, and creates and removes lock files there.

If you point storage_options at a custom S3-compatible endpoint_url, llm-batch-py now rejects job locking by default because the lock protocol depends on AWS S3 exclusive-create semantics. Only bypass that with LockConfig(allow_unsafe_s3_compatible_locks=True) if you already serialize runners externally and accept possible cache corruption risk.

structured_template(...) and embedding_template(...) are the primary prompt-building APIs. They render {{ row.field }} placeholders through the Rust template engine for lower per-row overhead.

prompt_udf(...) remains supported as a compatibility fallback when templating is not expressive enough. A prompt_udf should return structured Python data such as dicts, lists, Pydantic models, and datetime-like values. llm-batch-py canonically serializes the rendered payload before computing result-cache keys, so dict insertion order does not affect cache hits.

Returned result frames include llm_batch_py_* metadata columns for provider status, token counts, and raw request/response inspection fields such as llm_batch_py_input_raw_json, llm_batch_py_request_raw_json, llm_batch_py_output_raw_json, and llm_batch_py_output_raw_text.

If you do not need the full metadata surface on the returned frame, pass metadata_columns=[...] to Runner.run() or Runner.run_stream() to join back only the requested llm_batch_py_* columns. Pass metadata_columns=[] to suppress metadata columns entirely.

Docs

Customizing provider prompt cache

from llm_batch_py import PromptCacheConfig

PromptCacheConfig(
    mode="auto",
    verbose=False,
)
  • mode: Literal["off", "auto"] = "auto"
  • verbose: bool = False

OpenAIConfig

from llm_batch_py import OpenAIConfig

OpenAIConfig(
    model="gpt-4o-mini",
    api_key=None,
    max_output_tokens=None,
    temperature=None,
    timeout=60.0,
    organization=None,
    base_url=None,
    dimensions=None,
    pricing=None,
)
  • model: str
  • api_key: str | None = None
  • max_output_tokens: int | None = None
  • temperature: float | None = None
  • timeout: float | None = 60.0
  • organization: str | None = None
  • base_url: str | None = None
  • dimensions: int | None = None
  • pricing: ModelPricing | None = None
  • provider_name: Literal["openai"] = "openai"

OpenAIConfig is used for:

  • structured-output jobs
  • embedding jobs

AnthropicConfig

from llm_batch_py import AnthropicConfig

AnthropicConfig(
    model="claude-3-5-haiku-latest",
    api_key=None,
    max_output_tokens=1024,
    temperature=None,
    timeout=60.0,
    pricing=None,
)
  • model: str
  • api_key: str | None = None
  • max_output_tokens: int = 1024
  • temperature: float | None = None
  • timeout: float | None = 60.0
  • pricing: ModelPricing | None = None
  • provider_name: Literal["anthropic"] = "anthropic"

AnthropicConfig is used for structured-output jobs only.

Customizing result cache store config

result_cache=ResultCacheStoreConfig(...) controls the persistent result cache catalog used to reuse prior results. It is separate from the result_df returned by runner.run(job).

Completed results are stored in the result cache catalog and reused on later runs until you delete or replace that catalog. There is no result TTL or automatic result-cache eviction in llm-batch-py today.

from llm_batch_py import ResultCacheStoreConfig

result_cache = ResultCacheStoreConfig(
    root_uri="s3://my-bucket/llm_batch_py-prod",
)
  • root_uri: base location for manifests, raw artifacts, and reusable cached results. This can be a local path like "./.llm_batch_py" or any fsspec URI such as s3://....
  • storage_options: optional fsspec / s3fs filesystem options such as profile, key, secret, token, client_kwargs.region_name, or client_kwargs.endpoint_url.

For private S3-backed cache stores, see the S3 cache storage guide.

Default result cache key

Each request gets a content-addressed cache key for result reuse. llm-batch-py hashes the request payload together with the job/provider context, using SHA-256 over a canonical JSON representation.

By default the cache key includes:

  • the rendered request payload from your prompt_builder or text_builder
  • job.name
  • prompt_builder.version or text_builder.version
  • provider name and model
  • endpoint kind (structured or embeddings)
  • structured-output schema, when applicable
  • provider options that affect outputs: temperature, max_output_tokens, dimensions, base_url, and organization
  • shared prompt-cache config, when set on a structured-output job

Notably, row IDs and key_cols are not part of the result cache key. If two rows in the same job render the same payload under the same config, they will hit the same cached result.

Cache key customization

There is no explicit cache_key_fn or cache-key override API today.

The supported ways to change cache identity are:

  • change job.name to create a separate cache namespace
  • bump the prompt builder version when prompt semantics change
  • change the rendered payload or provider/model settings
  • point root_uri at a different result cache store if you want fully isolated cached results

Customizing lock config

lock=LockConfig(...) controls how llm-batch-py recovers from abandoned job locks.

from llm_batch_py import LockConfig

lock = LockConfig(ttl_seconds=6 * 60 * 60)
  • ttl_seconds: if a previous run left a lock behind and it is older than this TTL, a new run can reclaim it. Default: 3600.
  • allow_unsafe_s3_compatible_locks: bypasses the safeguard that rejects custom S3-compatible endpoint_url lock backends. Default: False.

allow_unsafe_s3_compatible_locks=True does not make S3-compatible locking safe. It only suppresses the fail-fast guard for users who already serialize runners externally.

If you mean provider prompt caching rather than the llm-batch-py result cache store, configure that on the job:

from llm_batch_py import PromptCacheConfig

job = StructuredOutputJob(
    ...,
    prompt_cache=PromptCacheConfig(mode="auto"),
)

PromptCacheConfig(...) controls shared provider-side prompt caching behavior.

  • mode="off" disables provider prompt caching.
  • mode="auto" uses provider-managed prompt caching.
  • verbose=True logs one INFO estimated-analysis diagnostic per distinct prompt shape showing the likely cacheable prefix candidate and likely trailing dynamic content candidate.
  • llm-batch-py does not expose provider-specific prompt-cache options; it only enables shared automatic caching behavior.

Customizing batch config

batch=BatchConfig(...) controls how pending rows are grouped into provider batch submissions.

from llm_batch_py import BatchConfig

batch = BatchConfig(
    batch_size=500,
    max_retries=3,
)
  • batch_size: hard cap on requests per submitted batch. If unset, llm-batch-py uses the provider's built-in batch request limit.
  • max_retries: maximum retries for retryable failed rows before they are held as failed. Default: 2.

Provider payload byte caps and batch completion windows are derived internally from the selected provider adapter rather than configured in BatchConfig.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llm_batch_py-0.1.7.tar.gz (195.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

llm_batch_py-0.1.7-cp313-cp313-win_amd64.whl (226.7 kB view details)

Uploaded CPython 3.13Windows x86-64

llm_batch_py-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (370.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

llm_batch_py-0.1.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (357.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

llm_batch_py-0.1.7-cp313-cp313-macosx_11_0_arm64.whl (328.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

llm_batch_py-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl (338.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

llm_batch_py-0.1.7-cp312-cp312-win_amd64.whl (227.2 kB view details)

Uploaded CPython 3.12Windows x86-64

llm_batch_py-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (370.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

llm_batch_py-0.1.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (358.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

llm_batch_py-0.1.7-cp312-cp312-macosx_11_0_arm64.whl (328.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

llm_batch_py-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl (338.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

llm_batch_py-0.1.7-cp311-cp311-win_amd64.whl (227.1 kB view details)

Uploaded CPython 3.11Windows x86-64

llm_batch_py-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (371.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

llm_batch_py-0.1.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (358.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

llm_batch_py-0.1.7-cp311-cp311-macosx_11_0_arm64.whl (332.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

llm_batch_py-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl (341.7 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

llm_batch_py-0.1.7-cp310-cp310-win_amd64.whl (227.0 kB view details)

Uploaded CPython 3.10Windows x86-64

llm_batch_py-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (371.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

llm_batch_py-0.1.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (358.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

llm_batch_py-0.1.7-cp310-cp310-macosx_11_0_arm64.whl (332.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

llm_batch_py-0.1.7-cp310-cp310-macosx_10_12_x86_64.whl (341.5 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file llm_batch_py-0.1.7.tar.gz.

File metadata

  • Download URL: llm_batch_py-0.1.7.tar.gz
  • Upload date:
  • Size: 195.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for llm_batch_py-0.1.7.tar.gz
Algorithm Hash digest
SHA256 2bb751a9090de7cdbd4eb45ac45600baa9003366ca445bb111150ca91fddaf8e
MD5 f5f1d7d684f29825d2d3435fb16cb4b4
BLAKE2b-256 a30e24bb0f28f32c7e66090c9d9c2eb357527a88823a96aa825513c4a3054f2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7.tar.gz:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 de3cf76a526e213083cf8688825ec59e8db040dc730e1adfa8d3de2a27272048
MD5 2e82127a66300025b2c4f75711ca7d36
BLAKE2b-256 f47acd225fdb8f3f9c63bba8d21da160040dbca18b32755b0f8630091e130d09

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51d7e550e8b76262caf1a4849b447c19ea70069a5136b61fa9bb36c544aa683c
MD5 6fd0431c4f31ac0fe11352648081ad14
BLAKE2b-256 3303e13fe9453ed5f0474e410c3e1d0a951636ded088ca10f3dae078eb380d46

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 94cc9911b5a47bfe0b699c63da188520d978f8c4fcaad9b1592d7cfc3a88e435
MD5 12b26d7e10bccb3871441249fb24549d
BLAKE2b-256 f1d6a2f6529bfdf91d21491a3681e759b99cbde2df5eaa8ff7545b4a80fc7bd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ec60b69ea50c8a7f32d4c69b04cf2870f181775c93f91753ba00e43aff0ce6c
MD5 09199ca3bb0b7e60da71e5899886b1fe
BLAKE2b-256 ce82a5829b8abe1dc736d29b90b8d979c1e9bfb5badf3fe7d5c87e971efe9cda

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0fb3342d3f306025a8009c6dcd71336b21b8c05f8c7aacf6caf8dd48e8c68943
MD5 6cbb1386a6a40ac51333de1e393c22f2
BLAKE2b-256 a8fa337f1296f810f0d9ba1b79c5e451d376b3156e440dc5b810a90bef144119

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 de13a5278a832db958ff62ebfd97975e7143b29960ab88238e4d4208fa6b2c28
MD5 6a207c1cd15dda4c52389e5d3a66a87c
BLAKE2b-256 f1afd154a2768e9685c081be8dcab114c1122dcadf57b02c91d7ed7c0048336b

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33ade8a6cc5f187c85f14cd59e6d709fc021166b2772e7a82f05cfb926ba3406
MD5 9a9679e8ae81b5a31b0a17ed8e3035d5
BLAKE2b-256 2f5417a189e8f2ca04dd8ee97b648601776619116accbff77130b85ddb6fa429

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5961108a14777d93f9ff58e5a4e5fc43f8879e3770bf8a1d8226c212b36f8840
MD5 930c94b910ae5c0e9d034f670a890592
BLAKE2b-256 98d087b60be84a861a5c94bc7a8e739c1835c8404a59730951f5c96c0f51c0e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20344ceb96a1d4d54d1413044d75bd861700fba1208adf908c358cb3f7d533b9
MD5 3b600d0cf92ce5acaf8403b51e8022fe
BLAKE2b-256 1455432b12edaf571cd6c969a9ccf8c075cbd6baa84cf9ac556900c1171e5381

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f539e05dbfe295b72c241643963dc7b7c784e713dec10eae1c6b21136973f50f
MD5 581afb1bf6269c42471937ebd35bd551
BLAKE2b-256 ec936aabc969e0ab9555ad3b5d9165886b376e730444db0dc8492bbade5c048f

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9c545ed89e07996ff5c9def374041de684c399931bb8bd1aa3e088fd2cd94c03
MD5 0c4d9416695d1fe778eb54dc370adde8
BLAKE2b-256 ac1fcd0d3cb57aa28a9fef3e8ef3db902b2c923ef0fc3c4804f4078a8318d315

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ba02ad3396a4239c331387a487708b273a511c4807f9664a14726e6a96d2932
MD5 97aeab060a7c3550cb7847b060607b9d
BLAKE2b-256 929b2039e8706ebc7a123e80618529f23d3f99578952642ca3e6077506d3c831

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0caf6845725b14acdff1acae2509d871484c22637603bcb3024112e79bb03a40
MD5 0287ee965029357f9a750db6ae349ecd
BLAKE2b-256 ae52d2942b7fd26d2b050b2f29662f3df1366e49da6f755750d17636215c2a8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b663ccb1f967c68dfffb9c1ce3dcbbbf6e28685d99412c6bf9bc1e63de45e17
MD5 55e1867a76496c650e07d0736eece980
BLAKE2b-256 8d69aca8fbb3f56c1ef9ba3debf855ad50c9fa7afefc6fc539891ab5a9477b3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7b0f2293ad6bba3983f69d2c859b43ba82047bde8de167bae36ff5ce0e5a893e
MD5 e8b2373aca459b38d188bf87bc838426
BLAKE2b-256 b892ab5a8444fdd85d6f56b8bf93957e63dac59236ce7c65d8282c7a5258b459

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 499ddc8facb5f2761089831e9d29cf485ddb4c9a7905d81b2fb1c4e2c678e576
MD5 de6620b602a2d90508bdca8d7b2192a2
BLAKE2b-256 34d96cd8fdcaa37ffb78a9dd714c34fae8e2d6784353eb19c4e35172c17201ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ab29b1913d23780d5ec3c07b78f03331a4cdd838206a5fdda52998b885ba6ef
MD5 b19c0e41d8ed51922f7f61e8c56d566d
BLAKE2b-256 dac288ae7ad582570f6ec44e100b3ee9a95d928258644e79844d785dac09c245

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c1a6430e0c135fe8dbf34ed084f7e80fdd0d9f6d171bc4cd0271cfa0fd91f4b5
MD5 2b30a04dfa9f47bfc70fdd1a406b28f5
BLAKE2b-256 6742e41aeeb74698238d72805ee76221b3d95ecf3e780757c4d738f2b495b972

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df866e8c833379b5ffe656bf2380b5945f22371634d2029a0728c8e5fe7d5efd
MD5 98d8a37bd988e8f6c7bdcaf14be64f43
BLAKE2b-256 fc8c0e1f2da480463241dccd3e84a90bca94b967b9da801ebed8e1275920ed73

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_batch_py-0.1.7-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for llm_batch_py-0.1.7-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 45610407096f73b4721fabf1d2e39abfd67c53e9779d8d69ed08e01cd9cdb374
MD5 8c2a4c987ca129224ff4d917010b3bd8
BLAKE2b-256 f1d0810eedd945717160ded272a06d9790ac1a70b704c401ca4f0e249a6afe62

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_batch_py-0.1.7-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: publish.yml on zhjch05/llm-batch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page