Context Navigation

About Stackless

An introduction for newcomers

Stackless Python is an enhanced version of the
Python programming language. It allows programmers
to reap the benefits of thread-based programming
without the performance and complexity problems
associated with conventional threads. The microthreads
that Stackless adds to Python are a cheap and
lightweight convenience which can if used properly,
give the following benefits:

Improved program structure.

More readable code.

Increased programmer productivity.

Features

For all the convenience gained through using Stackless,
there is really only a minimal amount of functionality
exposed through the stackless module. You can get
more familiar with these aspects by reading the
nformation provided in the following pages:

Microthreads: tasklets wrap functions allowing
them to be launched as microthreads.

Channels: channels can be used for
bidirectional communication between tasklets.

Scheduling: a round robin scheduler is built
in. It can be used to schedule tasklets either
cooperatively or preemptively.

Serialisation: tasklets can be serialised to disk
through pickling for later resumption of execution.

Further reading material

Applications: some of the businesses and
projects that Stackless Python has been used by.

Getting started

Installation

You either need to compile your own copy from the source
code in the Mercurial repository or alternatively
obtain a provided precompiled binaries, especially if
you use Microsoft Windows, to install over those in your
existing Python installation.

Learning to use Stackless

There are currently five main places that you can look to
for information on how to use Stackless:

Stackless Development

Support Stackless!

Developing Stackless into a rock solid basis for applications
is a lot of hard work and it needs more Sprints and
much of my personal time. You can help me by sending money.
The more money I get for working on Stackless, the more I
can reduce work on other projects, since I have to feed a
big family.

A number of people said that they would like to sponsor me
with a little amount if it were easy to do. Therefore, I
signed up with PayPal, where you can send your contribution
quite easily:

<- please click here for PayPal!

Please enter a note whether you would like to be listed
on the sponsorship page. Thanks in advance!

Acknowledgements

I wish to thank Michael Hudson, Sam Rushing and Will
Ware for their help on the Linux build and for their
valuable input. Just van Rossum and Mike Fletcher for
working with Will on the Microthreads. Stephen R. Figgins
and David Mertz for their articles, and Cameron Laird
for preparing even an article series. Gordon McMillan
for his nice introduction, and for not yet writing the
PEPs (you know what I mean :), CCPGames for their
ongoing sponsorship, IronPort for hiring me part-time,
Bernd Rinn for building RPM files, all the many other
which I forgot to add to this page...

... and Guido van Rossum for still not sending the
Spanish Inquisition.