[Stackless] Interested in helping out Stackless?
richard.m.tew at gmail.com
Sun Aug 15 15:36:21 CEST 2010
Just a periodic email that if you are interested in getting involved
in a project, and Stackless is of interest to you, then there are
always a myriad of options available for you to choose from. We'll
help you help us in improving Stackless, but we don't have the time to
spoon feed you. Some potential projects are listed below. Patches
are preferred for now, although we are more than willing to arrange
SVN access to anyone who it becomes beneficial to give it to, after
they have proven themselves.
I currently do the releases. But if someone else wants to take a
turn, then it would be good experience getting more familiar with both
Stackless and normal Python at a level where only nominal programming
knowledge is needed.
- Doing the merge of the released revision of normal Python into the
corresponding Stackless branch.
- Running the unit tests for normal Python on both Linux and Windows.
- Running the unit tests for Stackless on both Linux and Windows.
- Generating an export of the source code as a bzip2 tar file.
- Building the Windows installer.
- Testing the Windows installer.
The two main time sinks here are doing the merge, and the Windows
related aspects. If those are removed, there is little work left. So
ideally whomever would like to do this would have Windows and the
correct version of Visual Studio for Python development installed.
At some point I decided that I wanted to have a monkey-patched socket
object, that looked and worked exactly like the standard Python socket
object, but worked with Stackless. So now we have stacklesssocket.py,
which surprisingly people use. But there are a lot of other resources
in the Python standard library which the same could be done for, so
that they can be used with Stackless as well without blocking the
Take a look at gevent for an example of how far this can be taken:
To some degree, the code from gevent may be able to be abstracted so
that it can serve both projects. But gevent is based on libevent, and
this is a dependency that should be able to be wholly or partially
done away with. It should be possible to write this support using
standard library resources, whether asyncore or ctypes.
We have a basic set of documentation that I wrote in the 2.6 branch.
But it needs to be edited and merged into the other branches, and
modified to be correct for each branch. While it might generally be
identical for the 2.x branches, obviously the examples at least will
be different for 3.x. While my wording could use a clean up, and it
would be good it spread throughout all the in-use branches, there's
also potential to extend it in any way that would fit in the official
Potential tasks (don't have to do all of them, any are fine):
- Merge the documentation around the branches and ensure it builds.
- Extend the documentation in place, whether branch specific (2.x,3.x)
or new information.
- Edit the prose of the existing documentation. Once I've spent a lot
of time writing text, I become blind to how the prose runs, so I often
come back and admire how bad it is.
A new web site
Currently we are using ZWiki and Zope to host both the web site and
the wiki. However, this is unmaintainable and a nuisance to
administer. It would be good to upgrade to a more modern CMS
solution, but to keep the URLs we currently have if possible so that
existing links are not broken.
If you have the time and interest to do something about this, then it
would be good to make progress on this finally.
Anyway, these are just a couple of ideas off the top of my head.
More information about the Stackless