<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hi all, and those explicitly addressed,<br>
<br>
first of all, I'm happy that my talk worked quite ok, and that
Guido<br>
reacted very positively on the idea of making it pip-installable,<br>
including virtualenv.<br>
<br>
Of course we are cheating quite a bit, because stackless is not<br>
really a package, but suffers that little wart of "being an
executable after all".<br>
<br>
And today, I heard the talk of Mark Shannon which was just great.<br>
I'm sitting in the shadow at the conference, let the impressions<br>
flow, and try to get something sorted out.<br>
<br>
On Stackless PyPy:<br>
----------------<br>
<br>
Yes, special care must be taken to at least pretend that we have
simple<br>
packages, although we don't.<br>
<br>
For instance, as you said, having PyPy installed and then with a
configured<br>
dependency of stackless-python, something like this will probable
happen<br>
right now (but I'm not sure how much checking stackless does right
now?)<br>
<br>
I guess, pypy running "pip install stackless-python" should right
now reject<br>
installation, since there is no stackless binary built for PyPy.<br>
<br>
I would imagine that, if done right, pypy running "pip install
stackless-python"<br>
should figure out that on PyPy, this only means to at most ensure
that the PyPy<br>
installation is able to "import stackless". If that works, then
PyPy was built with<br>
stackless support. Right now this is in some broken/unready state,
but will be<br>
working, pretty soon.<br>
<br>
On HotPy and Stackless<br>
---------------------<br>
<br>
As far as I understood Mark Shannon today, in some private chat
during lunch, HotPy<br>
does some changes to the obvious modules, like ceval.c (heavily),
typeobject.c<br>
and probably other kernel-related stuff (traceback, pystate etc.).<br>
I will need a closer look how these changes are made, and how
feasible it is<br>
to add a stackless version. I would like to implant the idea right
now and early<br>
enough. Right now I'm even wondering if HotPy is maybe better
suited to<br>
implement stackless features than CPython itself, because HotPy
does in the<br>
first place, what Stackless achieves painfully via crazy tricks:
Make CPython tail-recursive.<br>
So I have the gut feeling that Stackless-Hotpy could become a new
and possibly simpler<br>
branch, because all the hairy changes that are needed are already
in HotPy.<br>
<br>
But this still is Vodoo.<br>
<br>
In any case, I would like to encourage everybody to look into
HotPy and what<br>
we can do for it to thrive! It is a really nice improvement to
CPython and can become<br>
a valid alternative for people who cannot use PyPy right now.<br>
HotPy needs support, committers, repository, community, all of
that. And note<br>
that Guido is interested in it.<br>
I'm interested to contribute. Of course, I want it to have a
stackless option in every<br>
Python flavor.<br>
<br>
<br>
General thoughts on PIP and the future:<br>
----------------------------------<br>
<br>
I think the PIP approach to simplify stackless is very valid,
although it has<br>
its subleties, like "not scaling well". This can be improved and
better supported<br>
later. I think it is important, and to do it right now, to state a
fact. We then get into<br>
a better position, not asking for something to be included
somewhere, but to<br>
show that we have a pip installer, which puts us into a better
position.<br>
<br>
This kind of installation does not scale well, because if somebody
does a<br>
"pip install HotPy" after "pip install stackless-python", (s)he
will loose stackless.<br>
A better installer would need to know about these combinations and
to draw<br>
the appropriate decision when detecting an existing stackless. It
would need<br>
to download/unpack/build a stackless-enabled HotPy version (and
the right one),<br>
instead of failing.<br>
I think that could also have some impact on how easy_install and
distribute<br>
are developed further, since today this would not work at all.<br>
<br>
In any case, there _are_ certain projects that need a common way
to collaborate<br>
and give the user a hassle-free experience, as if they just were
simple<br>
packages. We need to support the useful and valid combination of
that and<br>
pretend composability to some extent.<br>
<br>
I think by doing so, we can avoid what happened to Stackless for
so many years:<br>
A niche-existence, where people were reluctant to try it.<br>
<br>
So in some sense, my idea is to start some "umbrella" project,
that gives smaller<br>
projects that need to change the interpreter binary a better
position. There is<br>
no longer every other single project in some concurrence with
CPython.<br>
I guess nobody ever wanted that. By doing a combined effort, we
instead<br>
would gain a positive, collaborative attitude:<br>
We all love CPython, and you get your choices to select what you
are<br>
specially interested in. That is where I want to go.<br>
<br>
Right now the choices seem to be<br>
HotPy<br>
Stackless<br>
PyPy (maybe, to some extent)<br>
<br>
but I'm open do discuss what else could go into this list.<br>
<br>
<br>
Umbrella-Project<br>
============<br>
<br>
Question:<br>
---------<br>
<br>
Should we come up with an umbrella project on BitBucket, for
instance<br>
<br>
"alternative-python" or "special-python"<br>
<br>
which then has<br>
<br>
- an installer project<br>
- HotPy<br>
- stackless<br>
- pypy (concerning setup issues)<br>
- (more proposals?)<br>
<br>
as repositories?<br>
<br>
Then this project would have its own mailing list and issue
tracker, and a couple<br>
of submitters.<br>
<br>
I would certainly like to be in this, as I'm interested in every
aspect of Python<br>
and how to support improvements in any direction.<br>
<br>
Q: would Jython fit into this picture as well?<br>
<br>
Please let me know your thoughts.<br>
I'm sitting at EuroPython, Florence including Friday and maybe
Sat. evening.<br>
Contact me by email or find me at the conference.<br>
Let's talk!<br>
<br>
Cheers -- Chris<br>
<br>
<br>
On 7/5/12 12:29 AM, Hervé Coatanhay wrote:<br>
</div>
<blockquote
cite="mid:CAPq7H1ZKBETRQd+TKA9Tso1e5crGyd4cWN6z3PPCndmaOA-Oow@mail.gmail.com"
type="cite">Hi all,
<div><br>
</div>
<div>I was wondering. Now that `stackless-python` is like any
other pypi package on a pip perspective, what will/should happen
if I want to use a package that has `stackless-python` as a
dependency in a pypy virtualenv ?</div>
<div><br>
</div>
<div>cheers,</div>
<div>Hervé<br>
<div class="gmail_quote">On Thu, Jun 28, 2012 at 8:42 PM,
Christian Tismer <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:tismer@stackless.com"
target="_blank">tismer@stackless.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Stefan,
<div class="im"><br>
<br>
On 6/28/12 5:37 PM, Stefan Drees wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Chris,<br>
<br>
Am 28.06.12 16:51, Christian Tismer wrote (slightly
edited):<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
...<br>
Stackless becomes a PyPI package that contains only
the binary and the<br>
few changed library modules.<br>
After<br>
pip install stackless-python<br>
<br>
you have stackless inside site-packages, and you get a
message that<br>
tells you<br>
<br>
"Along-side with pythonX.Y, you now have a
command<br>
slpythonX.Y which you can run as an
alternative"<br>
<br>
and you can also<br>
<br>
pip uninstall stackless-python<br>
</blockquote>
> ...<br>
<br>
to me this sounds good enough for easing the people into
wanting to try stackless out.<br>
<br>
Maybe a different name for the modified python eg.
matching the package name from the install command
stackless-python, stackless-python2.7 etc?<br>
</blockquote>
<br>
</div>
Possible. The name "stackless-python" was proposed in a
parallel<br>
discussion on the virtualenv list. Maybe it is better to use
a shorter<br>
name since I assume some laziness if people need this
package<br>
at all ;-)<br>
<br>
But there are many packages with a name different from what
gets<br>
installed - for instance distribute, which is cheating, it
just replaces<br>
the easy-install package with a different version.
<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I share the view, that a virtualenv is and should
allways be an additional option, transparent for the
package.<br>
</blockquote>
<br>
</div>
Yes. I thought things would be easier abusing virtualenv,
but that<br>
seems to be not true.<br>
<br>
So I ended up with a "piggy-back stackless".<br>
<br>
Btw., I am still playing with wild ideas, like on "import
stackless"<br>
replacing and restarting the interpreter completely...or
some other tricks<br>
that emulate an extension.<br>
But it is not trivial without a mechanism to intercept the
normal<br>
startup-code of cpython.<br>
<br>
Mayme I'll keep it simple and get somewhere at all ;-)<br>
<br>
cheers -- chris
<div class="HOEnZb">
<div class="h5"><br>
<br>
-- <br>
Christian Tismer :^) <mailto:<a
moz-do-not-send="true"
href="mailto:tismer@stackless.com" target="_blank">tismer@stackless.com</a>><br>
tismerysoft GmbH : Have a break! Take a
ride on Python's<br>
Karl-Liebknecht-Str. 121 : *Starship* <a
moz-do-not-send="true"
href="http://starship.python.net/" target="_blank">http://starship.python.net/</a><br>
14482 Potsdam : PGP key -> <a
moz-do-not-send="true" href="http://pgp.uni-mainz.de"
target="_blank">http://pgp.uni-mainz.de</a><br>
work <a moz-do-not-send="true"
href="tel:%2B49%20173%2024%2018%20776"
value="+491732418776" target="_blank">+49 173 24 18
776</a> mobile <a moz-do-not-send="true"
href="tel:%2B49%20173%2024%2018%20776"
value="+491732418776" target="_blank">+49 173 24 18
776</a> fax n.a.<br>
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C
5A3B 57F3 BF04<br>
whom do you want to sponsor today? <a
moz-do-not-send="true"
href="http://www.stackless.com/" target="_blank">http://www.stackless.com/</a><br>
<br>
<br>
_______________________________________________<br>
Stackless mailing list<br>
<a moz-do-not-send="true"
href="mailto:Stackless@stackless.com" target="_blank">Stackless@stackless.com</a><br>
<a moz-do-not-send="true"
href="http://www.stackless.com/mailman/listinfo/stackless"
target="_blank">http://www.stackless.com/mailman/listinfo/stackless</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Stackless mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Stackless@stackless.com">Stackless@stackless.com</a>
<a class="moz-txt-link-freetext" href="http://www.stackless.com/mailman/listinfo/stackless">http://www.stackless.com/mailman/listinfo/stackless</a></pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Christian Tismer :^) <a class="moz-txt-link-rfc2396E" href="mailto:tismer@stackless.com"><mailto:tismer@stackless.com></a>
tismerysoft GmbH : Have a break! Take a ride on Python's
Karl-Liebknecht-Str. 121 : *Starship* <a class="moz-txt-link-freetext" href="http://starship.python.net/">http://starship.python.net/</a>
14482 Potsdam : PGP key -> <a class="moz-txt-link-freetext" href="http://pgp.uni-mainz.de">http://pgp.uni-mainz.de</a>
work +49 173 24 18 776 mobile +49 173 24 18 776 fax n.a.
PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04
whom do you want to sponsor today? <a class="moz-txt-link-freetext" href="http://www.stackless.com/">http://www.stackless.com/</a></pre>
</body>
</html>