Skip to main content

Tower CLI and runtime environment for Tower.

Project description

Tower CLI

The Tower CLI is one of the main ways to interact with the Tower environment. You can do basically everything you need inside the Tower CLI, including run your code locally or remotely in the Tower cloud.

Installing the Tower CLI

The main way to install the CLI is using the pip package manager.

$ pip install -U tower

You can also download the CLI directly from one of our releases.

Using the Tower CLI

There are two big components in the Tower CLI reposiory: The CLI itself and the runtime environment for the Tower cloud. We host the runtime in this repository and pull it in to our internal code because we want to ensure that the environments behave exactly the same locally and in our cloud!

Using the CLI

It's pretty straight forward! But here's what it looks like right now.

$ tower
Tower is a compute platform for modern data projects

Usage: tower [OPTIONS] <COMMAND>

Commands:
  login    Create a session with Tower
  apps     Interact with the apps that you own
  secrets  Interact with the secrets in your Tower account
  deploy   Deploy your latest code to Tower
  run      Run your code in Tower or locally
  version  Print the current version of Tower
  help     Print this message or the help of the given subcommand(s)

Options:
  -h, --help                   Print help

Optional Features

Tower supports several optional features that can be installed as needed:

AI/LLM Support

pip install "tower[ai]"

Provides integration with language models through:

  • tower.llms: Access to language model functionality

Apache Iceberg Support

pip install "tower[iceberg]"

Provides Apache Iceberg table support:

  • tower.create_table: Create Iceberg tables
  • tower.load_table: Load data from Iceberg tables

Install All Optional Features

pip install "tower[all]"

Check Available Features

You can check which features are available in your installation:

import tower
import pprint

# Print information about all features
pprint.pprint(tower.get_available_features())

# Check if a specific feature is enabled
print(tower.is_feature_enabled("ai"))

About the runtime environment

The tower-runtime crate has the Rust library that makes up the runtime environment itself. All the interfaces are defined in the main crate, and the local package contains the invokation logic for invoking tower packages locally.

To learn more about tower packages, see the tower-package crate.

Contributing

We welcome contributions to the Tower CLI and runtime environment! Please see the CONTRIBUTING.md file for more information.

Code of Conduct

All contributions must abide by our code of conduct. Please see CODE_OF_CONDUCT.md for more information.

Development

Here are a few handy tips and common workflows when developing the Tower CLI.

Python SDK development

We use uv for all development. You can spawn a REPL in context using uv very easily. Then you can import tower and you're off to the races!

uv run python

To run tests:

uv sync --locked --all-extras --dev
uv run pytest tests

If you need to get the latest OpenAPI SDK, you can run ./scripts/generate-python-api-client.sh.

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

tower-0.3.15.tar.gz (159.1 kB view details)

Uploaded Source

Built Distributions

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

tower-0.3.15-py3-none-win_arm64.whl (3.3 MB view details)

Uploaded Python 3Windows ARM64

tower-0.3.15-py3-none-win_amd64.whl (3.4 MB view details)

Uploaded Python 3Windows x86-64

