Cloud scheduling backend for Lamia — deploy and run .lm scripts on GCP.
Project description
lamia-cloud
Cloud scheduling backend for Lamia. Deploy .lm scripts to run on a schedule in the cloud — fully automated. Currently supports GCP.
Installation
pip install "lamia-lang[cloud]"
Prerequisites
- GCP project with billing enabled
- Application Default Credentials:
gcloud auth application-default login
All required GCP APIs (including Service Usage) are enabled automatically on first deploy.
Quick Start
- Add a
cloudsection to your project'sconfig.yaml:
cloud:
provider: gcp
project_id: my-gcp-project
location: us-central1 # optional, default: us-central1
- Schedule your script with the
--remoteflag:
lamia schedule add my_script.lm --every day --remote
The --remote flag tells lamia to deploy and run the script in the cloud instead of locally.
Managing Schedules
lamia schedule list # shows all jobs (local + cloud) with live status
lamia schedule add X --remote # deploy and schedule a new cloud job
lamia schedule remove <id> # tears down cloud resources and removes the job
How It Works
lamia schedule add --remotepackages your project and deploys it as a Cloud Run service- Cloud Scheduler triggers it on your cron schedule
- Logs are available in Cloud Logging
lamia schedule listfetches live execution status from the cloud
LLM on Cloud — Vertex AI
Scripts that use LLM calls run through Vertex AI on cloud. This gives you:
- No API keys — authentication via IAM, no keys to store, rotate, or leak
- Budget control — Vertex AI quotas and billing alerts
- Secure by default — no API key transport or storage, traffic stays within GCP
Supported Models
| Provider | Cloud routing |
|---|---|
| Anthropic (Claude) | Runs natively on Vertex AI — same models, same quality |
| Google (Gemini) | Runs natively on Vertex AI |
| OpenAI (GPT, o-series) | Automatically mapped to Gemini by tier (strong/medium/light) with runtime selection of the best available current Gemini model |
Anthropic and Google models run as-is. OpenAI models are mapped because they're not available on Vertex AI — tier classification is stable while the selected Gemini model is discovered dynamically at runtime.
Configuration Reference
| Field | Required | Default | Description |
|---|---|---|---|
cloud.provider |
Yes | — | Cloud provider (currently gcp) |
cloud.project_id |
Yes | — | Your GCP project ID |
cloud.location |
No | us-central1 |
Region for Cloud Run deployment |
No environment variables are required.
Troubleshooting
- If Vertex AI access is not enabled yet, lamia-cloud logs a project-specific URL and attempts to open it automatically in your browser:
https://console.cloud.google.com/vertex-ai?project=<your-project-id> - After accepting terms, re-run the schedule/install command once.
Development
git clone https://github.com/lamia-lang/lamia-cloud.git
cd lamia-cloud
pip install -e ".[dev]"
pytest
Releasing
git tag v0.1.0
git push origin v0.1.0
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 lamia_cloud-0.1.0.tar.gz.
File metadata
- Download URL: lamia_cloud-0.1.0.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cef668ea28b0a771ff79b75bd5b35d6fa16bad884298a44276e7ba76a8acf664
|
|
| MD5 |
94acf8a8c96472199f29f86e055759c3
|
|
| BLAKE2b-256 |
90fd545befcc1599e071a55e23328df344bc9a9bf928bd54960c69481246c178
|
Provenance
The following attestation bundles were made for lamia_cloud-0.1.0.tar.gz:
Publisher:
publish.yml on lamia-lang/lamia-cloud
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lamia_cloud-0.1.0.tar.gz -
Subject digest:
cef668ea28b0a771ff79b75bd5b35d6fa16bad884298a44276e7ba76a8acf664 - Sigstore transparency entry: 1854452715
- Sigstore integration time:
-
Permalink:
lamia-lang/lamia-cloud@827fcb32f0ff6ded9c5aea3762dfbdc6e989a201 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/lamia-lang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@827fcb32f0ff6ded9c5aea3762dfbdc6e989a201 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lamia_cloud-0.1.0-py3-none-any.whl.
File metadata
- Download URL: lamia_cloud-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be6327ba24eba236832ee9be9fde360667b98547808e5eec397fe55d1eb186e9
|
|
| MD5 |
d7af61d661f8bc0b5b03c89ad4f3b7aa
|
|
| BLAKE2b-256 |
e51dc6d6632754acf32bff060c21fb1ff9b2fde273b58e9df6d7081dec760487
|
Provenance
The following attestation bundles were made for lamia_cloud-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on lamia-lang/lamia-cloud
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lamia_cloud-0.1.0-py3-none-any.whl -
Subject digest:
be6327ba24eba236832ee9be9fde360667b98547808e5eec397fe55d1eb186e9 - Sigstore transparency entry: 1854452749
- Sigstore integration time:
-
Permalink:
lamia-lang/lamia-cloud@827fcb32f0ff6ded9c5aea3762dfbdc6e989a201 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/lamia-lang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@827fcb32f0ff6ded9c5aea3762dfbdc6e989a201 -
Trigger Event:
push
-
Statement type: