Skip to main content

StreamWright — the streamwright CLI and runtime

StreamWright turns a few YAML files into a working data pipeline. You describe what to pull — from an API, a file store or a database — and StreamWright handles the how: signing in, paging, retries, shaping the data with DuckDB SQL, and writing it out. No per-connector code, and one command runs any source.

The streamwright package is the heart of it: the streamwright command plus the runtime for kind: source sources.

  • streamwright run executes a source · streamwright validate checks one · streamwright connectors browses and installs connectors.
  • A source is a folder — source.yaml (spec, auth, http) and one file per stream in streams/ — or a single YAML file.
  • Each stream fetches (HTTP requests / SDK connectors), shapes (sandboxed DuckDB SQL), and writes (files, DuckDB/DuckLake or dlt).

Install

pip install streamwright
streamwright --help

This installs the streamwright CLI, the runtime and the connector hub — but no connectors yet. Add the ones you need on demand:

streamwright connectors list                 # browse the hub
streamwright connectors install files        # a reader (files, s3, gcs, postgres)
streamwright connectors install google_ads   # an API connector (pulls in its SDK)
streamwright connectors install google_ads meta_ads microsoft_ads   # several at once (one pip install)

The catalog comes from the live StreamWright hub. When it is unreachable, the CLI warns and uses the last copy it fetched, else the one bundled with this release; --hub-url bundled uses the bundled copy only, with no network (reproducible builds).

Quickstart

pip install streamwright
streamwright connectors install files

# the runnable examples live in the repo — clone it to try one end-to-end
git clone https://github.com/karthick-jaganathan/streamwright.git
streamwright validate streamwright/examples
streamwright run streamwright/examples/sources/readers/files_demo \
  --set data_root=streamwright/examples/sources/readers/files_demo/data \
  --allow-connector files --output jsonl:out

📖 Full documentation: https://streamwright.web.app/docs/ — command line, streams, outputs, logging, connectors & readers and the Python API.

Metadata

Release files for streamwright 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for streamwright 0.1.5
File Size Uploaded
streamwright-0.1.5.tar.gz 235.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for streamwright 0.1.5
File Interpreter ABI Platform
streamwright-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 387.9 kB

Release files / streamwright-0.1.5.tar.gz

Download URL streamwright-0.1.5.tar.gz
Size 235.5 kB
Tags Source
SHA-256 checksum
How to use checksums
482712f0d1653c054183c9e6f208550e1eb29e1427de5665d5f4e69c361f0409
BLAKE2b-256 checksum
How to use checksums
6dd1d9111b79dbaf2b445079480e5f0f7982963b0be87bf59fbb9e2c2777d8c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.13

Release files / streamwright-0.1.5-py3-none-any.whl

Download URL streamwright-0.1.5-py3-none-any.whl
Size 152.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc224257d3771dd4c2e61748806636d7bea3e33368503765b00e05353318bbc9
BLAKE2b-256 checksum
How to use checksums
a3e0da5ef4749deadf8346e9facd3e61758bea90ff7353c5731239800af0bcdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.13

Release history Release notifications | RSS feed

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

This release

0.1.5 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page