Track changes to mutable data types.
Project description
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}
Project details
Release history Release notifications | RSS feed
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.0.tar.gz
(14.5 kB
view hashes)
Built Distribution
Close
Hashes for spectate-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f715f7b184c94df6c8de5031ffb8f3eb5685ebad2f62bc1b11af408b3856e35e |
|
MD5 | 4b1fd42de51e0c3e9b401e171c71f308 |
|
BLAKE2b-256 | cc0cdafbf9508e237832c9712df144e956f9120b519743bcbdd652751fb1a35e |