Skip to main content

Track changes to mutable data types.

Project description

Build Status Documentation Status Version Info

Spectate

A library for Python 2 and 3 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 user's don't have to.

Documentation

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

Install

  • stable : pip install spectate
  • 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}

Project details


Download files

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

Source Distribution

spectate-0.4.0a1.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

spectate-0.4.0a1-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file spectate-0.4.0a1.tar.gz.

File metadata

  • Download URL: spectate-0.4.0a1.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for spectate-0.4.0a1.tar.gz
Algorithm Hash digest
SHA256 b290a919b0c736eb9b80871eb7e2e4485a32d1b8e1ea26d767807cb29cff7589
MD5 9726b9a461236ed8a49e3294313795d0
BLAKE2b-256 843da01338ec277dda318cf20d94988be5e05fc6d37c051382b93f66281b1af5

See more details on using hashes here.

File details

Details for the file spectate-0.4.0a1-py3-none-any.whl.

File metadata

  • Download URL: spectate-0.4.0a1-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for spectate-0.4.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 6fe11751d12140bf83c323a9d10fb45e8f1960babe8b88ea3081031d14cc5b0c
MD5 32bdd3d54a0ca6ec02fdcdb0177b191e
BLAKE2b-256 85031cb1e2d5466f581581a425a61304c91999aeaad4ee5f6ab10f2afd94221f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page