# MXNet - Python API

MXNet provides a rich Python API to serve a broad community of Python developers.
In this section, we provide an in-depth discussion of the functionality provided by
various MXNet Python packages. We have included code samples for most of the APIs
for improved clarity. These code samples will run as-is as long as MXNet is first
imported by running:

```python
>>> import mxnet as mx
```

```eval_rst

.. note:: A convenient way to execute examples is the ``%doctest_mode`` mode of
    Jupyter notebook, which allows for pasting multi-line examples containing
    ``>>>`` while preserving indentation. Run ``%doctest_mode?`` in Jupyter notebook
    for more details.

```

## NDArray API

```eval_rst
.. toctree::
   :maxdepth: 1

   ndarray/ndarray.md
   ndarray/random.md
   ndarray/linalg.md
   ndarray/sparse.md
   ndarray/contrib.md
```

## Symbol API

```eval_rst
.. toctree::
   :maxdepth: 1

   symbol/symbol.md
   symbol/random.md
   symbol/linalg.md
   symbol/sparse.md
   symbol/contrib.md
   symbol/rnn.md
```

## Module API

```eval_rst
.. toctree::
   :maxdepth: 1

   module/module.md
   executor/executor.md
```

## Autograd API

```eval_rst
.. toctree::
   :maxdepth: 1

   autograd/autograd.md
```

## Gluon API

```eval_rst
.. toctree::
   :maxdepth: 1

   gluon/gluon.md
   gluon/nn.md
   gluon/rnn.md
   gluon/loss.md
   gluon/data.md
   gluon/model_zoo.md
   gluon/contrib.md
```

## KVStore API

```eval_rst
.. toctree::
   :maxdepth: 1

   kvstore/kvstore.md
```

## IO API

```eval_rst
.. toctree::
   :maxdepth: 1

   io/io.md
```

## Image API

```eval_rst
.. toctree::
   :maxdepth: 1

   image/image.md
```

## Optimization API

```eval_rst
.. toctree::
   :maxdepth: 1

   optimization/optimization.md
```

## Callback API

```eval_rst
.. toctree::
   :maxdepth: 1

   callback/callback.md
```

## Metric API

```eval_rst
.. toctree::
   :maxdepth: 1

   metric/metric.md
```

## Run-Time Compilation API

```eval_rst
.. toctree::
   :maxdepth 1

   rtc/rtc.md
```

## Contrib Package

```eval_rst
.. toctree::
   :maxdepth: 1

   contrib/contrib.md
   contrib/text.md
```
