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

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.12rc3.tar.gz (146.9 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.12rc3-py3-none-win_arm64.whl (3.2 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

tower-0.3.12rc3-py3-none-musllinux_1_2_x86_64.whl (6.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

tower-0.3.12rc3-py3-none-musllinux_1_2_i686.whl (6.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

tower-0.3.12rc3-py3-none-musllinux_1_2_armv7l.whl (5.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

tower-0.3.12rc3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

tower-0.3.12rc3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

tower-0.3.12rc3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

tower-0.3.12rc3-py3-none-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

tower-0.3.12rc3-py3-none-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

Details for the file tower-0.3.12rc3.tar.gz.

File metadata

  • Download URL: tower-0.3.12rc3.tar.gz
  • Upload date:
  • Size: 146.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.3

File hashes

Hashes for tower-0.3.12rc3.tar.gz
Algorithm Hash digest
SHA256 0d378fe54409112cf5c334736719e6bb36c847ca35e308cce1a98a605aaa79ce
MD5 f0e2024205d9c9f9001bce3e6a2162d8
BLAKE2b-256 22828854b1343ff386d54381d400d1b0f89ae1072ec9acd760d1eb10a594feee

See more details on using hashes here.

File details

Details for the file tower-0.3.12rc3-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 84ac3828ded16fd09d615a5447686ae17492e9610a5ed3b74b07ab70e8f73668
MD5 7c999e4d077deaad8c1c4f6bef6940f1
BLAKE2b-256 03655c1f90818cbbb9f400014264b8c0772f5c333860e177918a3b6d1daaccd3

See more details on using hashes here.

File details

Details for the file tower-0.3.12rc3-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 82bd4eac0bd2538410b3aa31a477358866d0cda4766cfc9de055a9c446edaebb
MD5 936efd9412342c431a4272545d3e3e42
BLAKE2b-256 77b830c3332e71cafcf0c37325fadc280d13971628caec976209a119614102ae

See more details on using hashes here.

File details

Details for the file tower-0.3.12rc3-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 95b9c8d8f9b5374e83ec12a307c5132342912e9d0d6059f025f6f75e4befdbb6
MD5 78f924c0e05c0634997c5f87910ff1bc
BLAKE2b-256 e8b08b129dd00d3899f4bc9e7281cd317dfb1c053077e94b8f1611912d65a527

See more details on using hashes here.

File details

Details for the file tower-0.3.12rc3-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d079ff767d1ed9136fce0c7697e784f679c66d2995fd6b623ff9934c20b44306
MD5 c805d9b164b7210dbf310cb5e54470a1
BLAKE2b-256 77841dc1dc0e3756b34dfa579929c00dcf5a7335519202b4776e7450279fec92

See more details on using hashes here.

File details

Details for the file tower-0.3.12rc3-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 3444772b527109ac2c22ae13d127b3875c283dc3503338c4729a9ba8f7c9fb35
MD5 b2bfef8c58364c7de827a3c3b993f100
BLAKE2b-256 2b9895a8e3ec847b9e20195bac47e92439105bf068c3643c5f1185e9f25da496

See more details on using hashes here.

File details

Details for the file tower-0.3.12rc3-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7bc5d049b963e652804c571e249c38d4f2e78391a1ae2dc400edcd404ef8a617
MD5 278bda195a5a9a884a2c286f42654ee6
BLAKE2b-256 e990927c8d01e72b66490d68ae8a7094fb94b8cc4341aad06eb5d3191af36ff3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7973bfd7faf336c6ee7683c1405b502a3b486f165641b7ece5e66aa936949f34
MD5 f5364adada910710249a001eb5590abd
BLAKE2b-256 669e82030e5b5576ae01bf36dd50ddda1c5dd0f28eda4957145df7cef2ae598c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 710505c8e708d4ed9f430e5772e185b6a6c117970f4bf640d4ab1c5b23115209
MD5 c655bf0e17860fb3f79321f3aa1df2bb
BLAKE2b-256 c8e26c0141ef32251bcc07734f63e1478f952666f1cca59e164c65c8f9c94575

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f281fa768ba50960eade28ae6811716b10ab37f00634c432b55bc34a5d33dea9
MD5 7a8a5eb8b50c7c08f92bd2497527bca3
BLAKE2b-256 f173d992dbf2275b398e8db92d589ed356086db617e368ed673b5e2c4ba372fb

See more details on using hashes here.

File details

Details for the file tower-0.3.12rc3-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fcbcfc0f75bf4a36167be03a4084dd60d3524a9ec60e241912b7f3dc1c582416
MD5 a5a972ce9803ab3cb1b4f1754c1cb72a
BLAKE2b-256 31136197240ee300e2c63b350374cb402ff88888dbf56b014cb24d9b183ed450

See more details on using hashes here.

File details

Details for the file tower-0.3.12rc3-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 89a3ba62da9ff670efffbefcf2c1009bb284fc3fc7fa8c7f55c5620420a9c0e4
MD5 002350cc4b9f009fd06629ab2b0d6b3f
BLAKE2b-256 4e71fa7c86d5cfd023cf360329af03cc04ff41f5b80953ee484d9585ac4f09db

See more details on using hashes here.

File details

Details for the file tower-0.3.12rc3-py3-none-linux_armv6l.whl.

File metadata

File hashes

Hashes for tower-0.3.12rc3-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 b9d16d412580eb56f53c78b366fc4fa72cc66e32316e72b078b90aa8bc9afcd5
MD5 8a72ea6f67b615661b54f05ef0671e15
BLAKE2b-256 5ded2b9a8690a3e01e90310c241383d7f2e1d90aac1622ea282c4f235060d4ec

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