# databricks-cli

> A command line interface for Databricks

- **URL**: https://www.freshcrate.ai/projects/databricks-cli
- **Author**: Andrew Chen
- **Category**: Developer Tools
- **Latest version**: `0.18.0` (2026-04-21)
- **License**: Apache License 2.0
- **Source**: https://github.com/databricks/databricks-cli
- **Language**: Python
- **GitHub**: 397 stars, 232 forks
- **Registry**: pypi (`databricks-cli`)
- **Tags**: `cli`, `databricks`, `pypi`

## Description

**Note**

  **Databricks recommends that you use newer Databricks CLI versions 0.200 and above instead of legacy Databricks CLI versions 0.17 and below (located in this repository). You can find the new CLI at https://github.com/databricks/cli.**

  **If you have been using the code in this repository as a Python SDK for interacting with the Databricks APIs, we recommend you use the new dedicated SDK package that can be found at https://github.com/databricks/databricks-sdk-py.**

databricks-cli
==============
.. image:: https://github.com/databricks/databricks-cli/actions/workflows/push.yml/badge.svg?branch=main
  :target: https://github.com/databricks/databricks-cli/actions/workflows/push.yml?query=branch%main
  :alt: Build status
.. image:: https://codecov.io/gh/databricks/databricks-cli/branch/main/graph/badge.svg
  :target: https://codecov.io/gh/databricks/databricks-cli


The Databricks Command Line Interface (CLI) is an open source tool which provides an easy to use interface to
the Databricks platform. The CLI is built on top of the Databricks REST APIs.

**Note**: This CLI is no longer under active development and has been released as an experimental client.

Please leave bug reports as issues on our `GitHub project <https://github.com/databricks/databricks-cli>`_.

Requirements
------------

-  Python Version >= 3.7

Installation
---------------

To install simply run
``pip install --upgrade databricks-cli``

Then set up authentication using username/password or `authentication token <https://docs.databricks.com/api/latest/authentication.html#token-management>`_. Credentials are stored at ``~/.databrickscfg``.

- ``databricks configure`` (enter hostname/username/password at prompt)
- ``databricks configure --token`` (enter hostname/auth-token at prompt)

Multiple connection profiles are also supported with ``databricks configure --profile <profile> [--token]``.
The connection profile can be used as such: ``databricks workspace ls --profile <profile>``.

To test that your authentication information is working, try a quick test like ``databricks workspace ls``.

Known Issues
---------------
``AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'``

The Databricks web service requires clients speak TLSV1.2. The built in
version of Python for MacOS does not have this version of TLS built in.

To use the Databricks CLI you must install a version of Python that has ``ssl.PROTOCOL_TLSv1_2``.
For MacOS, the easiest way may be to install Python with `Homebrew <https://brew.sh/>`_.

Using Docker
------------
.. code::

    # build image
    docker build -t databricks-cli .

    # run container
    docker run -it databricks-cli

    # run command in docker
    docker run -it databricks-cli fs --help

Documentation
-------------

For the latest CLI documentation, see

