Skip to main content

CLI and backend for driving Azure Synapse Analytics pipelines and notebooks from a single config.yaml.

Project description

synapse-controller

A Python CLI + backend that drives Azure Synapse Analytics from a single config.yaml. Wraps azure-synapse-artifacts to start, monitor, list, and cancel pipeline runs, and to run / debug notebooks against a Spark session.

See ARCHITECTURE.md for the architectural source of truth: stack, layout, config shape, CLI behavior, and project conventions.

Quickstart

uv sync --extra dev
uv run python -m synapse_controller --help

Copy config.example.yaml to config.yaml, fill in your workspace identity, then:

uv run python -m synapse_controller --config config.yaml --profile dev pipelines list

Note — invoke as python -m synapse_controller, not as a script entry point. Defender on Belastingdienst-managed Windows blocks executing binaries from .venv\Scripts\, so all tools (black, isort, flake8, mypy, pytest, this CLI) are launched via python -m.

Notebook output streaming caveatnotebooks run and notebooks debug execute a workspace notebook by submitting each code cell to a Livy Spark session. Synapse's Livy returns a cell's captured output only when the cell finishes, so per-line stdout during a long-running cell is not available. Feedback granularity is one cell.

Development

uv run python -m black .
uv run python -m isort .
uv run python -m flake8 src tests
uv run python -m mypy src tests
uv run python -m pytest

Authentication is always DefaultAzureCredential. Make sure you are signed in (e.g. az login) before running commands that touch the workspace.

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

synapse_controller-0.1.0.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

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

synapse_controller-0.1.0-py3-none-any.whl (38.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: synapse_controller-0.1.0.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for synapse_controller-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f052fb0c534360e8fbefbb641a50dea37a584b14611ee73ed206f2904a83cf98
MD5 6bb002ed23d4d9c888dbc9f9e285bcc2
BLAKE2b-256 dc8a40fec1b61bbb4f44e2e4036552e524503a410ca91e4cf1ae21a15bf9f685

See more details on using hashes here.

Provenance

The following attestation bundles were made for synapse_controller-0.1.0.tar.gz:

Publisher: publish.yml on TheScriptingGuy/synapse-controller

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for synapse_controller-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5676bda20ef1e3bf02e6c21ddb643544d71f7d77f72353b0e96cd7cd26700f42
MD5 5ff7767930b9b810b5e270941fada0db
BLAKE2b-256 bd83a19315e46f7151bdbddb3a94d3cc5990b8287830deea6f193e725536cfdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for synapse_controller-0.1.0-py3-none-any.whl:

Publisher: publish.yml on TheScriptingGuy/synapse-controller

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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