A simple beanstalkd client library for Python
Latest commit e0fd6ea May 11, 2015 @earl Add a basic "binary data" example / doctest
Note that this does _not_ demonstrate or test for full 8-bit
transparency across implementations. (beanstalkc-to-beanstalkc could
still easily pass this by using a fully revertible internal encoding.)

However, this example should already be sufficient to illustrate a
design issue for beanstalkc Python 3 adaptations. It should also be a
good additional sanity check (even when ignoring 8-bit transparency), as
the length of the job data in Unicode codepoints no longer equals the
length in bytes after encoding via e.g. UTF-8:

    >>> data = '\x00\x01\xfe\xff'
    >>> len(data)
    >>> len(data.encode('utf-8'))



beanstalkc is a simple beanstalkd client library for Python. beanstalkd is a fast, distributed, in-memory workqueue service.

beanstalkc depends on PyYAML, but there are ways to avoid this dependency. See Appendix A of the tutorial for details.

beanstalkc is pure Python, and is compatible with eventlet and gevent.

beanstalkc is currently only supported on Python 2 and automatically tested against Python 2.6 and 2.7. Python 3 is not (yet) supported.


Here is a short example, to illustrate the flavor of beanstalkc:

>>> import beanstalkc
>>> beanstalk = beanstalkc.Connection(host='localhost', port=14711)
>>> beanstalk.put('hey!')
>>> job = beanstalk.reserve()
>>> job.body
>>> job.delete()

For more information, see the tutorial, which will explain most everything.


Copyright (C) 2008-2014 Andreas Bolka, Licensed under the Apache License, Version 2.0.