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.14.tar.gz (157.6 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.14-py3-none-win_arm64.whl (3.3 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

tower-0.3.14-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.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for tower-0.3.14.tar.gz
Algorithm Hash digest
SHA256 97dfe08558fe50c69354e12cf7f684a85640057a9149b56633541a170286d0b8
MD5 9a011d0368e20218e056e35ecaebce57
BLAKE2b-256 a89416417a1269d906a764f330f8da35bdff1611d8546a8f42f85d1029d4b933

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tower-0.3.14-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.3

File hashes

Hashes for tower-0.3.14-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 c54db07ec7c1698398221a639c46820fbddd7801aab86a03dba200864838d143
MD5 a3aff5e53c6c15c58661b7be6e00682e
BLAKE2b-256 d50f8971e5326b9800aad14bbf962c1b8f5d53d8a78641cd2645cb2d2b0e9025

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tower-0.3.14-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.3

File hashes

Hashes for tower-0.3.14-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4203656184e5e30257972908980a09d51e3003ccdab35be8fddc81e2e4f63cc0
MD5 095daf33417a252c03cbde6d23d22543
BLAKE2b-256 22fdfc86f2b45b49ddd9f44447a6f71f0182d3bba12287c95a55853a92cc1680

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8947a31d724af4af351b0a97ab1785733c5bfc745230b617e59339f1f90e7e8b
MD5 727fca0858c19654757913741a793380
BLAKE2b-256 e2c0253f29a906e199e014c7ba512d4a4f02e4fa03ce1d3a1b3eef8b627061d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ae403ed0aae5f9316d18b7c3ffd595c4e725275bc49ba4f2a1338e8f03c79bc2
MD5 21b9477925889fe8211c945a975edaa4
BLAKE2b-256 81898de5750f24d14e8af3354dcccb332f79cae5959e1f417817727253202df1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 2a80c0133a379e010be36cf56222fc7eb3a87b54cecf073d8ecd2664441870ec
MD5 c551f31b665f2f034cc94afa4961bbaa
BLAKE2b-256 b74c24ed8295fd9bb0ef3fe5c2afb3b79adccea4149e879166207017e79ca755

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 255d0bc383a7dc2dc1bf92c9296ee818d826d51320cb82ea985266564faccd73
MD5 95ea9e9b03af5fc1a3889e048d26e2a1
BLAKE2b-256 ff69c8f2268dd321eb671c987d914f8e19eed06f49e67ce9cde1d4ba5b7a0edb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4814c0a39b1dda6627805f4a1ff4e04cf29542461667e07677d4031840af5a77
MD5 563b5a7d7e65f69c4c77db6c215b3e18
BLAKE2b-256 657e5a3073e6a9dd9bbd7799911486f1c4e42621f3d2040fa79733881999a30e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 556a49d25dc9d7632fea23982f0262ba4d2329d6b80899309ee35a52a7023e40
MD5 7acc75712ec46789c8b94d415ac90669
BLAKE2b-256 13ea82c2f1b0012384c0cff1dadc554a35924c351d635d86f625a1f43cbb46bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 808a84be1edc060f1a25b2045760564dcbdb10dcdf199ec26a8082a5668839bb
MD5 46817046151e701511cb31f4ddbb3291
BLAKE2b-256 c712c8477374cbab6d2bfe2afc5ee9366a9e84d9237abf564a43f391d7933ec3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f8c5e29f09451ae874b7d645b0e2c6be683befb8c4e4df4733a22f4bf3425a6c
MD5 4a0d3bb6c688618c7ab58fd061fa414a
BLAKE2b-256 ff84e274ce9a32b7d52f2fd97c486be125572f7b2f99432ce9fc2cd86fa6fd3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ef7987e714cacf77100a20ef1711ba900e1fb2ee7292bf7c86f159cf0693e21a
MD5 89b51bcdfbb256a272d8a08cb3e84c3a
BLAKE2b-256 3198ccad9b592890417d67ba683b20528e28357028adb2a270b12aee23817f0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 b3c4605e7430487b9c531d12bee0e4c841f17acd4a2e8464ccc1f5dfb4e21ba2
MD5 25e18cdb3df2528364f9c159b939cd67
BLAKE2b-256 55826ea4f5b6be1d2afb365afee4455e621613673f26352b0ff206a99912b06d

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