Batch-oriented LLM annotation workflows for tabular datasets with OpenAI Batch support.
Project description
llm-batch-annotate
llm-batch-annotate is a Python package for running reproducible LLM annotation workflows over tabular datasets. It materializes units from source rows, groups them into provider requests, submits them through an execution adapter, parses structured outputs, validates coverage, and writes run artifacts for auditability.
Highlights
- single-unit and grouped annotation workflows
- provider-agnostic task, builder, parser, and artifact abstractions
- concrete OpenAI Batch adapter
- resumable CLI-driven runs with persisted manifests
- example configs, prompts, schemas, and sample data under
examples/
Installation
When the package is published:
pip install llm-batch-annotate
From a local checkout:
python3 -m venv .venv
.venv/bin/pip install -e .[test,docs]
Quickstart
Single-unit example:
export OPEN_AI_KEY="your-key"
llm-batch-annotate run examples/config/run_config.json --run-id example-single --no-poll-until-terminal
llm-batch-annotate resume examples/config/run_config.json example-single --poll-interval 2m
Grouped example:
export OPEN_AI_KEY="your-key"
llm-batch-annotate run examples/config/run_config_2.json --run-id example-grouped --no-poll-until-terminal
llm-batch-annotate resume examples/config/run_config_2.json example-grouped --poll-interval 2m
Documentation
Project documentation is intended to be hosted on Read the Docs. The Sphinx source lives under docs/.
Planned public docs include:
- installation
- quickstart
- CLI reference
- config reference
- OpenAI Batch provider guide
- worked examples
- API reference
- development and release notes
Repository layout
src/llm_batch_annotate/: package sourceexamples/: tracked example inputs and configstests/: pytest suitedocs/: Sphinx documentation source
Generated example runs are written to examples/runs/ and are intentionally excluded from version control.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llm_batch_annotate-0.1.0.tar.gz.
File metadata
- Download URL: llm_batch_annotate-0.1.0.tar.gz
- Upload date:
- Size: 58.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
543636a0ac61c05fa9bd06a224477c6ba9bfd801e50fe059290806586bb65be7
|
|
| MD5 |
d22213064fcaa2df092cff862f83918b
|
|
| BLAKE2b-256 |
25c832209e9f8ab5b4c9dd69f2b51a6a268cdbcf0e44f2a60dd7a13d131e1e51
|
Provenance
The following attestation bundles were made for llm_batch_annotate-0.1.0.tar.gz:
Publisher:
release.yml on felipesfpaula/batch_api_annotate
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
llm_batch_annotate-0.1.0.tar.gz -
Subject digest:
543636a0ac61c05fa9bd06a224477c6ba9bfd801e50fe059290806586bb65be7 - Sigstore transparency entry: 1079352725
- Sigstore integration time:
-
Permalink:
felipesfpaula/batch_api_annotate@65c0a7ce254195ea76e03f806ea083ca25fe864b -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/felipesfpaula
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@65c0a7ce254195ea76e03f806ea083ca25fe864b -
Trigger Event:
push
-
Statement type:
File details
Details for the file llm_batch_annotate-0.1.0-py3-none-any.whl.
File metadata
- Download URL: llm_batch_annotate-0.1.0-py3-none-any.whl
- Upload date:
- Size: 56.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bade2ebdd40dbc39386872a630f2dc16a1d3c3747a34aa106e2c107466de068
|
|
| MD5 |
d4661bceb0a2e2dd63c5b242932cc3c7
|
|
| BLAKE2b-256 |
fbb58c659e47dd32c7671425c9419a3cb55f9d3178e8ce37c265c05f90b7cd8d
|
Provenance
The following attestation bundles were made for llm_batch_annotate-0.1.0-py3-none-any.whl:
Publisher:
release.yml on felipesfpaula/batch_api_annotate
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
llm_batch_annotate-0.1.0-py3-none-any.whl -
Subject digest:
8bade2ebdd40dbc39386872a630f2dc16a1d3c3747a34aa106e2c107466de068 - Sigstore transparency entry: 1079352729
- Sigstore integration time:
-
Permalink:
felipesfpaula/batch_api_annotate@65c0a7ce254195ea76e03f806ea083ca25fe864b -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/felipesfpaula
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@65c0a7ce254195ea76e03f806ea083ca25fe864b -
Trigger Event:
push
-
Statement type: