Replace tpo git repository URL by gitlab
[stem.git] / docs / api.rst
blob58604e907227351c59a8c6acb4cd13d2fa8230bb
1 API
2 ===
4 Controller
5 ----------
7 * **Core**
9  * `stem.control <api/control.html>`_ - **Controller used to talk with Tor**.
10  * `stem.connection <api/connection.html>`_ - Connection and authentication to the Tor control socket.
11  * `stem.socket <api/socket.html>`_ - Low level control socket used to talk with Tor.
12  * `stem.process <api/process.html>`_ - Launcher for the Tor process.
13  * `stem.response <api/response.html>`_ - Messages that Tor may provide the controller.
15 * **Types**
17  * `stem.exit_policy <api/exit_policy.html>`_ - Relay policy for the destinations it will or won't allow traffic to.
18  * `stem.manual <api/manual.html>`_ - Information available about Tor from `its manual <https://www.torproject.org/docs/tor-manual.html.en>`_.
19  * `stem.version <api/version.html>`_ - Tor versions that can be compared to determine Tor's capabilities.
21 Descriptors
22 -----------
24 To read descriptors from disk use :func:`~stem.descriptor.__init__.parse_file`.
25 You can also use `stem.descriptor.remote <api/descriptor/remote.html>`_ to
26 download descriptors remotely like Tor does.
28 * **Classes**
30  * `stem.descriptor <api/descriptor/descriptor.html>`_ - Base class for descriptors.
31  * `stem.descriptor.server_descriptor <api/descriptor/server_descriptor.html>`_ - Relay and bridge server descriptors.
32  * `stem.descriptor.extrainfo_descriptor <api/descriptor/extrainfo_descriptor.html>`_ - Relay and bridge extrainfo descriptors.
33  * `stem.descriptor.microdescriptor <api/descriptor/microdescriptor.html>`_ - Minimalistic counterpart for server descriptors.
34  * `stem.descriptor.networkstatus <api/descriptor/networkstatus.html>`_ - Network status documents which make up the Tor consensus.
35  * `stem.descriptor.router_status_entry <api/descriptor/router_status_entry.html>`_ - Relay entries within a network status document.
36  * `stem.descriptor.hidden_service <api/descriptor/hidden_service.html>`_ - Descriptors generated for hidden services.
37  * `stem.descriptor.bandwidth_file <api/descriptor/bandwidth_file.html>`_ - Bandwidth authority metrics.
38  * `stem.descriptor.tordnsel <api/descriptor/tordnsel.html>`_ - `TorDNSEL <https://www.torproject.org/projects/tordnsel.html.en>`_ exit lists.
39  * `stem.descriptor.certificate <api/descriptor/certificate.html>`_ - `Ed25519 certificates <https://gitweb.torproject.org/torspec.git/tree/cert-spec.txt>`_.
41 * `stem.directory <api/directory.html>`_ - Directory authority and fallback directory information.
42 * `stem.descriptor.remote <api/descriptor/remote.html>`_ - Downloads descriptors from directory mirrors and authorities.
43 * `stem.descriptor.collector <api/descriptor/collector.html>`_ - Downloads past descriptors from `CollecTor <https://metrics.torproject.org/collector.html>`_.
45 Utilities
46 ---------
48 * `stem.util.conf <api/util/conf.html>`_ - Configuration file handling.
49 * `stem.util.connection <api/util/connection.html>`_ - Connection and IP related utilities.
50 * `stem.util.enum <api/util/enum.html>`_ - Enumeration class.
51 * `stem.util.proc <api/util/proc.html>`_ - Resource and connection usage via proc contents.
52 * `stem.util.str_tools <api/util/str_tools.html>`_ - String utilities.
53 * `stem.util.system <api/util/system.html>`_ - Tools related to the local system.
54 * `stem.util.term <api/util/term.html>`_ - Tools for interacting with the terminal.
55 * `stem.util.test_tools <api/util/test_tools.html>`_ - Static analysis checks and tools to help with test runs.
56 * `stem.util.tor_tools <api/util/tor_tools.html>`_ - Miscellaneous toolkit for working with tor.