Skip to main content

Build Status Documentation Status Version Info

Spectate

A library for Python 3.6 and above that can track changes to mutable data types.

With spectate, complicated protocols for managing updates don't need to be the outward responsibility of a user and can instead be done automagically in the background. For instance, syncing the state between a server and client can controlled by spectate, so users don't have to.

Documentation

https://python-spectate.readthedocs.io/en/latest/

Install

  • stable
pip install spectate
  • pre-release
pip install spectate --pre
  • master
pip install git+https://github.com/rmorshea/spectate.git#egg=spectate
  • developer
git clone https://github.com/rmorshea/spectate && cd spectate/ && pip install -e . -r requirements.txt

At A Glance

If you're using Python 3.6 and above, create a model object

from spectate import mvc

l = mvc.List()

Register a view function to it that observes changes

@mvc.view(l)
def printer(l, events):
    for e in events:
        print(e)

Then modify your object and watch the view function react

l.append(0)
l[0] = 1
l.extend([2, 3])
{'index': 0, 'old': Undefined, 'new': 0}
{'index': 0, 'old': 0, 'new': 1}
{'index': 1, 'old': Undefined, 'new': 2}
{'index': 2, 'old': Undefined, 'new': 3}

Download files

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

Source Distribution

spectate-1.0.1.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

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

spectate-1.0.1-py2.py3-none-any.whl (11.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file spectate-1.0.1.tar.gz.

File metadata

  • Download URL: spectate-1.0.1.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for spectate-1.0.1.tar.gz
Algorithm Hash digest
SHA256 49a2dde0962fcecf120cb361cc293989489078eb29ba1d8c3d342a741e898b7e
MD5 0da35306b62c71e52a9662bccc16f5a3
BLAKE2b-256 c88d78dbadaeea943cc0fb9d3cd6b0a4f4668a46f84de1c5507fe3c9f02b8973

See more details on using hashes here.

File details

Details for the file spectate-1.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: spectate-1.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for spectate-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c4585194c238979f953fbf2ecf9f94c84d9d0a929432c7104e39984f52c9e718
MD5 c759d7f9616f3611ddf3ee7dca229772
BLAKE2b-256 81ec8bdccea3ff7d557601183581340c3768b7bb7b1e32c8991f1130f0c1e2c4

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

2 files

0.5.0

1 file

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.1.0

2 files

0.0.2

1 file

0.0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page