# API reference

- Core API
  - Message constructors
  - Parsing
  - Message objects
  - Exceptions
  - Enums & Flags
  - Matching messages
- Common messages
  - `Properties`
  - `Introspectable`
  - `DBus`
  - `Monitoring`
- Authentication
  - `make_auth_external()`
  - `make_auth_anonymous()`
  - `BEGIN`
  - `Authenticator`
  - `AuthenticationError`
  - `FDNegotiationError`
  - Typical flow
- File descriptor support
  - `FileDescriptor`
  - `NoFDError`

I/O integrations

- Blocking I/O
  - `open_dbus_connection()`
  - `DBusConnection`
  - `Proxy`
- Blocking I/O with threads
  - `open_dbus_router()`
  - `DBusRouter`
  - `Proxy`
  - `open_dbus_connection()`
  - `DBusConnection`
- Trio integration
  - `open_dbus_router()`
  - `DBusRouter`
  - `Proxy`
  - `open_dbus_connection()`
  - `DBusConnection`
- Asyncio integration
  - `open_dbus_router()`
  - `DBusRouter`
  - `Proxy`
  - `open_dbus_connection()`
  - `DBusConnection`
- I/O Exceptions
  - `RouterClosed`

There is also a deprecated `jeepney.io.tornado` integration. Recent versions of Tornado are built on asyncio, so you can use the asyncio integration with Tornado applications.