/** @addtogroup clientlibs Client Libraries */ /** @{ */ /** @defgroup player_clientlib_libplayerc_py libplayerc_py Python bindings for @ref player_clientlib_libplayerc are generated automatically using SWIG. The bindings are object-oriented, using standard Python classes (for those familiar with SWIG, these are standard SWIG shadow classes). @section libplayerc_py_usage General usage @ref player_clientlib_libplayerc is based on a device proxy model, in which the client maintains a local proxy for each of the devices on the remote server. Thus, for example, one can create local proxies for the `position` and `laser` devices. There is also a special `client` proxy, used to control the Player server itself. Programs using the libplayerc Python bindings will generally have the following structure: @include joydrive.py.doc The steps in this program mirror those described for standard C clients. The key syntactical difference between the C-version and the Python version is the use of Python's object-oriented features. @section libplayerc_py_ref Proxy reference Generally speaking, the Python bindings are one-to-one mappings to the libplayerc API. Thus, the C documentation can be used as a guide, so long as one makes some minor mental translations; e.g.: @verbatim proxy = playerc_position_create(...); -> proxy = playerc_position(...) playerc_position_set_speed(proxy, ...); -> proxy.set_speed(...) @endverbatim Detailed information for each C proxy can be found in the Reference section. */