Skip to main content

Python CLI for scaffolding and managing Terse projects.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

terse-cli

Python CLI for scaffolding, generating, testing, and deploying Terse jobs.

Installation

python -m pip install terse-cli

The CLI installs the published terse-sdk automatically.

Requirements

  • Python >=3.11
  • uv for working with scaffolded projects

The CLI itself can be installed with pip, but the generated project scaffold uses uv sync and uv run.

Quick Start

terse init my-terse-job
cd my-terse-job
uv sync
terse test

If you connect integrations later, regenerate the project helpers:

terse generate

Commands

  • terse init [PROJECT_NAME]
  • terse generate
  • terse integrate
  • terse run [JOB_NAME] --event ... --event-file ...
  • terse test [JOB_NAME]
  • terse deploy

Supported Generated Helpers

The current Python codegen surface is intentionally small:

  • Schedule.cron(...)
  • Attio.skill(...)
  • Snowflake.skill(...)
  • deterministic wrappers on agent.tools.attio and agent.tools.snowflake

terse generate writes these helpers into src/terse_generated.py inside your project.

For example, after generating Snowflake helpers and registering skills=[Snowflake.skill()], a job can call:

from terse_sdk import CronJobInputEvent
from terse_generated import TerseAgent

def handle(event: CronJobInputEvent, agent: TerseAgent) -> None:
    result = agent.tools.snowflake.execute_query(query="select current_date()")
    print(result.rowCount)

Environment Variables

  • TERSE_API_KEY: required for terse generate, terse deploy, and any agent/tool calls made by your job
  • TERSE_BACKEND_URL: optional backend override for local development
  • TERSE_FRONTEND_URL: optional frontend override for local development

Typical Workflow

terse init my-terse-job
cd my-terse-job
uv sync
terse test
terse deploy

To run a job against a serialized event:

terse run --event '{"integrationType":"cron_job","eventType":"manual","formattedContent":"Manual trigger","debugLog":"Manual trigger"}'

Source

Development

If you are working on the CLI itself from the monorepo:

npm run python:setup
npm run python:check
npm run python:build

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

terse_cli-0.1.1.tar.gz (52.6 kB view details)

Uploaded Source

Built Distribution

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

terse_cli-0.1.1-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file terse_cli-0.1.1.tar.gz.

File metadata

  • Download URL: terse_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 52.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for terse_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4a7c0d0ecd0bdb90329a94689e1e6a964bfea4cb6ccd0fced07a032e642ce2b9
MD5 2fc9dfafbe1adc025e2086aba5fb0e50
BLAKE2b-256 8f9d28593fc00da3b6ccc9527c3af03929dac9b9e7128e8b986b5cf75bbe5efa

See more details on using hashes here.

File details

Details for the file terse_cli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: terse_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for terse_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 32f38291a1d3816f89e54437d4b3f7477f7a998d7f3ce7d6e423631f55eb6eab
MD5 d217f3cbe3dfc0c3cd5275c56e0154b3
BLAKE2b-256 34eabe7d34cb4f5000fa220c7ebe321683a50d38192598a7c94af41d7530155a

See more details on using hashes here.

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