*********
Utilities
*********

Nengo provides various utility functions in the ``nengo.utils`` module.
In general, anything in this module
should not be considered part of the core API.
This functionality may move or change
with less notice than we provide for the core API,
and it is not as thoroughly tested.

These utilities are mainly designed for internal use within Nengo,
but we expose them as they may be useful to some users.

Builder
=======

.. automodule:: nengo.utils.builder

   .. autoautosummary:: nengo.utils.builder
      :nosignatures:

Cache
=====

.. automodule:: nengo.utils.cache

   .. autoautosummary:: nengo.utils.cache
      :nosignatures:

Connection
==========

.. automodule:: nengo.utils.connection

   .. autoautosummary:: nengo.utils.connection
      :nosignatures:

Ensemble
========

.. automodule:: nengo.utils.ensemble

   .. autoautosummary:: nengo.utils.ensemble
      :nosignatures:

Filter design
=============

.. automodule:: nengo.utils.filter_design

   .. autoautosummary:: nengo.utils.filter_design
      :nosignatures:

Functions
=========

.. automodule:: nengo.utils.functions

   .. autoautosummary:: nengo.utils.functions
      :nosignatures:

Graphs
======

.. automodule:: nengo.utils.graphs

   .. autoautosummary:: nengo.utils.graphs
      :nosignatures:

IPython
=======

.. automodule:: nengo.utils.ipython

   .. autoautosummary:: nengo.utils.ipython
      :nosignatures:

Lock
====

.. automodule:: nengo.utils.lock

   .. autoautosummary:: nengo.utils.lock
      :nosignatures:

Magic
=====

.. autofunction:: nengo.utils.magic.decorator

Matplotlib
==========

.. automodule:: nengo.utils.matplotlib

   .. autoautosummary:: nengo.utils.matplotlib
      :nosignatures:

NCO
===

.. automodule:: nengo.utils.nco

   .. autoautosummary:: nengo.utils.nco
      :nosignatures:

Network
=======

.. automodule:: nengo.utils.network

   .. autoautosummary:: nengo.utils.network
      :nosignatures:

Numpy
=====

.. automodule:: nengo.utils.numpy

   .. autoautosummary:: nengo.utils.numpy
      :nosignatures:

Paths
=====

.. automodule:: nengo.utils.paths

   .. autoautosummary:: nengo.utils.paths
      :nosignatures:

Progress bars
=============

.. automodule:: nengo.utils.progress

   .. autoautosummary:: nengo.utils.progress
      :nosignatures:

Simulator
=========

.. automodule:: nengo.utils.simulator

   .. autoautosummary:: nengo.utils.simulator
      :nosignatures:

stdlib
======

.. automodule:: nengo.utils.stdlib

   .. autoautosummary:: nengo.utils.stdlib
      :nosignatures:

Testing
=======

.. automodule:: nengo.utils.testing

   .. autoautosummary:: nengo.utils.testing
      :nosignatures:

Threading
=========

.. automodule:: nengo.utils.threading

   .. autoautosummary:: nengo.utils.threading
      :nosignatures:
