# Switch
LLM-Powered Code Conversion Plugin for Lakebridge
## Project Description
Switch is a Lakebridge transpiler plugin that transforms SQL and other source formats into Databricks-compatible notebooks using Large Language Models (LLMs). As a core component of the Lakebridge migration platform, Switch provides automated code conversion capabilities through a multi-stage processing pipeline designed for large-scale platform migrations.
## Project Support
Please note that all projects in the /databrickslabs github account are provided for your exploration only, and are not formally supported by Databricks with Service Level Agreements (SLAs). They are provided AS-IS and we do not make any guarantees of any kind. Please do not submit a support ticket relating to any issues arising from the use of these projects.
Any issues discovered through the use of this project should be filed as GitHub Issues on the Repo. They will be reviewed as time permits, but there are no formal SLAs for support.
## Key Features
- **AI-Powered Conversion**: Leverages Large Language Models for intelligent code transformation
- **Multi-Format Support**: Converts various source formats including SQL, code files, and workflow definitions
- **Flexible Output**: Generates multiple output formats tailored to your migration needs
- **Built-in Templates**: Comprehensive conversion templates for common database and platform migrations
- **Cloud-Native Processing**: Scalable execution on Databricks platform infrastructure
- **Stateful Tracking**: Maintains conversion progress and results for large-scale migrations
- **Extensible Design**: Customizable template system for specialized conversion requirements
## Using the Project
### Primary Usage: Lakebridge Integration
Switch is primarily designed as a Lakebridge transpiler plugin. To use Switch for code conversion:
1. **Install Lakebridge**: Follow the [Lakebridge documentation](https://databrickslabs.github.io/lakebridge)
2. **Install Switch transpiler**: Use Lakebridge to install the Switch transpiler plugin
3. **Run conversion**: Use Lakebridge's transpile command with Switch
For complete usage instructions and configuration options, refer to the [Lakebridge documentation](https://databrickslabs.github.io/lakebridge).
### Alternative Usage: Direct Deployment
For advanced testing or direct control, you can deploy Switch directly to a Databricks workspace:
**Cell 1: Install Switch package**
From PyPI (stable):
```python
%pip install databricks-switch-plugin
```
Or from Test PyPI (development/preview versions):
```python
%pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple databricks-switch-plugin
```
**Cell 2: Deploy Switch to workspace**
```python
from databricks.sdk import WorkspaceClient
from switch.api.installer import SwitchInstaller
ws = WorkspaceClient()
installer = SwitchInstaller(ws)
result = installer.install()
print(f"Switch job created: {result.job_url}")
```
After installation, use the created job in Databricks Jobs UI to run conversions with your specific parameters.
## For Developers
For development setup, advanced usage, testing, and technical details, see [DEVELOPER.md](./DEVELOPER.md).
Raw data
{
"_id": null,
"home_page": null,
"name": "databricks-switch-plugin",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Databricks Labs <labs-oss@databricks.com>",
"keywords": "Conversion, Databricks, LLM, Migration, SQL",
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/99/f6/f2384c074e5665e41f26daa3f745c1cdde5fd5a166253255f8312a3fc401/databricks_switch_plugin-1.0.0.tar.gz",
"platform": null,
"description": "# Switch\nLLM-Powered Code Conversion Plugin for Lakebridge\n\n## Project Description\nSwitch is a Lakebridge transpiler plugin that transforms SQL and other source formats into Databricks-compatible notebooks using Large Language Models (LLMs). As a core component of the Lakebridge migration platform, Switch provides automated code conversion capabilities through a multi-stage processing pipeline designed for large-scale platform migrations.\n\n## Project Support\nPlease note that all projects in the /databrickslabs github account are provided for your exploration only, and are not formally supported by Databricks with Service Level Agreements (SLAs). They are provided AS-IS and we do not make any guarantees of any kind. Please do not submit a support ticket relating to any issues arising from the use of these projects.\n\nAny issues discovered through the use of this project should be filed as GitHub Issues on the Repo. They will be reviewed as time permits, but there are no formal SLAs for support.\n\n## Key Features\n- **AI-Powered Conversion**: Leverages Large Language Models for intelligent code transformation\n- **Multi-Format Support**: Converts various source formats including SQL, code files, and workflow definitions\n- **Flexible Output**: Generates multiple output formats tailored to your migration needs\n- **Built-in Templates**: Comprehensive conversion templates for common database and platform migrations\n- **Cloud-Native Processing**: Scalable execution on Databricks platform infrastructure\n- **Stateful Tracking**: Maintains conversion progress and results for large-scale migrations\n- **Extensible Design**: Customizable template system for specialized conversion requirements\n\n## Using the Project\n\n### Primary Usage: Lakebridge Integration\nSwitch is primarily designed as a Lakebridge transpiler plugin. To use Switch for code conversion:\n\n1. **Install Lakebridge**: Follow the [Lakebridge documentation](https://databrickslabs.github.io/lakebridge)\n2. **Install Switch transpiler**: Use Lakebridge to install the Switch transpiler plugin\n3. **Run conversion**: Use Lakebridge's transpile command with Switch\n\nFor complete usage instructions and configuration options, refer to the [Lakebridge documentation](https://databrickslabs.github.io/lakebridge).\n\n### Alternative Usage: Direct Deployment\nFor advanced testing or direct control, you can deploy Switch directly to a Databricks workspace:\n\n**Cell 1: Install Switch package**\n\nFrom PyPI (stable):\n```python\n%pip install databricks-switch-plugin\n```\n\nOr from Test PyPI (development/preview versions):\n```python\n%pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple databricks-switch-plugin\n```\n\n**Cell 2: Deploy Switch to workspace**\n```python\nfrom databricks.sdk import WorkspaceClient\nfrom switch.api.installer import SwitchInstaller\n\nws = WorkspaceClient()\ninstaller = SwitchInstaller(ws)\nresult = installer.install()\n\nprint(f\"Switch job created: {result.job_url}\")\n```\n\nAfter installation, use the created job in Databricks Jobs UI to run conversions with your specific parameters.\n\n## For Developers\nFor development setup, advanced usage, testing, and technical details, see [DEVELOPER.md](./DEVELOPER.md).\n",
"bugtrack_url": null,
"license": null,
"summary": "LLM-powered tool to convert SQL, code, and workflow files into Databricks notebooks.",
"version": "1.0.0",
"project_urls": {
"Documentation": "https://databrickslabs.github.io/lakebridge",
"Issues": "https://github.com/databrickslabs/lakebridge/issues",
"Source": "https://github.com/databrickslabs/lakebridge"
},
"split_keywords": [
"conversion",
" databricks",
" llm",
" migration",
" sql"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "253d70feaa4646403e7e259a4175118519a0d9b763e663616f3901f4b3abf367",
"md5": "cdfd8d7279f865679db75c3dcc59db6d",
"sha256": "c9e2e913c4b9d993f87cdb319499d06a6a829f6ca55f4d8658539b543c25db39"
},
"downloads": -1,
"filename": "databricks_switch_plugin-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cdfd8d7279f865679db75c3dcc59db6d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 136215,
"upload_time": "2025-08-19T03:18:58",
"upload_time_iso_8601": "2025-08-19T03:18:58.828468Z",
"url": "https://files.pythonhosted.org/packages/25/3d/70feaa4646403e7e259a4175118519a0d9b763e663616f3901f4b3abf367/databricks_switch_plugin-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "99f6f2384c074e5665e41f26daa3f745c1cdde5fd5a166253255f8312a3fc401",
"md5": "24acf1f94337d601da42d27783b98486",
"sha256": "bb89dad3fc982822fbf6a14afdfe9df9b1745a1165bd325f0e8cc7013fbf5b58"
},
"downloads": -1,
"filename": "databricks_switch_plugin-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "24acf1f94337d601da42d27783b98486",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 90848,
"upload_time": "2025-08-19T03:18:57",
"upload_time_iso_8601": "2025-08-19T03:18:57.596491Z",
"url": "https://files.pythonhosted.org/packages/99/f6/f2384c074e5665e41f26daa3f745c1cdde5fd5a166253255f8312a3fc401/databricks_switch_plugin-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-19 03:18:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "databrickslabs",
"github_project": "lakebridge",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "databricks-switch-plugin"
}