Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Swim System Python Implementation

PyPI version Build Status License Code of Conduct chat

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:
  1. Install async test package: pip install aiounittest
  2. Run tests: python -m unittest
With coverage:
  1. Install async test package: pip install aiounittest
  2. Install coverage package: pip install coverage
  3. Generate report: coverage run --source=swimos -m unittest
  4. View report: coverage report -m

Run Lint

Manual
  1. Install lint package: pip install flake8
  2. Run checks: flake8
Automatic (before commit)
  1. Install commit hook package: pip install pre-commit
  2. Run hook installation: pre-commit install

Build package

Building package distribution
  1. Install build package: pip install build
  2. Run: python -m build
Releasing a new version
  1. Add version tag: git tag VERSION (e.g. 0.1.0)
  2. 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)

Source distribution for swimos 1.6.0a0
File Size Uploaded
swimos-1.6.0a0.tar.gz 78.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for swimos 1.6.0a0
File Interpreter ABI Platform
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 log

Release 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
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