# Internal tools

Warning

This API is internal, for all practical purposes. Some of this may move to public API at some point. Until then, no external code should rely on anything in this section.

- `cache` — Utilities for implementing caches
  - `LRUDict`
- `e2etest` — Framework for writing integration tests for `aioxmpp`
  - Overview
  - Main API
  - Provisioners
- `network` — DNS resolution utilities
  - Configure the resolver
  - Querying records
  - SRV records
- `protocol` — XML Stream implementation
  - `XMLStream`
  - Utilities for XML streams
  - Enumerations
- `statemachine` – Utils for implementing a state machine
  - `OrderedStateMachine`
  - `OrderedStateSkipped`
- `tasks` – Manage herds of running coroutines
  - `TaskPool`
- `utils` — Internal utils
  - `namespaces`
  - `Namespaces`
  - `gather_reraise_multi()`
  - `mkdir_exist_ok()`
  - `to_nmtoken()`
  - `LazyTask`
  - `AlivenessMonitor`
  - `magicmethod()`
  - `proxy_property()`
- `xml` — XML utilities and interfaces for handling XMPP XML streams
  - Generating XML streams
  - Processing XML streams
  - Utility functions