Skip to main content

A Python package providing helper functions to programmatically import Jupyter notebook content into Cloud platforms via REST APIs.

Project description

Code2cloudNB

A Python package providing helper functions to programmatically import Jupyter notebook content into Azure Databricks and Azure Synapse workspaces via REST APIs.

Features

  • Create folders and import Jupyter notebooks into Azure Databricks workspace.
  • Import Jupyter notebooks into Azure Synapse Analytics workspace with support for Big Data Pools.
  • Handles authentication using Personal Access Tokens (PAT) for Databricks and Azure AD DefaultAzureCredential for Synapse.
  • Returns detailed responses for success and error scenarios.

Installation

Install via PyPI once published:

pip install Code2cloudNB

Usage

Importing a notebook into Azure Databricks

import base64
from Code2cloudNB import import_code_to_databricks

# Your Databricks workspace info
host = "https://<databricks-instance>"
token = "<your-databricks-pat>"
domain_name = "<your-domain-or-username>"
target_path = "target/folder/path"
filename = "my_notebook"

# Load your notebook JSON file content and encode to base64
with open("notebook.ipynb", "rb") as f:
    notebook_content = f.read()
encoded_string = base64.b64encode(notebook_content).decode()

response = import_code_to_databricks(host, token, domain_name, target_path, filename, encoded_string)

print(response)

Importing a notebook into Azure Synapse Analytics

from Code2cloudNB import import_code_to_synapse
import json

wName = "<your-synapse-workspace-name>"
target_path = "target_folder"
filename = "my_notebook"
pool_name = "<your-big-data-pool-name>"
api_version = "2021-06-01" # example API version

# Load notebook JSON content as Python dict
with open("notebook.ipynb", "r") as f:
    notebook_json = json.load(f)

response = import_code_to_synapse(wName, target_path, filename, pool_name, notebook_json, api_version)

print(response)

Prerequisites

  • For Databricks import:

    • A valid Personal Access Token (PAT) with workspace permissions.
    • Databricks workspace URL.
  • For Synapse import:

    • Azure CLI or environment configured for Azure authentication.
    • Appropriate Azure AD role assignments for accessing Synapse workspace.
    • azure-identity Python package installed for DefaultAzureCredential support.
pip install azure-identity requests

Error Handling

Both functions return dictionaries including HTTP status codes and error messages if any operation fails. Use these to troubleshoot or log issues.

License

This project is licensed under the MIT License - see the [LICENSE] (LICENSE) file for details.

Contributing

Feel free to open issues or submit pull requests to improve the package.

Author

Antick Mazumder — antick.majumder@gmail.com

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

code2cloudnb-0.1.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

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

code2cloudnb-0.1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file code2cloudnb-0.1.0.tar.gz.

File metadata

  • Download URL: code2cloudnb-0.1.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.1

File hashes

Hashes for code2cloudnb-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a2431add55ace9b06d9834c151423d60bf55246c11ffc3c7a0bbd7cc5afcdbcc
MD5 45ec5b23aaaacaf233d45369509ea4d9
BLAKE2b-256 85fb29577b9ff5b87ca5a9b5a3f9de8feb50c45ebd40cb64f885071f27c5146b

See more details on using hashes here.

File details

Details for the file code2cloudnb-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: code2cloudnb-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.1

File hashes

Hashes for code2cloudnb-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b48ef582934c901408bc700be0af8eba9d59c2a56e7e833a41c85846a9e1c1af
MD5 770846948d458f100fab00e21ab3d309
BLAKE2b-256 07db8d73377e97bbf100f5425cbc3427c58462967b08361b7c99c1b20913dc11

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