On Jul 10, 2014, at 5:23 PM, exar...@twistedmatrix.com wrote:

> On 10 Jul, 08:37 pm, gl...@twistedmatrix.com wrote:
>> 
>> On Jul 10, 2014, at 12:32 PM, exar...@twistedmatrix.com wrote:
>>> 2) As a separate Python package, the logistics of actually using tubes are 
>>> simpler (just consider how you might declare a dependency on a branch of 
>>> Twisted - keeping in mind you may want to use tubes in a project that 
>>> already depends on some version of Twisted).  It may not make sense to say 
>>> that it is the same quality as Twisted proper right off the bat (on the 
>>> other hand, it may well - I suspect tubes in its current form actually is a 
>>> lot higher quality than large sections of Twisted) but that doesn't mean 
>>> people (not to mention the tubes project) can't benefit from being able to 
>>> experiment with it.
>> 
>> I would love it if there were a way to release a package in an actually 
>> experimental state, and not just have the release of a package implicitly 
>> tell people that it's time to put it into production and demand long-term 
>> support for it.  Quick sanity check: go run 'pip freeze' in a production 
>> virtualenv you're running - what percentage of the version numbers that come 
>> back start with a zero?  I will bet a significant amount of money that it's 
>> not 0% :-).
>> 
>> As it stands, if you're not willing to use a random outdated branch of 
>> Twisted with unknown bugs that may change without warning, you're probably 
>> not willing to adopt Tubes yet.
> 
> I think you missed part of my point here.
> 
> I want to try tubes and see if they make my application simpler or better or 
> faster or whatever.  My application depends on Twisted >= 14.0.0.  It doesn't 
> matter how or why: that's what the metadata says and I can't use an older 
> version of Twisted unless I do a bunch of stupid package/distribution related 
> hacking that I don't want to do.  *So* much of the Python tooling has now 
> moved to requiring and respecting explicit dependency declarations that 
> trying to side-step these now is a significant hassle.  Separating tubes from 
> Twisted solves this problem.
> 
> It's not at all a question of whether the code is stable or production ready 
> or even works at all, it's a matter of packaging constraints.

If you want to set up a development environment to work on this and try it out, 
I think you can do it right now.  I believe this simple and intuitive 
incantation will work:

pip install -e 
'git+...@github.com:/twisted/twisted@3c10ad3323f86d7194a3a4c9fd4e2e1bcd441fec#egg=Twisted-tubes-1956-7'

That's a post-14.0.0 package with the appropriate metadata (and I didn't cheat 
and merge forward first or anything, this is the most recent branch as of 
several weeks now).  Doing exactly that in a mktmpenv and then doing 'pip 
install twisted==14.0.0' results in a 'requirement already satisfied' for me, 
and everything imports as expected.

I think there's still probably stuff to talk about regarding the rest of your 
message but if this can get you past your immediate hurdle that would be great 
:).

-glyph


_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to