Skip to main content

Keep your local python scripts installed and in sync with a databricks notebook. Shortens the feedback loop to develop projects using a hybrid enviroment

Project description

Databricks-Rocket

PyPI version PyPI downloads

Databricks-Rocket (short db-rockets), keeps your local Python scripts installed and synchronized with a Databricks notebook. Every change on your local machine is automatically reflected in the notebook. This shortens the feedback loop for developing git-based projects and eliminates the need to set up a local development environment.

Installation

Install databricks-rocket using pip:

pip install databricks-rocket

Setup

Ensure you've created a personal access token in Databricks (offical documentation). Afterward, set up the Databricks CLI by executing:

databricks configure --token

Alternatively, you can set the Databricks token and host in your environment variables:

export DATABRICKS_HOST="mydatabrickshost"
export DATABRICKS_TOKEN="mydatabrickstoken"

If your project isn't already a pip package, you'll need to convert it into one. Use dbrocket for this:

rocket setup

Will create a setup.py for you.

Usage

To Sync Your Project

By default, databricks-rocket syncs your project to DBFS automatically. This allows you to update your code and have those changes reflected in your Databricks notebook without restarting the Python kernel. Simply execute:

rocket launch

You'll then receive the exact command to run in your notebook. Example:

stevenmi@MacBook db-rocket % rocket launch --watch=False
>> Watch activated. Uploaded your project to databricks. Install your project in your databricks notebook by running:
>> %pip install --upgrade pip
>> %pip install  -r /dbfs/temp/stevenmi/db-rocket/requirements.txt
>> %pip install --no-deps -e /dbfs/temp/stevenmi/db-rocket

and following in a new Python cell:
>> %load_ext autoreload
>> %autoreload 2

Finally, add the content in you databricks notebook: imgs/img_2.png

To Upload Your Python Package

If you've disabled the watch feature, databricks-rocket will only upload your project as a wheel to DBFS:

rocket launch --watch=False

Example:

stevenmi@MacBook db-rocket % rocket launch --watch=False
>> Watch is disabled. Building creating a python wheel from your project
>> Found setup.py. Building python library
>> Uploaded ./dist/databricks_rocket-2.0.0-py3-none-any.whl to dbfs:/temp/stevenmi/db-rocket/dist/databricks_rocket-2.0.0-py3-none-any.whl
>> Uploaded wheel to databricks. Install your library in your databricks notebook by running:
>> %pip install --upgrade pip
>> %pip install  /dbfs/temp/stevenmi/db-rocket/databricks_rocket-2.0.0-py3-none-any.whl --force-reinstall

Support

  • Databricks: >=7
  • Python: >=3.7
  • Tested on Platform: Linux, MacOs. Windows will probably not work but contributions are welcomed!

Acknowledgments

  • Thanks Leon Poli for the Logo :)
  • Thanks Stephane Leonard for source-code and documentation improvements :)
  • Thanks Malachi Soord for the CICD setup and README improvements

Contributions are welcomed!

Blogposts

  • DB Rocket 1.0 post also gives more details about the rationale around dbrocket.

Security

For security issues please contact security@getyourguide.com.

Legal

db-rocket is licensed under the Apache License, Version 2.0. See LICENSE for the full text.

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

databricks-rocket-2.0.3.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

databricks_rocket-2.0.3-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file databricks-rocket-2.0.3.tar.gz.

File metadata

  • Download URL: databricks-rocket-2.0.3.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for databricks-rocket-2.0.3.tar.gz
Algorithm Hash digest
SHA256 1c98f8851e78ec520a75fef10d2ab1338c9b43e20e8fbd1355d84c9422ccdc4b
MD5 8d78189e7313aaaa643fd3536094624c
BLAKE2b-256 2bdce562892cf3d940546e44d0aef3fbc6fbc3be5c9ec25fc7dcce6c12be37e9

See more details on using hashes here.

File details

Details for the file databricks_rocket-2.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for databricks_rocket-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b687056db0c2624d06b2e0f9deb94cd3c1a4735dd94afcdd9228ba738e5ed057
MD5 275e9189db920cba1396e25ba4893e02
BLAKE2b-256 5d59d4754ac547a82d424a459f57efe7387b82551ba3f0eca69244f09d7c85d6

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