# 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.
```bash
$ pip install -U tower-cli
```
You can also download the CLI directly from one of our [releases](https://github.com/tower/tower-cli/releases/latest).
## 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.
```bash
$ 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
```
### About the runtime environment
The [tower-runtime](crates/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](crates/tower-package) crate.
## Contributing
We welcome contributions to the Tower CLI and runtime environment! Please see
the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.
### Code of Conduct
All contributions must abide by our code of conduct. Please see
[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for more information.
Raw data
{
"_id": null,
"home_page": null,
"name": "tower-cli",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "automation, flake8, pycodestyle, pyflakes, pylint, clippy",
"author": "Brad Heller <brad@tower.dev>",
"author_email": "\"Tower Computing Inc.\" <brad@tower.dev>",
"download_url": "https://files.pythonhosted.org/packages/ef/bb/90b03cc1e714da265b9070f38ccbe7b6ec839e1416ddbdad3674cbbcaf94/tower_cli-0.1.21.tar.gz",
"platform": null,
"description": "# Tower CLI\n\nThe Tower CLI is one of the main ways to interact with the Tower environment.\nYou can do basically everything you need inside the Tower CLI, including run\nyour code locally or remotely in the Tower cloud. \n\n## Installing the Tower CLI\n\nThe main way to install the CLI is using the `pip` package manager.\n\n```bash\n$ pip install -U tower-cli\n```\n\nYou can also download the CLI directly from one of our [releases](https://github.com/tower/tower-cli/releases/latest).\n\n## Using the Tower CLI\n\nThere are two big components in the Tower CLI reposiory: The CLI itself and the\nruntime environment for the Tower cloud. We host the runtime in this repository\nand pull it in to our internal code because we want to ensure that the\nenvironments behave *exactly the same* locally and in our cloud!\n\n### Using the CLi\n\nIt's pretty straight forward! But here's what it looks like right now.\n\n```bash\n$ tower\nTower is a compute platform for modern data projects\n\nUsage: tower [OPTIONS] <COMMAND>\n\nCommands:\n login Create a session with Tower\n apps Interact with the apps that you own\n secrets Interact with the secrets in your Tower account\n deploy Deploy your latest code to Tower\n run Run your code in Tower or locally\n version Print the current version of Tower\n help Print this message or the help of the given subcommand(s)\n\nOptions:\n -h, --help Print help\n```\n\n### About the runtime environment\n\nThe [tower-runtime](crates/tower-runtime) crate has the Rust library that makes\nup the runtime environment itself. All the interfaces are defined in the main\ncrate, and the `local` package contains the invokation logic for invoking tower\npackages locally.\n\nTo learn more about tower packages, see the\n[tower-package](crates/tower-package) crate.\n\n## Contributing\n\nWe welcome contributions to the Tower CLI and runtime environment! Please see\nthe [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.\n\n### Code of Conduct\n\nAll contributions must abide by our code of conduct. Please see\n[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for more information.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Tower CLI and runtime environment for Tower.",
"version": "0.1.21",
"project_urls": {
"Source Code": "https://github.com/tower/tower-cli"
},
"split_keywords": [
"automation",
" flake8",
" pycodestyle",
" pyflakes",
" pylint",
" clippy"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3564d2b6b90ac1a584d5a56e399414b91dba8685fc217d91056e5e5c4c94ac83",
"md5": "b241fe2b30575d44064c549dfc2d441c",
"sha256": "d52ec1a3db2bd12ddb38e122537323cfcb7e552bc2e908425e1c13d328120999"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-linux_armv6l.whl",
"has_sig": false,
"md5_digest": "b241fe2b30575d44064c549dfc2d441c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 4929508,
"upload_time": "2024-12-30T08:33:56",
"upload_time_iso_8601": "2024-12-30T08:33:56.803568Z",
"url": "https://files.pythonhosted.org/packages/35/64/d2b6b90ac1a584d5a56e399414b91dba8685fc217d91056e5e5c4c94ac83/tower_cli-0.1.21-py3-none-linux_armv6l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ac55d2210b977d28b6f4065e7aeae01abaf9cd55dd1ae47325ec998aa1303637",
"md5": "7a36b3471f47bdb8136359312273c68c",
"sha256": "9861712a933b1230bf707c6a8f3923ac3653f7a546c4c40a2c37adbed49a35c0"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "7a36b3471f47bdb8136359312273c68c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 3043767,
"upload_time": "2024-12-30T08:34:00",
"upload_time_iso_8601": "2024-12-30T08:34:00.817475Z",
"url": "https://files.pythonhosted.org/packages/ac/55/d2210b977d28b6f4065e7aeae01abaf9cd55dd1ae47325ec998aa1303637/tower_cli-0.1.21-py3-none-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9bbe29a56598719b9a42c88aa8d3fff66a3863142a02b261dcecc5e09ee72f9e",
"md5": "01693c80c1ffa4fb6c464d3968cc10b8",
"sha256": "895bd7877fb9f5fb3d66caa65ba64a5e97fc8675d817da7c92d9a819d08f6ffc"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "01693c80c1ffa4fb6c464d3968cc10b8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 2970258,
"upload_time": "2024-12-30T08:34:03",
"upload_time_iso_8601": "2024-12-30T08:34:03.913215Z",
"url": "https://files.pythonhosted.org/packages/9b/be/29a56598719b9a42c88aa8d3fff66a3863142a02b261dcecc5e09ee72f9e/tower_cli-0.1.21-py3-none-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "21e3b1a78ef96bd6910a9669dbd646eb7472ff52a72dec94b3e2265de336e330",
"md5": "498cb6310c93b58dacfd36a561f92e57",
"sha256": "4ad7afa079b605689052b64de2ffe1276b83f605c722d5a7e651bb3ca67dde6a"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "498cb6310c93b58dacfd36a561f92e57",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 5455398,
"upload_time": "2024-12-30T08:34:06",
"upload_time_iso_8601": "2024-12-30T08:34:06.101063Z",
"url": "https://files.pythonhosted.org/packages/21/e3/b1a78ef96bd6910a9669dbd646eb7472ff52a72dec94b3e2265de336e330/tower_cli-0.1.21-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "924cbe907ef646a5fb6b3a43c94c05526850ecc21d3dc119a4799d343dcb654f",
"md5": "a13d456e06d6295c24273cdb7c41775f",
"sha256": "2a6e5b76219a05a78d5d4efa2fb6acbc739ead4744cb8c733fcbd08744cceac7"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "a13d456e06d6295c24273cdb7c41775f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 4768595,
"upload_time": "2024-12-30T08:34:09",
"upload_time_iso_8601": "2024-12-30T08:34:09.451294Z",
"url": "https://files.pythonhosted.org/packages/92/4c/be907ef646a5fb6b3a43c94c05526850ecc21d3dc119a4799d343dcb654f/tower_cli-0.1.21-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "889ab9ad73edc2c38bad630e6e0b658b4face396296b848ada30832f922193d8",
"md5": "bbd56a2135e90d1ea37c80f677f1cfa6",
"sha256": "47ed084509f27b59a383e85d72d08f9f6d09b15e70257f9b042efada244c0b3c"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "bbd56a2135e90d1ea37c80f677f1cfa6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 5478406,
"upload_time": "2024-12-30T08:34:12",
"upload_time_iso_8601": "2024-12-30T08:34:12.764783Z",
"url": "https://files.pythonhosted.org/packages/88/9a/b9ad73edc2c38bad630e6e0b658b4face396296b848ada30832f922193d8/tower_cli-0.1.21-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6613bcdaa4431c7a1ee6f59ce38aadd229f7a041634ad132f2a1ee9facc1951e",
"md5": "e9cf8629a3315c64e2d0d851d5d85d14",
"sha256": "06ec1ccb297eb980d49747f4dd4f9d72d8d8844f9df52a239578fc04603adc34"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "e9cf8629a3315c64e2d0d851d5d85d14",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 5160659,
"upload_time": "2024-12-30T08:34:20",
"upload_time_iso_8601": "2024-12-30T08:34:20.310669Z",
"url": "https://files.pythonhosted.org/packages/66/13/bcdaa4431c7a1ee6f59ce38aadd229f7a041634ad132f2a1ee9facc1951e/tower_cli-0.1.21-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9100385674cfd8d03dd1a2b86fcf0d953f70861ab0cdafbb9ee73dc05b91d899",
"md5": "93219fc3780dcb0b370a4a9993c75d3c",
"sha256": "ed1e69d839c0686c3df86c65e570e49b0c544217ece77ff2e448b7cd7794d444"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
"has_sig": false,
"md5_digest": "93219fc3780dcb0b370a4a9993c75d3c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 5410842,
"upload_time": "2024-12-30T08:34:16",
"upload_time_iso_8601": "2024-12-30T08:34:16.851898Z",
"url": "https://files.pythonhosted.org/packages/91/00/385674cfd8d03dd1a2b86fcf0d953f70861ab0cdafbb9ee73dc05b91d899/tower_cli-0.1.21-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cdf0998d705fed922ed8ef5743e1b96087ed323b6b1abe7ed29cadacc72cc9fe",
"md5": "27b44b24235e352dc96b0ccc89ec6fb1",
"sha256": "8235dedd8a81411b321a89b5cca05759c87b40b23d952025c5102b7f6f3e38a5"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "27b44b24235e352dc96b0ccc89ec6fb1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 5232644,
"upload_time": "2024-12-30T08:34:22",
"upload_time_iso_8601": "2024-12-30T08:34:22.886929Z",
"url": "https://files.pythonhosted.org/packages/cd/f0/998d705fed922ed8ef5743e1b96087ed323b6b1abe7ed29cadacc72cc9fe/tower_cli-0.1.21-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ace81a573f7216e4178283d6db0d4982ffe2966d505eb6e197366acc8cc0cfcd",
"md5": "3c058fc24a5832d8d484a9471a625aee",
"sha256": "356b94225b3cf6d59e57c577a41bdbbc4fc249e2544903a3376f11ce104372d7"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "3c058fc24a5832d8d484a9471a625aee",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 5608294,
"upload_time": "2024-12-30T08:34:25",
"upload_time_iso_8601": "2024-12-30T08:34:25.088094Z",
"url": "https://files.pythonhosted.org/packages/ac/e8/1a573f7216e4178283d6db0d4982ffe2966d505eb6e197366acc8cc0cfcd/tower_cli-0.1.21-py3-none-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9d0a3af0e29d240d2130c4d0f8bb33b8cf5a58a3d6a4336fded7aef2a8bd5acd",
"md5": "f8bf8844f4e185375f12a8d005b5a182",
"sha256": "074615d1da954603978ce55f033af78b138f4e85c6e8186935a5401314f5b635"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-musllinux_1_2_armv7l.whl",
"has_sig": false,
"md5_digest": "f8bf8844f4e185375f12a8d005b5a182",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 4879818,
"upload_time": "2024-12-30T08:34:28",
"upload_time_iso_8601": "2024-12-30T08:34:28.508147Z",
"url": "https://files.pythonhosted.org/packages/9d/0a/3af0e29d240d2130c4d0f8bb33b8cf5a58a3d6a4336fded7aef2a8bd5acd/tower_cli-0.1.21-py3-none-musllinux_1_2_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2cb120e7cc92f1a075e77cd2903ae82431c10c7dba4ea60d455cdd8aa3812640",
"md5": "2606850e6f48c82c1953cdd4463a2deb",
"sha256": "6bdbfedf2e550dd67c6b81f2e3888827b4b727303c1d2206e88d142170324f5a"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "2606850e6f48c82c1953cdd4463a2deb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 5313631,
"upload_time": "2024-12-30T08:34:31",
"upload_time_iso_8601": "2024-12-30T08:34:31.954902Z",
"url": "https://files.pythonhosted.org/packages/2c/b1/20e7cc92f1a075e77cd2903ae82431c10c7dba4ea60d455cdd8aa3812640/tower_cli-0.1.21-py3-none-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3b6cdb3ceed92be2fe13e2552724e446534662f13a51411e51937e4017b4ea88",
"md5": "29dc0b063b1c4267dfacf6f7921971a5",
"sha256": "93ae1771f772c06b36f18f15aa043bd46fbb31f30256ca8df1b0c513754109d1"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "29dc0b063b1c4267dfacf6f7921971a5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 5301603,
"upload_time": "2024-12-30T08:34:35",
"upload_time_iso_8601": "2024-12-30T08:34:35.303205Z",
"url": "https://files.pythonhosted.org/packages/3b/6c/db3ceed92be2fe13e2552724e446534662f13a51411e51937e4017b4ea88/tower_cli-0.1.21-py3-none-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c0bf4cb53f2d60fa1fab7ab84be82a67d7c60cd70cd4a2447b7515231a3f439a",
"md5": "7dc0e01b75842f62a5eaeae6c059dbe1",
"sha256": "dc03d5043548e09ec85f947b219c095b42106b088664212ebda2dfbd6e0c6a17"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-win32.whl",
"has_sig": false,
"md5_digest": "7dc0e01b75842f62a5eaeae6c059dbe1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 2608896,
"upload_time": "2024-12-30T08:34:38",
"upload_time_iso_8601": "2024-12-30T08:34:38.325879Z",
"url": "https://files.pythonhosted.org/packages/c0/bf/4cb53f2d60fa1fab7ab84be82a67d7c60cd70cd4a2447b7515231a3f439a/tower_cli-0.1.21-py3-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "dda0e6c4da94ee72e4570492d234cb5ece8e41c674f2a1ad6710c5dd397d200b",
"md5": "c70b9e5a5e36b841bba4ec365330a0bf",
"sha256": "87370c67b7f44950f824f86de3e8e38cd7bfa0766f85d842b9606ada9f6c1511"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "c70b9e5a5e36b841bba4ec365330a0bf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 2770990,
"upload_time": "2024-12-30T08:34:40",
"upload_time_iso_8601": "2024-12-30T08:34:40.150465Z",
"url": "https://files.pythonhosted.org/packages/dd/a0/e6c4da94ee72e4570492d234cb5ece8e41c674f2a1ad6710c5dd397d200b/tower_cli-0.1.21-py3-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6e5b445bfed717db7625121c07d082bdd5a3f3c3f345d69b9d9590204938a787",
"md5": "61755f73f79ea7b84a556b7cf715dc87",
"sha256": "b51967d26865749ba4a45c53dd1bb612271d3e28acaf94392022683c3f4a289a"
},
"downloads": -1,
"filename": "tower_cli-0.1.21-py3-none-win_arm64.whl",
"has_sig": false,
"md5_digest": "61755f73f79ea7b84a556b7cf715dc87",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 2657496,
"upload_time": "2024-12-30T08:34:43",
"upload_time_iso_8601": "2024-12-30T08:34:43.034899Z",
"url": "https://files.pythonhosted.org/packages/6e/5b/445bfed717db7625121c07d082bdd5a3f3c3f345d69b9d9590204938a787/tower_cli-0.1.21-py3-none-win_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "efbb90b03cc1e714da265b9070f38ccbe7b6ec839e1416ddbdad3674cbbcaf94",
"md5": "15662c63ae6921068ba67c0fecf0adf7",
"sha256": "27a0daad2c9560a2bfc5b678f468ed6835df1357d451995f73e2584ddca74071"
},
"downloads": -1,
"filename": "tower_cli-0.1.21.tar.gz",
"has_sig": false,
"md5_digest": "15662c63ae6921068ba67c0fecf0adf7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 56211,
"upload_time": "2024-12-30T08:34:44",
"upload_time_iso_8601": "2024-12-30T08:34:44.349739Z",
"url": "https://files.pythonhosted.org/packages/ef/bb/90b03cc1e714da265b9070f38ccbe7b6ec839e1416ddbdad3674cbbcaf94/tower_cli-0.1.21.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-30 08:34:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tower",
"github_project": "tower-cli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tower-cli"
}