Stem Release 1.1

by atagar | October 14, 2013

Hi all. After seven months of work I'm pleased to announce Stem's 1.1.0 release!

For those who aren't familiar with it, Stem is a Python library for interacting with Tor. With it you can script against your relay, descriptor data, or even write applications similar to arm and Vidalia.

So what's new in this release?

Remote Descriptor Fetching

The stem.descriptor.remote module allows you download current Tor descriptor data from directory authorities and mirrors, much like Tor itself does. With this you can easily check the status of the network without piggybacking on a local instance of Tor (or even having it installed).

For example...

from stem.descriptor.remote import DescriptorDownloader

downloader = DescriptorDownloader()

for desc in downloader.get_consensus().run():
print "found relay %s (%s)" % (desc.nickname, desc.fingerprint)
except Exception as exc:
print "Unable to retrieve the consensus: %s" % exc

Connection Resolution

One of arm's most popular features has been its ability to monitor Tor's connections, and stem can now do the same! Lookups are performed via seven *nix and FreeBSD resolvers, for more information and an example see our tutorials.

Numerous Features and Fixes

For a rundown of other changes see...

Cheers! -Damian


Please note that the comment area below has been archived.

October 24, 2013


Stem is an awesome library, however, I don't know if it's possible to control remote relays, in similar way when we use the Controller object to manage local instances... there's any way to do that?

November 23, 2013


This all seems great stuff you guys are putting out but I have to ask do we all have to be at the top of the Computer tree, as I am a sliver surfer and most of the things you write go straight over my head..