tower-0.3.15-py3-none-musllinux_1_2_x86_64.whl (6.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

tower-0.3.15-py3-none-musllinux_1_2_i686.whl (6.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

tower-0.3.15-py3-none-musllinux_1_2_armv7l.whl (5.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

tower-0.3.15-py3-none-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

tower-0.3.15-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

tower-0.3.15-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

tower-0.3.15-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

tower-0.3.15-py3-none-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

tower-0.3.15-py3-none-macosx_10_12_x86_64.whl (3.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

tower-0.3.15-py3-none-linux_armv6l.whl (5.8 MB view details)

Uploaded Python 3

File details

Details for the file tower-0.3.15.tar.gz.

File metadata

  • Download URL: tower-0.3.15.tar.gz
  • Upload date:
  • Size: 159.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.11

File hashes

Hashes for tower-0.3.15.tar.gz
Algorithm Hash digest
SHA256 426e884c5af1c0030d0d8240679a40be774c603c0ff477472a2cd39fbbfdc522
MD5 2b92e06715b034c58b1749c3cec2b0ec
BLAKE2b-256 bcd233375f39416610c89eab428f79e05bca699376cfa600d2d984634c2fddb8

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-win_arm64.whl.

File metadata

  • Download URL: tower-0.3.15-py3-none-win_arm64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.11

File hashes

Hashes for tower-0.3.15-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 d1e4b4d550e1d46f8ca363e40a1c4397b8cfda72a7ec67e84dfe7d80e4785251
MD5 a99a1b461ec76378779eeb09e6f17f14
BLAKE2b-256 1744696721604f743ce85ee8fd60ea83205924add10c81ef9478ef30478df763

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-win_amd64.whl.

File metadata

  • Download URL: tower-0.3.15-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.11

File hashes

Hashes for tower-0.3.15-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 425da26cb20a6ed51496cd2cf23e7cb1fe7649ef2afee5d54ecebd86dd126563
MD5 f42bba90f799d1aeecbddc53db302959
BLAKE2b-256 303772bb83b481f0a6f307fa4097dda6bca5d170996e9b5ef5c4336b8b922e27

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tower-0.3.15-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 93eed9c71c013217dca2db841b6bc99c6a88e42c16382424375d445c965fa89d
MD5 c91e781be73074704cc596d5354de807
BLAKE2b-256 7c625bf28c3e5612a6a643d84de4ab81c7928a7d5c9761c1d950591c8290d289

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tower-0.3.15-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d3f71d3916a843f30fff92b6f3130e67bd2671a916146491408a537e69cb1930
MD5 eeea8be8d7c70c8844dc8bdffdaf0d1c
BLAKE2b-256 a9b420596f4596e700aeb0adacf097d1479cbfac257866189be8a458246d9be8

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for tower-0.3.15-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 790d19ef48368d84372f63edc9f66de872735360e6fab091ca7f112fdeb636b4
MD5 27e7cbf635878acede4061bcbf667144
BLAKE2b-256 d6009f76b592732968b67f1e4e7562efa8e225b94b0600d384b358df3833753a

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tower-0.3.15-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7f02c31188dfed8d64bb74f233c77fd86ba7c8303ab8bc3c03299f36048030b0
MD5 9d88320b5e2ded743a1ba374ad008663
BLAKE2b-256 d18e299494d2b7c7923b25ee815b5d9af2fb78c5b2854610ce0cd8254db9d787

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tower-0.3.15-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 59a42f404972257a96596105255aec988232d4f173b1da1c73541ddc5892328a
MD5 c8214fe0253bb8904b3d540b22df346b
BLAKE2b-256 e3e9e8ba84cad8faeccbd121e8ff528a32c2ed0ce379ebaf5c304a3cfe189403

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for tower-0.3.15-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f5eb7ded51c0c109f154df8b137d2ae1a3e418577b92b04e197178465e5b0634
MD5 9bfdaa0a643dc700ef0a8a0f2088b735
BLAKE2b-256 ef77c6449c7a98d21f9cabfffcd182b9d4ec3703c398870a788a42b2e8fccb61

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tower-0.3.15-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e93590029572b1fb03e7351c780be7788e45f8e8b564a8c8ea2b4426c1dd95d5
MD5 6fe2fd5456d8209282b12f5ca87e1cea
BLAKE2b-256 87e04b22cf8b898a6062cc10a685028b2738237cb4534c38c9009ab5171d9e3f

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tower-0.3.15-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d0050fdfed95588efd363184ceb43fb33de03d6abe619b2058aa7e296773d121
MD5 f62b982ca7d4db04f403c2e40a985396
BLAKE2b-256 40cfca885dfc1b4ee0d4b82e257d485e724454f3835a1096cf5e34b9d0f6a1d7

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tower-0.3.15-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cf43689e9d9ea34475735a754c91161684d14ac767ae4d76de4006bec5bf65c4
MD5 cbd790201fd2969bb1b19395c0bda9ee
BLAKE2b-256 66d2a92fb4cb3f3a07aaa2413608fffc60dd1f3f73f39427ef46df714754fd97

See more details on using hashes here.

File details

Details for the file tower-0.3.15-py3-none-linux_armv6l.whl.

File metadata

File hashes

Hashes for tower-0.3.15-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 72cd1d40b6c057dfb3ad07b2b153766602074d15cdea4b1f03d9a3d7a7a9cac2
MD5 99af22980c8297b9898df356d75f355b
BLAKE2b-256 a92419c886f1ef4d2964fabe668072d5e08e26e3f0b545cbb4d3a8adb06cbd53

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