# Core API reference

The API reference is generated with Sphinx autodoc from docstrings in `serialx`.

```{toctree}
:maxdepth: 1
:caption: Platform APIs

api/platforms/posix
api/platforms/extended-posix
api/platforms/linux
api/platforms/darwin
api/platforms/freebsd
api/platforms/win32
api/platforms/socket
api/platforms/rfc2217
api/platforms/esphome
```

## Top-level package

```{eval-rst}
.. automodule:: serialx
   :members:
   :member-order: bysource
```

## Core modules

### `serialx.common`

```{eval-rst}
.. automodule:: serialx.common
   :members:
   :member-order: bysource
```

### `serialx.serialutil`

```{eval-rst}
.. automodule:: serialx.serialutil
   :members:
   :member-order: bysource
```

### `serialx.async_serial`

```{eval-rst}
.. automodule:: serialx.async_serial
   :members:
   :member-order: bysource
```
