Skip to content
Callback Properties in Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
echo
.coveragerc
.gitignore
.rtd-environment.yml
.travis.yml
CHANGES.rst
LICENSE
MANIFEST.in
README.rst
appveyor.yml
readthedocs.yml
requirements.txt
setup.py

README.rst

Travis Build Status AppVeyor Build status Coveralls coverage

echo: Callback Properties in Python

Echo is a small library for attaching callback functions to property state changes. For example:

class Switch(object):
    state = CallbackProperty('off')

def report_change(state):
    print 'the switch is %s' % state

s = Switch()
add_callback(s, 'state', report_change)

s.state = 'on'  # prints 'the switch is on'

CalllbackProperties can also be built using decorators

class Switch(object):

      @callback_property
      def state(self):
        return self._state

      @state.setter
      def state(self, value):
          if value not in ['on', 'off']:
              raise ValueError("invalid setting")
          self._state = value

Full documentation is avilable here

You can’t perform that action at this time.