- Notifications
You must be signed in to change notification settings - Fork61
Home
Stackless Python is an enhanced version of thePython programming language. It allows programmersto reap the benefits of thread-based programmingwithout the performance and complexity problemsassociated with conventional threads. The microthreadsthat Stackless adds to Python are a cheap andlightweight convenience which can if used properly,give the following benefits:
- Improved program structure.
- More readable code.
- Increased programmer productivity.
For all the convenience gained through using Stackless,there is really only a minimal amount of functionalityexposed through the stackless module. You can getmore familiar with these aspects by reading theinformation provided in the following pages:
- Microthreads: tasklets wrap functions allowingthem to be launched as microthreads.
- Channels channels can be used forbidirectional communication between tasklets.
- Scheduling a round robin scheduler is builtin. It can be used to schedule tasklets eithercooperatively or preemptively.
- Serialisation: tasklets can be serialised to diskthrough pickling for later resumption of execution.
- FAQ frequently asked questions.
- Examples: useful or descriptive pieces of code thatshows Stackless functionality in use.
- Idioms common patterns in using StacklessPython in code.
- Applications some of the businesses andprojects that Stackless Python has been used by.
Ourdownload page provides released source archivesand a few pre-compiled installers[*]. Alternatively you fetch the latestsource from thisGit repository.
If you need to compile your own copy from source, simply follow the instructionsin the README file of the source code. The installation process doesn't differfrom regular C-Python.
There are currently five main places that you can lookfor information on how to use Stackless:
Please feel free to email themailing list with anyquestions you may have or to ask in theIRC room.
Very old and outdated documentation can also be found on theoriginal Stackless site and in the paperContinuations and Stackless Python.
If you found abug,want tobrowse the source code,or have apull request,have a look at theStackless project pageat GitHub.
If you are a Stackless core developer, you may be interested in the following pages:
Developing Stackless into a rock solid basis for applicationsis a lot of hard work and it needs moreSprints andmuch of my personal time. You can help me by sending money.The more money I get for working on Stackless, the more Ican reduce work on other projects, since I have to feed abig family.
A number of people said that they would like to sponsor mewith a little amount if it were easy to do. Therefore, Isigned up with PayPal, where you can send your contributionquite easily:
<- please click here for PayPal!Please enter a note whether you would like to be listedon the sponsorship page. Thanks in advance!
I wish to thank Michael Hudson, Sam Rushing and WillWare for their help on the Linux build and for theirvaluable input. Just van Rossum and Mike Fletcher forworking with Will on the Microthreads. Stephen R. Figginsand David Mertz for their articles, and Cameron Lairdfor preparing even an article series. Gordon McMillanfor his nice introduction, and for not yet writing thePEPs (you know what I mean :),CCPGames for theirongoing sponsorship,IronPort for hiring me part-time,Bernd Rinn for building RPM files, all the many otherwhich I forgot to add to this page...
... and Guido van Rossum for still not sending theSpanish Inquisition.
[*] | Many years ago we used to provide precompiled binaries, suitable toinstall over those in your existing Python installation. This installationmethod is now deprecated. |
[†] | The original site is offline, the link points to a copy at theInternet Archive Wayback Machine.The last spapshot of the website can be found here:Last Site View. |