# Stem Docs

## Manual

Information available about Tor from its manual. This provides three methods of getting this information…

- `from_cache()` provides manual content bundled with Stem. This is the fastest and most reliable method but only as up-to-date as Stem’s release.

- `from_man()` reads Tor’s local man page for information about it.

- `from_remote()` fetches the latest manual information remotely. This is the slowest and least reliable method but provides the most recent information about Tor.

Manual information includes arguments, signals, and probably most usefully the torrc configuration options. For example, say we want a little script that told us what our torrc options do…

    from stem.manual import Manual
    from stem.util import term

    try:
      print("Downloading tor's manual information, please wait...")
      manual = Manual.from_remote()
      print("  done\n")
    except IOError as exc:
      print("  unsuccessful (%s), using information provided with stem\n" % exc)
      manual = Manual.from_cache()  # fall back to our bundled manual information

    print('Which tor configuration would you like to learn about?  (press ctrl+c to quit)\n')

    try:
      while True:
        requested_option = raw_input('> ').strip()

        if requested_option:
          if requested_option in manual.config_options:
            option = manual.config_options[requested_option]
            print(term.format('%s %s' % (option.name, option.usage), term.Color.GREEN, term.Attr.BOLD))
            print(term.format(option.summary, term.Color.GREEN))  # brief description provided by stem

            print(term.format('\nFull Description:\n', term.Color.GREEN, term.Attr.BOLD))
            print(term.format(option.description + '\n', term.Color.GREEN))
          else:
            print(term.format("Sorry, we don't have any information about %s. Are you sure it's an option?" % requested_option, term.Color.RED))
    except KeyboardInterrupt:
      pass  # user pressed ctrl+c

Module Overview:

    query - performs a query on our cached sqlite manual information
    is_important - Indicates if a configuration option is of particularly common importance.
    download_man_page - Downloads tor's latest man page.

    Manual - Information about Tor available from its manual.
     | |- from_cache - Provides manual information cached with Stem.
     | |- from_man - Retrieves manual information from its man page.
     | +- from_remote - Retrieves manual information remotely from tor's latest manual.
     |
     +- save - writes the manual contents to a given location

New in version 1.5.0.