hi there, folks:
I'd really like to release 0.7.0 but I would like it to be at least a
little bit tested before I do so. Could those of you with CVS trees check
everything out and see if it performs as advertised? Deeper bugs than
that will have to wait for the next release, but I'd at least like to know
if it works for someone other than me.
______ __ __ _____ _ _
| ____ | \_/ |_____] |_____|
|_____| |_____ | | | |
@ t w i s t e d m a t r i x . c o m
I would like to announce txZMQ, ZeroMQ bindings for Twisted. txZMQ is based
on pyzmq and requires recent ØMQ version (>=2.1).
txZMQ uses ØMQ APIs to get file descriptor that is used to signal pending
actions from ØMQ library IO thread running in separate thread. txZMQ should
be usable with any Twisted reactor.
* The socket library that acts as a concurrency framework.
* Carries messages across inproc, IPC, TCP, and multicast.
* Connect N-to-N via fanout, pubsub, pipeline, request-reply.
* Fast enough for clustered products and supercomputing.
* Asynch I/O for scalable multicore message-passing apps.
Bridging ØMQ and Twisted makes a nice match: fast simple messaging between
Twisted instances solving complex problems :)
* PyPi: http://pypi.python.org/pypi/txZMQ/
* Source code: https://github.com/smira/pyzmq
* pyzmq: http://pypi.python.org/pypi/pyzmq
* ØMQ: http://www.zeromq.org/
Qik Web Team Lead
Suppose I have a chat room application using perspective broker. Users
log in with their credentials and gain access to some kind of lobby
showing all available chat rooms. Now suppose entry into each chat
room is precluded by another log in step. How do I implement that?
I suppose I could make another realm and listen on another port but
that seems wrong.
Department of Physics
University of California
Santa Barbara, CA 93117
I have a code path similar to:
if Twisted has IPv6:
# do this
# do that
I came up with this:
Using 'getattr' to get a function which wouldn't exist if there was no IPv6 address as follows:
>>> from twisted.internet import abstract
>>> getattr(abstract, 'isIPv6Address')
<function isIPv6Address at 0x171a488>
Is there a more reliable way (which works with the Twisted-8.0+) to check this?
Amit Saha <http://echorand.me>
I'd like to file a bug, but the site requires a login.
I'm sure I've registered before, but don't remember my username or password.
Neither the "login" link or "Register" link has any information about how to reset a password.
Nor is it present on the home page, or in the FAQ.
...although the Register link does state that:
"Entering an email address will enable you to reset your password if you ever forget it."
(I'm pretty sure I did enter an email address when I registered ages ago)
I assume there's something obvious that I'm missing, but it's flying below my visual radar, because I've tried looking everywhere
on the site.
I give up...can someone point me to the page/link where I can reset my password (to http://twistedmatrix.com - not the mailing list - resetting my password on the mailing list is obvious and straightforward).
I am working on Twisted Endpoint support in Autobahn https://github.com/tavendo/AutobahnPython.
So far, I made Autobahn able to talk WebSocket _over_ arbitrary Twisted Endpoints, e.g. WebSocket over Unix domain sockets works. This is already quite nifty.
Is there anything like Twisted Endpoints for Processes and/or Serial? Like:
endpoint = serverFromString(reactor,"process:program=/usr/local/bin/myprogram")
endpoint = serverFromString(reactor,"serial:port=/dev/tty1:baudrate=115000")
That would allow to talk WebSocket over stdin/stdout to a program or a serial conneced device. Both can be useful in certain situations.
I'd also like to add the other: creating an Twisted Endpoint _from_ an Autobahn server/client to be able to talk any (stream) protocol _over_ WebSocket (like SSH or VNC over WebSocket).
endpoint = serverFromString(reactor,"websocket:tcp:80:url=ws://myhostname.com/somepath")
I guess I need to provide an implementation of
What else? Is there some docs or recipe?
I just wrote a quick class called DeferredListObserver that lets you do
various things with a list of deferreds. You can add observers that get
passed information about the deferreds firing. You can also add deferreds
to the observed list at any time (this is very useful if you're dynamically
creating deferreds that you want to monitor).
The class can be used to easily build things like Twisted's DeferredList or
simple variants of it, or can let you separate the various behaviors of
DeferredList into simpler functions. You can also do other things that I've
occasionally wanted. E.g., get a deferred that fires when N of the
observed deferreds have fired. Or ignore errors until one deferred
succeeds, only firing with an error if all deferreds fail. Or write a
DeferredPool with a notifyWhenEmpty method like the one I posted here about
4 years ago.
Or (a more involved example), suppose you have 3 methods that can return
you a user's avatar: a fast local cache, a filesystem, and a slow network
call to Gravatar. You want to launch all three lookups at once and use the
first answer. But if the cache and/or filesystems fails first, you don't
want an error you instead want to take the result from Gravatar and add it
to the cache and/or filesystem, as well firing a deferred with the result
(wherever it comes from). Only if all three lookups fail do you want to
receive an error.
I'll improve the examples (and probably add tests for them) at some point.
Meanwhile, the DeferredListObserver class (in txdlo.py), tests for it, and
various examples can be had from https://github.com/terrycojones/txdlo
I am trying to write tests for my project. According to the twisted howto
I should use trial. When I try to run trial from the command line (Windows)
I get the usual "that's not a program I know about" error. The howto says
that there's a twisted bin directory that should be in the path, but
looking around in my python installation, I see no such thing. I checked
lib/site-packages/twisted and /Scripts.
What am I missing here?
I installed twisted using the executable windows installer.