
Contents
********

* Tutorial
* The Little Relay that Could
* To Russia With Love
  * Using PycURL
  * Using SocksiPy
  * Reading Twitter
  * Custom Path Selection
* Tortoise and the Hare
* Mirror Mirror on the Wall
  * What is a descriptor?
  * Where do descriptors come from?
  * Where can I get the current descriptors?
  * Where can I get past descriptors?
  * Can I get descriptors from the Tor process?
  * Can I create descriptors?
  * Validating the descriptor's content
  * Saving and loading descriptors
  * Putting it together...
  * Are there any other parsing libraries?
  * Stem Example
  * Metrics-lib Example
  * Zoossh Example
* Over the River and Through the Wood
  * Running a hidden service
  * Hidden service authentication
  * Ephemeral hidden services
  * Hidden service descriptors
* East of the Sun & West of the Moon
  * Terminal Styling
  * Multiprocessing
  * Connection Resolution
* Down the Rabbit Hole
  * Getting started
  * What can I do with it?
  * Event handling
  * Running individual commands
* Double Double Toil and Trouble
* Applications
* Scripts
  * Client Usage
  * Relays
  * Descriptors
* Comparing Directory Authority Flags
* Determine The Exit You're Using
* List Circuits
* Connection Summary
* List Outdated Relays
* Saving and Loading a Tor Consensus
* Votes by Bandwidth Authorities
* Change Log
  * Versioning
  * Unreleased
  * Version 1.7 (October 7th, 2018)
  * Version 1.6 (November 5th, 2017)
  * Version 1.5 (November 20th, 2016)
  * Version 1.4 (May 13th, 2015)
  * Version 1.3 (December 22nd, 2014)
  * Version 1.2 (June 1st, 2014)
  * Version 1.1 (October 14th, 2013)
  * Version 1.0 (March 26th, 2013)
* Download
* Frequently Asked Questions
* General Information
  * What is Stem?
  * Does Stem have any dependencies?
  * What Python versions is Stem compatible with?
  * Can I interact with Tor's controller interface directly?
  * Are there any other controller libraries?
  * What license is Stem under?
  * Where can I get help?
* Usage
  * How do I connect to Tor?
  * How do I request a new identity from Tor?
  * How do I reload my torrc?
  * How do I read *.tar.xz descriptor archives?
  * What is that 'with' keyword I keep seeing in the tutorials?
* Development
  * How do I get started?
  * How do I run the tests?
  * How can I test compatibility with multiple python versions?
  * How do I build the site?
  * What is the copyright for patches?
* API
  * Controller
  * Descriptors
  * Utilities
* Controller
  * Exceptions and Attribute Enums
* Controller Connection
* Control Socket
* Tor Process
* Controller Responses
  * Responses
  * Events
* Exit Policy
* Manual
* Version
* Certificate
* Descriptor
* Server Descriptor
* Extrainfo Descriptor
* MicroDescriptor
* Network Status Documents
* Router Status Entries
* Hidden Service Descriptor
* TorDNSEL Exit Lists
* Descriptor Exporter
* Descriptor Reader
* Descriptor Remote
* Util
* Configuration File Handling
* Connection Utilities
* Enumerations
* Logging
* Proc Utilities
* String Utilities
* System Utilities
* Terminal Utilities
* Test Utilities
* Tor Utilities