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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for tower-0.3.14rc1.tar.gz
Algorithm Hash digest
SHA256 f6768c7b7925ba48fc3d0034350f3dcf810805154eb9ab5397bb1e2df39c1282
MD5 f0165b8de53bb6e08ca4ac2a46d74971
BLAKE2b-256 3f2ac539e8a2444c3718e39f93011bcd6e425b3ce0d8b39d2c5be319f13928e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 b94a8868cd568206830a03449c0c01c9b5b4731e41b306b52de3f6fd26099cbd
MD5 c5c7c2e11f3f513bd0a547aff3c19335
BLAKE2b-256 2f16155278e93f245275b0130e506a771e1492b6f23cad95f0b5f4751e1e78ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a2becb87f5c8105622969a5e9563905e580ee026b8badc94ae40c68300bc8dd7
MD5 d6c0adf80a84c25e68c605693034a7ef
BLAKE2b-256 fe746ad54e6eed9223684d066649484b511f547e60aa9ed02d1b79d6a0b5c480

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 08fead78fd3fe33e5e1a9dcae4b01b3993466f20110cda6d6aa1ea2e05035f2a
MD5 c320f5f68d55b7a1d28c18b349ff5429
BLAKE2b-256 d03b8752b961b6e9d2946a01a72f2b8fb2e41c84b4b29575672ae05771428ea3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ab3fa06dd27ffab8e6cba2d8baefb1571e6e939d04b0eacdc534758cb0ee8ff4
MD5 c990a1b789b192e6bf63004dfbebcd3f
BLAKE2b-256 4365d30bc5d142eeffd0b4a502ed6e53d078ee39f409fddab83fdbd2b8f05e39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 902033685fdf942511735e234f8885fdbc456e45651bb51d7d56154f95ec3943
MD5 0c36f7531686f9a5bb00b56bbcb0f97f
BLAKE2b-256 0129a504ee3828a1dbaf33ad07e3bc71e3f815a33317877ff66cd2d08cb4e68c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6ef1128d893162fb2ee7ab632e08022336d5c994e55f62152958b3f0c2bb2551
MD5 461eea8ff5d6efbdf68307b3bd9b9156
BLAKE2b-256 f5454f580a77f2da97d12fc734eb0813b3e2be14f3abf9ce5152450c2c4dad84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c625438d5445f8c0c3a21c4becca80b7ac55689b849f539e802265f175a62f8
MD5 bc3f3af91ab73571a471481b9b5bbf51
BLAKE2b-256 6f129503ff373f148a95a9be3e248acfb4acba16eb4d5576df4fc2b7e3eea8f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c26c10ec600369412b91b2e306bd330c658f9a001c25c37fc9bbbff2ea997f1c
MD5 a68170f15d675831c518b2cbdbf95a75
BLAKE2b-256 83a68862139fd7bf0a139d1d7ce29bcdafb924d559861335c686ba0f5f1399d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d17c4c43e5e6292fb17806a9287e34e3a265d57325b7ea137d59b8323e910ece
MD5 ae32e8ce9c7769f9b28881896cd78841
BLAKE2b-256 c9e3589136a7c2511627ed106abbe01805661c4b13927edf93086ec512a037b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8926ec787c3f9904b08f3b82bce75f259c491fbcd33c6090f81ccd0e326c198a
MD5 535f6611d91c8aec20265c4d3a175408
BLAKE2b-256 4bb837b716261d49cd4859ac4f775dd7f3dc99acfec13d5713af6b2cfd94a3ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b9331900e2785eeea9a17f6bdfced098f50d81d028e989b3ea47ce2891ecceb6
MD5 2117952b123ae6e20317eb99b8f1b259
BLAKE2b-256 72baf0ee5cad75fb49b0e7490698273efe759deffe94307824f1653a89340753

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tower-0.3.14rc1-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 9afcaf8d25c279bb54dc0210cc2186d49270f95f76ef27a5002e38b010ee19fb
MD5 6f3844ee9d9bc3bd7e633a8439dc7471
BLAKE2b-256 e1a26672c721dc253f47fd2c23ca47846d44d5856967fab723baa48a737761fb

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