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

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.3.tar.gz (52.3 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.3-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: terse_cli-0.1.3.tar.gz
  • Upload date:
  • Size: 52.3 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.3.tar.gz
Algorithm Hash digest
SHA256 4a6b783c1568e3dc866d0a6c4b200203beff1db4de0482c2f508c37da6602298
MD5 563c2a65011b10203b30fdbffdaeba51
BLAKE2b-256 6df57d78a40d6f67df604316a886fa866d9b054c32600db1c577e59de2d56157

See more details on using hashes here.

File details

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

File metadata

  • Download URL: terse_cli-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 29.5 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1552ac733a065d6aa204d5e4877a0acf8254a51f13b1ee781a1edbc1ef0b1008
MD5 c9913c9a2b82490b4a70e3db578508bc
BLAKE2b-256 3a33c989880454190d71dc2f1bdb0c504631a5acb9a164b09b74d65a22e44af3

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