Cloudglue Python SDK
Cloudglue makes it easy to turn video into LLM ready data. Official Python SDK for the Cloudglue API.
📖 Resources
By using this SDK, you agree to the Cloudglue Terms of Service and acknowledge our Privacy Policy.
Installation
You can install the Cloudglue Python SDK using pip:
pip install cloudglue
Quick Start
from cloudglue import Cloudglue
# Initialize the client
client = Cloudglue(api_key="your_api_key") # Or use CLOUDGLUE_API_KEY env variable
# Define your messages
messages = [
{"role": "user", "content": "What are aligned video captions?"}
]
# Make an API request
response = client.chat.completions.create(
messages=messages,
model="nimbus-001",
collections=["abc123"], # Assumes collection already exists, otherwise create one first then reference here by collection id
)
# Get the generated text
generated_text = response.choices[0].message.content
print(generated_text)
Development
Prerequisites
- Python 3.10+
- Make (for build tasks)
- Git
Setup
Clone the repository and set up the development environment:
git clone https://github.com/cloudglue/cloudglue-python.git
cd cloudglue-python
brew install openapi-generator
make setup # This will set up the virtual environment
# Initialize the API spec Git submodule
make submodule-init
API Specification
The OpenAPI specification is maintained in a separate repository and included as a Git submodule:
# Update the API spec to the latest version
make submodule-update
# After updating the spec, regenerate the SDK
make generate
Building
make generate # Generate SDK from OpenAPI spec
make build # Build the package
Releasing
Releases are published to PyPI automatically by the
Publish to PyPI GitHub Actions workflow
whenever a v* tag is pushed. It uses
OIDC trusted publishing — no API
tokens are stored anywhere.
To cut a release:
# 1. Bump the version in pyproject.toml (e.g. 0.7.15 -> 0.7.16) and commit it.
# 2. Tag the commit. The tag MUST match the pyproject.toml version, prefixed
# with "v" — the workflow fails fast if they differ.
git tag v0.7.16
git push origin v0.7.16
Pushing the tag triggers, in order:
- build — verifies the tag matches
pyproject.toml, builds the sdist + wheel, runstwine check. - publish — uploads the artifacts to PyPI via OIDC.
- github-release — creates a GitHub Release
for the tag with auto-generated notes and the
.tar.gz+.whlattached.
One-time setup
This is already configured for the cloudglue project, but for reference the
workflow depends on:
- A PyPI trusted publisher
for repo
cloudglue/cloudglue-python, workflowpublish.yml, environmentpypi. - A GitHub Environment named
pypi(repo Settings → Environments).
Manual publishing (fallback)
The legacy token-based path still works if you need to publish outside CI. It
requires a PyPI API token scoped to the
cloudglue project, in ~/.pypirc or via env vars:
make build
TWINE_USERNAME=__token__ TWINE_PASSWORD='pypi-...' make publish
Project Structure
Project directory structure described below:
cloudglue/
├── __init__.py # Main package initialization
├── client/ # Custom client wrapper code
│ └── main.py # Cloudglue class implementation
└── sdk/ # Auto-generated API code
dist/ # Pre-built package dist
spec/ # Git submodule with OpenAPI specification
└── spec/ # Nested spec directory
└── openapi.json # OpenAPI spec file
Contact
Release files for cloudglue 0.7.28
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cloudglue-0.7.28.tar.gz | 284.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cloudglue-0.7.28-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.0 MB
Release files / cloudglue-0.7.28.tar.gz
| Download URL | cloudglue-0.7.28.tar.gz |
|---|---|
| Size | 284.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e0efcf148541ed63232ec84ad8d5c99be3f635ae334c1ebf991b867a72073929
|
|
BLAKE2b-256 checksum How to use checksums |
33e35af5f751cd0cb9d406127369d65b9da48c28138b2fbae899bd6296dd47ee
|
| 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 Aug 31, 2026.
Transparency logRelease files / cloudglue-0.7.28-py3-none-any.whl
| Download URL | cloudglue-0.7.28-py3-none-any.whl |
|---|---|
| Size | 724.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0ae07c67cbd7c39db94e6401cea98ef7bb282030ebf3546b37b7058d73b25706
|
|
BLAKE2b-256 checksum How to use checksums |
afdec862f9d613d8fbd2e82d0680487cda7e4c66dad38ff9c0e47a430c4a97f5
|
| 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 Aug 31, 2026.
Transparency log