Integrations
Annotgrove fits into your pipeline, not the other way around.
REST API, native connectors for major ML frameworks, and webhook callbacks. No pipeline rewrite required.
Native connectors
Works with the tools your team already uses
Native connectors for storage, frameworks, experiment tracking, and CI pipelines. Drop-in, not bolt-on.
PyTorch
Export directly as a DataLoader-compatible dataset. COCO JSON and annotation masks ready for torchvision transforms.
TensorFlow
TFRecord export and tf.data pipeline helpers. Plug Annotgrove output directly into an existing TF training loop.
HuggingFace Datasets
Push annotated datasets directly to HuggingFace Hub. Version-controlled, shareable, and loadable in one line.
MLflow
Log dataset versions and annotation stats as MLflow artifacts. Track which labeled dataset produced which model checkpoint.
Weights and Biases
Log annotation job metadata as W&B artifacts. Link annotation quality scores to training runs for full lineage tracking.
AWS S3
Direct S3 bucket connection. Upload raw frames from S3, write completed datasets back to S3. IAM-based auth, no credential sharing.
Google Cloud Storage
GCS bucket read and write. Annotgrove ingests frames from your GCS bucket and writes completed labels back on export.
Azure Blob Storage
Azure Blob connector with SAS token support. Connect your annotation pipeline to Azure-hosted raw data without data duplication.
REST API
API-first by design
Every action you can do in the UI can be triggered via REST API. Annotgrove is designed for teams that automate their data pipelines.
- Create and manage annotation jobs programmatically
- Upload frames and retrieve results via HTTP
- Webhook callbacks on job completion or per-frame events
- Export in COCO, YOLO, Pascal VOC, or CSV formats
- API key auth with per-project scopes
import annotgrove
# Initialize client with your API key
client = annotgrove.Client(api_key="agr_sk_...")
# Create a new annotation job
job = client.jobs.create(
name="vehicle-detection-batch-47",
annotation_type="bbox",
source={
"type": "s3",
"bucket": "my-raw-frames",
"prefix": "batch-47/"
},
webhook_url="https://example.com/hooks/agr"
)
# Start pre-labeling run
client.jobs.run(job.id)
print(f"Job {job.id} started")
# When webhook fires, export completed dataset
export = client.jobs.export(
job.id,
format="coco_json"
)
For ML engineers
Built for engineers who automate
Everything you need to wire Annotgrove into your existing CI/CD and training pipelines.
Python SDK
pip install annotgrove. Annotate, query, and export from your training scripts. PyPI package with full type hints.
Webhook callbacks
Trigger training runs automatically when a batch completes annotation. Per-frame and per-job event hooks with signed payloads.
Dataset versioning
Every export is a versioned snapshot. Reproduce any earlier training run by re-exporting the same snapshot. Hash-verified, immutable.
Scoped API keys
Create per-project API keys with read-only or read-write scopes. Revocable at any time. No credentials embedded in training scripts.
Connect Annotgrove to your stack today.
Start with 10,000 free labels. API access included on all plans.