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

Install the CLI itself with pipx:

pipx install terse-cli

The CLI installs the published terse-sdk automatically.

Don't have pipx? Install it first:

# macOS
brew install pipx && pipx ensurepath

# Ubuntu/Debian
sudo apt install pipx && pipx ensurepath

# Generic
python3 -m pip install --user pipx && python3 -m pipx ensurepath

Then restart your shell.

Prerequisites

  • Python >=3.11
  • uv for scaffolded project dependency management and local commands

pipx install terse-cli gives you the terse command, but generated Terse Python projects still expect uv to be available on your PATH for commands like uv sync and uv run.

If you do not already have uv, install it from the official Astral instructions. For example on macOS:

brew install uv

Quick Start

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

If terse init could not install dependencies automatically, install uv if needed and rerun:

uv sync

If you connect integrations later, regenerate the project helpers:

terse generate

Commands

  • terse init [PROJECT_NAME]
  • terse generate
  • terse integrate
  • terse test [JOB_NAME]
  • terse deploy

Supported Generated Helpers

The current Python codegen surface is:

  • 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

Typical Workflow

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

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.9.tar.gz (35.1 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.9-py3-none-any.whl (40.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: terse_cli-0.1.9.tar.gz
  • Upload date:
  • Size: 35.1 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.9.tar.gz
Algorithm Hash digest
SHA256 91864264297b321a799636819cb6338fa0439ef8cc33df6ca263852f720623e9
MD5 4a1ea71e60fc23b9be4386576ea3dc97
BLAKE2b-256 8e511ad53ba5166fd6c6fb00faaa672f63f79b61a223deee823236d3010810b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: terse_cli-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 40.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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 0b7165fe38edaba940cc8dadd2c51956d4ce874e1b4948e1a2bf0e5a6c28903c
MD5 76317a1e36200b77acf188674aee4ca8
BLAKE2b-256 5b85d89a84ed895e3ec3a88157d94deb634d48d9c3e9dd2dc62ce2baa42168d9

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