Skip to main content

Standalone Python framework for building massively real-time streaming WARP clients.

Project description

Swim System Python Implementation

PyPI version Build Status codecov 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 swimai

Usage

# Setting the value of a value lane on a remote agent.
import time

from swimai 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=swimai -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 source distribution
  1. Run: python setup.py sdist
Building wheel
  1. Install wheel package: pip install wheel
  2. Run: python setup.py sdist

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for swimai, version 1.1.0a0
Filename, size File type Python version Upload date Hashes
Filename, size swimai-1.1.0a0-py3-none-any.whl (83.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size swimai-1.1.0a0.tar.gz (66.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page