Skip to main content

Bitswan is a framework for building automations and pipelines in Jupyter

Project description

Bitswan: A tool for building Pipelines & Automations in Jupyter

You can find example pipelines in the examples directory.

Installation

This library is part of the bitswan suite which is managed by the bitswan workspace cli. You must first install the bitswan workspaces cli before installing and using the bitswan notebooks cli.

$ git clone git@github.com:bitswan-space/BitSwan.git
$ cd BitSwan
$ curl -LsSf https://astral.sh/uv/install.sh | sh
$ uv venv
$ source .venv/bin/activate
$ uv pip install -e ".[dev]"

Running pipelines

You can run a pipeline with a simple command:

$ bitswan notebook examples/WebForms/main.ipynb

When developing web endpoints it can be helpful to instruct the pipeline to automatically restart if the source code changes.

$ bitswan notebook examples/WebForms/main.ipynb --watch

Running Tests

You can find examples for automatically testing pipelines in the testing examples directory.

Run tests with the --test flag.

$ bitswan notebook examples/Testing/InspectError/main.ipynb --test

Running tests for pipeline Kafka2KafkaPipeline.

    ┌ Testing event:        b'foo'
    └ Outputs:              [b'FOO'] ✔

All tests passed for Kafka2KafkaPipeline.


Running tests for pipeline auto_pipeline_1.

    ┌ Testing event:        b'{"foo":"aaa"}'
    └ Outputs:              [b'{"foo": "A   A   A"}'] ✔

    ┌ Testing event:        b'{"foo":"aab"}'
    │ Probing after-upper.
    └ Outputs:              [b'{"foo": "B   A   A"}'] ✔

    ┌ Testing event:        b'{"foo":"cab"}'
    └ Outputs:              [b'{"foo": "B   A   C"}'] ✘

You can combine --test with --watch to automatically rerun tests whenever the source files change.

Licence

Bitswan is open-source software, available under BSD 3-Clause License.

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

bitswan-2025.7.24.8.tar.gz (579.0 kB view details)

Uploaded Source

Built Distribution

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

bitswan-2025.7.24.8-py2.py3-none-any.whl (440.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file bitswan-2025.7.24.8.tar.gz.

File metadata

  • Download URL: bitswan-2025.7.24.8.tar.gz
  • Upload date:
  • Size: 579.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for bitswan-2025.7.24.8.tar.gz
Algorithm Hash digest
SHA256 f6e029f8944c117e24505e54922d1adbdab21cde4c8ff037b00e7c8ee09719dd
MD5 f93c4deb55f9b8f5b60dc9194fdaad11
BLAKE2b-256 67970aeb5967a53f8f597a65c04c4f4b01195bd84ab6cde5533ca4b4a8e681c6

See more details on using hashes here.

File details

Details for the file bitswan-2025.7.24.8-py2.py3-none-any.whl.

File metadata

  • Download URL: bitswan-2025.7.24.8-py2.py3-none-any.whl
  • Upload date:
  • Size: 440.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for bitswan-2025.7.24.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f58a64ac1543217aa7d2bb2fc90a5cb8702e86782fcf440ae7c6508116913573
MD5 5d4c68cb4f1d682e99bde4060df00d28
BLAKE2b-256 d07cba07cf3a2582485862b599003f77ea676f3ee01c70c9f5e2865ff31b2b42

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