- `Databricks <https://docs.databricks.com/user-guide/dev-tools/databricks-cli.html>`_
- `Azure Databricks <https://learn.microsoft.com/en-us/azure/databricks/dev-tools/cli>`_

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `0.18.0` | 2026-04-21 | Low | Imported from PyPI (0.18.0) |
| `0.17.8` | 2023-09-21 | Low | ## What's Changed * Include link to new CLI in README by @pietern in https://github.com/databricks/databricks-cli/pull/660 * Add trampoline into newer CLI versions if found in $PATH by @pietern in https://github.com/databricks/databricks-cli/pull/650  **Full Changelog**: https://github.com/databricks/databricks-cli/compare/0.17.7...0.17.8 |
| `0.17.7` | 2023-05-08 | Low | ## What's Changed * Fix api client by switching to replacements for deprecated urllib3 methods by @shreyas-goenka in https://github.com/databricks/databricks-cli/pull/637 * Integration for configuring workspace bindings by @willwwt in https://github.com/databricks/databricks-cli/pull/628 * Add add-schema, update-schema, and remove-schema to Delta Sharing CLI by @andyl-db in https://github.com/databricks/databricks-cli/pull/608  ## New Contributors * @willwwt made their first contribution i |
| `0.17.6` | 2023-03-22 | Low | ## What's Changed * Add missing fields to JobsService by @pietern in https://github.com/databricks/databricks-cli/pull/614   **Full Changelog**: https://github.com/databricks/databricks-cli/compare/0.17.5...0.17.6 |
| `0.17.5` | 2023-03-10 | Low | ## What's Changed * Make use of the new name filtering in calls to list jobs. by @dinowernli in https://github.com/databricks/databricks-cli/pull/595  ## New Contributors * @dinowernli made their first contribution in https://github.com/databricks/databricks-cli/pull/595  **Full Changelog**: https://github.com/databricks/databricks-cli/compare/0.17.4...0.17.5 |
| `0.17.4` | 2022-12-08 | Low | ## What's Changed * Fix bug that disallowed JSON flags in unity-catalog recipients update command by @wchau in https://github.com/databricks/databricks-cli/pull/549 * Replace legacy start API in favor of updates API for DLT pipelines by @pradeepgv-db in https://github.com/databricks/databricks-cli/pull/553 * Add more configurable flags for UC metastore, external locations, and storage credentials. by @wchau in https://github.com/databricks/databricks-cli/pull/562 * Accept JSON policy object |
| `0.17.3` | 2022-08-26 | Low | ## What's Changed * Skip information_schema when purging catalog by @adamcain-db in https://github.com/databricks/databricks-cli/pull/539 * Add optional region arg to "unity-catalog metastores create" by @andrewli81 in https://github.com/databricks/databricks-cli/pull/547  ## New Contributors * @andrewli81 made their first contribution in https://github.com/databricks/databricks-cli/pull/547  **Full Changelog**: https://github.com/databricks/databricks-cli/compare/0.17.2...0.17.3 |
| `0.17.2` | 2022-08-19 | Low | ## What's Changed * Don't let .netrc take precedence in ApiClient by @kartikgupta-db in https://github.com/databricks/databricks-cli/pull/526 * Add support for dbt tasks by @kzidane in https://github.com/databricks/databricks-cli/pull/520 * Add access_control_list parameter to JobsService by @pietern in https://github.com/databricks/databricks-cli/pull/540 * Add cancel_all_runs function to JobsService by @pietern in https://github.com/databricks/databricks-cli/pull/542 * Add update_job func |
| `0.17.1` | 2022-08-12 | Low | ## What's Changed * OAuth: properly handle trailing "/" in hostname by @fjakobs in https://github.com/databricks/databricks-cli/pull/497 * Use 2.1 API version for UC paths by @adamcain-db in https://github.com/databricks/databricks-cli/pull/498 * Fix external-location 'lists' command by @adamcain-db in https://github.com/databricks/databricks-cli/pull/503 * Updated Delta Pipelines to match API PipelineSettings definition by @stawo in https://github.com/databricks/databricks-cli/pull/501 * a |
| `0.17.0` | 2022-06-17 | Low | ## What's Changed * Add Unity Catalog support by @adamcain-db in https://github.com/databricks/databricks-cli/pull/471 * Add --wait option to databricks runs submit CLI command by @jerrylian-db in https://github.com/databricks/databricks-cli/pull/487  ## New Contributors * @jerrylian-db made their first contribution in https://github.com/databricks/databricks-cli/pull/487  **Full Changelog**: https://github.com/databricks/databricks-cli/compare/0.16.8...0.17.0 |

## Citation

- HTML: https://www.freshcrate.ai/projects/databricks-cli
- Markdown: https://www.freshcrate.ai/projects/databricks-cli.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/databricks-cli/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
