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
Hello everyone! It's time again for a Twisted release. It's not a huge
one, but it does have some important changes!
Twisted 18.9rc1 features:
- Support for Python 3.7!
- Better support for Unicode handling in logging tracebacks in Python 2
- trial -j now reports tracebacks on test failures on Python 3.
- twisted.internet._sslverify.ClientTLSOptions no longer raises
IDNAError when given an IPv6 address as a hostname in a HTTPS URL.
- HTTP/2 server connections will no longer time out active downloads
that take too long.
You can get the tarball and the NEWS file at
https://twistedmatrix.com/Releases/rc/18.9.0rc1/ , or you can try it out
python -m pip install Twisted==18.9.0rc1
Please test it, and let me know how your applications fare, good or bad!
If nothing comes up, I will release next week.
-----BEGIN PGP SIGNED MESSAGE-----
I'm very pleased to announce txtorcon 18.1.0. This adds or fixes the
* better error-reporting (include REASON and REMOTE_REASON if
available) when circuit-builds fail (thanks David Stainton)
* more-robust detection of "do we have Python3" (thanks Balint
* fix parsing of Unix-sockets for SOCKS
* better handling of concurrent Web agent requests before SOCKS ports
* allow fowarding to ip:port pairs for Onion services when using the
"list of 2-tuples" method of specifying the remote vs local
You can download the release from PyPI or GitHub (or of
course "pip install txtorcon"):
Releases are also available from the hidden service:
Or via a "version 3" service:
You can verify the sha256sum of both by running the following 4 lines
in a shell wherever you have the files downloaded:
cat <<EOF | sha256sum --check
-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----
I want to learn how to use twisted together with asyncio. I create
several files to describe my problem
- I can use pure asyncio for simple case (asyncio_ex.py)
- I can use pure twisted for simple case (twisted_ex.py)
- I can await in twisted on twsited defer (twisted_await.py)
I have a problem in case I try to await in twisted for asyncio
coroutine(twisted_await_asyncio.py). Program never finishes and I got
only started messages
2018-09-19 12:48:59,633 [WARNING] PID:8238
2018-09-19 12:48:59,633 [WARNING] PID:8238
I'm new to Twisted and really enjoying the event driven approach,
especially with the availability of in-line callbacks to avoid callback
hell. So thanks to all of you who have worked on Twisted.
The program I'm writing uses AMP for peer to peer communication. I like
AMP because it's natively asynchronous, has multi-language support, and
efficient, not wasting resources on HTTP headers, etc. There are times
when I need to send files, 1-2 MB over the connection. AMP provides a
binary type, but it's limited to 64k, so I'd have to split the files up
and make 16+ calls to transfer a single file. So I need to switch to a
more appropriate (not yet determined) protocol for the transfer, and
then back to AMP. AMP provides a protocol switch command, which is
great, but then I'd need to switch back to AMP and I have no idea what
approach to take here. It doesn't help that I don't have a file
transfer protocol selected.
Speaking of file transfer protocol , Twisted's FTP seems like overkill
for my simple scenario, though if I could harness the functionality I
need, I'd use it. I've also read up on Twisted's Producer/Consumer
approach, which I'm thinking if I have to roll my own, this is the path
I should take. However, I surely can't be the first person in more than
a decade to want to transfer a file while speaking AMP.
So, how do I switch back from a file transfer protocol to AMP and what
existing protocol, if any, should I use for the transfer?
Thanks so much.
I'm working on a Flask project using the flask_twisted package from PyPI
and have encountered a mystery. I don't *have* to solve it to move on, but
darn it, I can't let it go :)
So here's the breakdown: when use the standard logging module to output to
a logfile + stdout, everything is fine. I do see some logging output from
Twisted as well (the web server part) but for the most part life is groovy.
I'm going to be integrating in a wxPython windows app to this (previously
it's been a shell app) and step 1 was to make my own stdout handler that
eventually would pipe all that stuff to a window in the wx app. The first
step of THAT (step 1.a) was to replace all the logging stuff with print()
At that point, things got confusing, as now ALL of my print()s are being
handled by Twisted's logging handler.
I brought flask-twisted in local to my code so I could monkey around with
it. First thing I noticed was that it was using twisted.python.log. I
messed around with that - commented it out, and now I get no stdout output
at all. Set the parameter setStdout to False, same thing.
The adapter code uses twisted.internet.reactor, threads,
twisted.web.server.Site, twisted.web.wsgi.WSGIResource, and
twisted.web.resource.Resource, any one which might be responsible. I spent
yesterday evening digging around but haven't found anything yet.
Any guidance / ideas?