Skip to main content
Python language bindings for ev3dev
===================================

This is a python library implementing unified interface for ev3dev_ devices.
The source code is hosted at https://github.com/ddemidov/ev3dev-lang-python.

.. _ev3dev: http://ev3dev.org

Installation
------------

* Prerequisites:

.. code-block:: bash

apt-get install libboost-python1.55.0 python-setuptools python-pil

These should be enough to install and use the library on your ev3. If you want
to install it on your main computer (for example, to let your IDE of choice
know about the library), or compile the library from source, you will also need
to install `libboost-python1.55-dev`.

* Now, the actual module installation:

.. code-block:: bash

easy_install -U python-ev3dev

Same command will upgrade already installed package to the latest available
version.

Usage
-----

Take a look at the provided demos_. The autogenerated reference
documentation is hosted at http://ddemidov.github.io/ev3dev-lang-python.

.. _demos: https://github.com/ddemidov/ev3dev-lang-python/tree/master/demo

Here is a simple example of running a large EV3 motor connected to output port
`A` for three seconds:

.. code-block:: python

>>> import ev3dev
>>> m = ev3dev.large_motor('outA')
>>> m.connected
True
>>> m.run_timed(time_sp=3000, duty_cycle_sp=75)

Remote operation
^^^^^^^^^^^^^^^^

.. highlight:: bash

There are a couple of options for running python code remotely on the EV3
(aside from obvious choice of doing everything in ssh session).

First, you can install `IPython Notebook`_ with:

.. code-block:: bash

apt-get install ipython-notebook

and `access the notebook server`_ from your main computer. There is a `nice
post`_ by Laurens Valk showing this in action. Unfortunately, the IPython
process seems to be rather heavy for the limited EV3 resources, and the
experience tends to deteriorate with time.

The second option is using RPyC_ (Remote Python Call) library. It may be
installed with:

.. code-block:: bash

pip install rpyc


You need to install it both on the EV3 and on the remote host.
After that, once you launch RPyC server with `rpyc_classic.py` command on the
EV3, you can connect to the server from your main computer:

.. code-block:: python

>>> import rpyc
>>> c = rpyc.classic.connect("192.168.10.42")

The parameter to `connect()` function is the host name or the ip address of the
EV3. After the connection is made, you can import the `ev3dev` module
remotely:

.. code-block:: python

>>> ev3dev = c.modules.ev3dev
>>> m = ev3dev.large_motor('outA')
>>> m.connected
True
>>> m.run_timed(time_sp=3000, duty_cycle_sp=75)

Note that the code is the same as in the example above once you connect to
remote RPyC server, although its run from a different machine. This may be used
either for interactive developing, or to run resource-heavy programs.

.. _IPython Notebook: http://ipython.org
.. _access the notebook server: https://coderwall.com/p/ohk6cg/remote-access-to-ipython-notebooks-via-ssh
.. _nice post: http://robotsquare.com/2014/06/12/linux-ev3/
.. _RPyC: https://rpyc.readthedocs.org/en/latest/

Metadata

Release files for python-ev3dev 0.2.2.post11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-ev3dev 0.2.2.post11
File Size Uploaded
python-ev3dev-0.2.2.post11.tar.gz 37.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for python-ev3dev 0.2.2.post11
File Interpreter ABI Platform
python_ev3dev-0.2.2.post11-py3.4-linux-armv5tejl.egg Legacy Egg format - - Details
python_ev3dev-0.2.2.post11-py2.7-linux-armv5tejl.egg Legacy Egg format - - Details

Total release size: 3.1 MB

Release files / python-ev3dev-0.2.2.post11.tar.gz

Download URL python-ev3dev-0.2.2.post11.tar.gz
Size 37.3 kB
Tags Source
SHA-256 checksum
How to use checksums
7a12a23f89c804e2029d099540f0f78796231cbf86931d3c6be7fcc0ba39eae5
BLAKE2b-256 checksum
How to use checksums
91c7120432a1ec9b5db0c20b4b82e857cc4a21959e539b308d504efdbb4bad75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / python_ev3dev-0.2.2.post11-py3.4-linux-armv5tejl.egg

Download URL python_ev3dev-0.2.2.post11-py3.4-linux-armv5tejl.egg
Size 1.5 MB
Tags Egg
SHA-256 checksum
How to use checksums
d9057f29532b20593b2eea9d063e02643b62fda8bf67d569b79e10256dbe7abc
BLAKE2b-256 checksum
How to use checksums
4e1af52ca0944dcc2502c862ad7a75df4450e3d094e509732ebde71ab05f59c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / python_ev3dev-0.2.2.post11-py2.7-linux-armv5tejl.egg

Download URL python_ev3dev-0.2.2.post11-py2.7-linux-armv5tejl.egg
Size 1.5 MB
Tags Egg
SHA-256 checksum
How to use checksums
ab4924404383e50af678a19ece2fe8ed74939c1bc3d0a8fbfc0a0b7c73cc9cca
BLAKE2b-256 checksum
How to use checksums
5f8e02c7f990407890fb4a568951983c30f5dcd29889275b893135124de4f8be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.2.0

1 release file

1.0.0

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.0

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.0

5 release files

This release

0.2.2.post11 This release

3 release files

0.2.2

5 release files

0.2.1

1 release file

0.2.0

1 release file

0.1.0

1 release file

0.0.4

1 release file

0.0.2

1 release file

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page