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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bitswan-2026.3.16.47.tar.gz.
File metadata
- Download URL: bitswan-2026.3.16.47.tar.gz
- Upload date:
- Size: 315.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcd43b3d9d6a3dafc94a0b79c9ae8aeb7d1145a9b0938c7b97736de32c616b12
|
|
| MD5 |
6436019e97cd984cb1974714dc09bfb5
|
|
| BLAKE2b-256 |
0b87d9f0e5dab15516c6453a98471da07c8d28a19eccde0a2c5b91c1a1e1123e
|
File details
Details for the file bitswan-2026.3.16.47-py2.py3-none-any.whl.
File metadata
- Download URL: bitswan-2026.3.16.47-py2.py3-none-any.whl
- Upload date:
- Size: 453.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a4c7cbb4550ee58bf03b2d9991c5ab5d6589c2ed2166822877ff1927e30b030
|
|
| MD5 |
c70571753266797af20dd522ef3e6d9e
|
|
| BLAKE2b-256 |
75a4e207d6367185be16fb8528d66f041dc267613cd9a687a0291cd1658d2c4c
|