Stem is a python controller library for Tor. Like its predecessor, TorCtl, it uses Torís control protocol to help developers program against the Tor process, enabling them to build things similar to Vidalia & Arm.
Stem is currently developed & maintained by atagar for the Tor software.
Stem is a controller library with a similar scope to TorCtl, but with better testing, documentation, and API. The project is not yet feature complete.
Stem is under the LGPLv3 which is a fine license, but poses a bit of a problem for sharing code with our other projects (which are mostly BSD). To share code without needing to hunt down prior contributors we need an individual to have the copyright for the whole stem codebase. This is Damian at present, but I'll probably give it to Tor if I get nailed by a bus.
There is no official support for Stem. Your best bet is to try the following:
If you have pip installed then getting stem can be as simple as...
% pip install stemAlthough, if you want to confgure & install latest Stem, you can download Stem Source code from it's git repository.
% git clone https://git.torproject.org/stem.gitThen, run setup.py -
% python ./setup.pyAlso, this page can be of help.
Stem uses semantic versioning, which means that versions consist of three numbers (such as Ď1.2.4Ď). These are used to convey the kind of backward compatibility a release has...
Stem supports both Python 27 & Python 3.x by using 2to3. To install the Python 3.x version of Stem,
% python3 setup.py --python3For developers, to run tests for Python 3 version,
% python3 run_tests.py --integ --python3
The API page would be a good place to begin with.
A variety of Tutorials are also available.