This release is a pre-release and may not be stable for production use.
Swim System Python Implementation
The Swim System Python implementation provides a standalone set of frameworks for building massively real-time streaming WARP clients.
The Swim Python Client is a streaming API client for linking to lanes
of stateful Web Agents using the WARP protocol, enabling massively
real-time applications that continuously synchronize all shared states
with ping latency. WARP is like pub-sub without the broker,
enabling every state of a Web API to be streamed, without
interference from billions of queues.
Installation
pip install swimos
Usage
# Setting the value of a value lane on a remote agent.
import time
from swimos import SwimClient
with SwimClient() as swim_client:
host_uri = 'ws://localhost:9001'
node_uri = '/unit/foo'
lane_uri = 'info'
value_downlink = swim_client.downlink_value()
value_downlink.set_host_uri('ws://localhost:9001')
value_downlink.set_node_uri('/unit/foo')
value_downlink.set_lane_uri('info')
value_downlink.open()
new_value = 'Hello from Python!'
value_downlink.set(new_value)
print('Stopping the client in 2 seconds')
time.sleep(2)
Development
Dependencies
Code dependencies
pip install -r requirements.txt
Development tools dependencies
pip install -r requirements-dev.txt
Run unit tests
Basic:
- Install async test package:
pip install aiounittest - Run tests:
python -m unittest
With coverage:
- Install async test package:
pip install aiounittest - Install coverage package:
pip install coverage - Generate report:
coverage run --source=swimos -m unittest - View report:
coverage report -m
Run Lint
Manual
- Install lint package:
pip install flake8 - Run checks:
flake8
Automatic (before commit)
- Install commit hook package:
pip install pre-commit - Run hook installation:
pre-commit install
Build package
Building package distribution
- Install build package:
pip install build - Run:
python -m build
Releasing a new version
- Add version tag:
git tag VERSION (e.g. 0.1.0) - Push to remote:
git push origin VERSION
Release files for swimos 1.6.0a0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| swimos-1.6.0a0.tar.gz | 78.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| swimos-1.6.0a0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 165.3 kB
Release files / swimos-1.6.0a0.tar.gz
| Download URL | swimos-1.6.0a0.tar.gz |
|---|---|
| Size | 78.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
681f537aa0173a47f0e93a70c340740e0b019c83ab483241685a5fb46a0d63a8
|
|
BLAKE2b-256 checksum How to use checksums |
a88c66439b2fe23a607e37c01a4e391f98385868d3e0a52e89d36b265469bcaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 21, 2024.
Transparency logRelease files / swimos-1.6.0a0-py3-none-any.whl
| Download URL | swimos-1.6.0a0-py3-none-any.whl |
|---|---|
| Size | 87.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4faa30f79cd7a8767d10192557af351d4069383ed1e593a7d5a6bbe917971d77
|
|
BLAKE2b-256 checksum How to use checksums |
14c0480ad63ff510bf3a6ae94bb3cc0cf381d050fa59737d4264fa51c5730e96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 21, 2024.
Transparency log