Skip to main content

Rugged Science SDK Python Bindings

Project description

Python SDK

This is a wrapper around the Rugged Science SDK. For more information about the available APIs see the librsdio and librspoe docs.

Installing

The package can be installed either by compiling the sources or installing via python -m pip install rssdk.

Dio Example

from rssdk import RsDio, OutputMode

dio = RsDio()
if not dio.setXmlFile("ecs9000.xml"):
    print(dio.getLastError())
    exit(1)

dio.setOutputMode(1, OutputMode.ModeNpn)

dio.digitalRead(1, 1)
dio.digitalWrite(1, 11, True)

PoE Example

from rssdk import RsPoe, PoeState

poe = RsPoe()
if not poe.setXmlFile("ecs9000.xml"):
    print(dio.getLastError())
    exit(1)

poe.getPortState(3)
poe.setPortState(PoeState.StateDisabled)

Compiling

A source distribution and a wheel can be built from sources. The following steps assume you already have git, a compiler, Python, and CMake installed in standard locations and in the users path.

  1. Clone the repository using git and change directory into the newly created folder.

    git clone https://github.com/ruggedscience/SDK-python
    cd SDK-python
    
  2. The SDK sources are kept in a seperate repositry and are added as a submodule. By default git doesn't pull submodules.

    git submodule init
    git submodule update
    
  3. Now all of the sources should be available to be built. It's best practice to create a seperate build directory to isolate the build files from the source files.

    mkdir build
    cd build
    
  4. Next the cmake configuration files need to be created. If the environment changes, such as the when switching between Python virtual environments, this command needs to be rerun.

    cmake ..
    
  5. Lastly run the following command to build the source distribution and wheel for the current platform and Python version.

    cmake --build .
    

This should result in two Python build artifacts in the build directory: rssdk-*.tar.gz and rssdk-*.whl.

The .tar.gz file is the source distribution. This can be installed on different platforms and Python versions using python -m pip install rssdk-*.tar.gz but will be compiled at the time of install. This means the system it is being installed on will need to have a compiler available.

The .whl is platform and Python version specific and can only be installed in environments with the exact same configuration. It can be installed using python -m pip install rssdk-*.whl

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rssdk-0.8.tar.gz (205.2 kB view hashes)

Uploaded Source

Built Distributions

rssdk-0.8-pp39-pypy39_pp73-win_amd64.whl (124.6 kB view hashes)

Uploaded PyPy Windows x86-64

rssdk-0.8-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (228.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rssdk-0.8-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (243.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

rssdk-0.8-pp38-pypy38_pp73-win_amd64.whl (124.2 kB view hashes)

Uploaded PyPy Windows x86-64

rssdk-0.8-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (228.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rssdk-0.8-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (242.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

rssdk-0.8-pp37-pypy37_pp73-win_amd64.whl (124.3 kB view hashes)

Uploaded PyPy Windows x86-64

rssdk-0.8-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (233.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rssdk-0.8-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (248.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

rssdk-0.8-cp311-cp311-win_amd64.whl (137.7 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

rssdk-0.8-cp311-cp311-win32.whl (122.6 kB view hashes)

Uploaded CPython 3.11 Windows x86

rssdk-0.8-cp311-cp311-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

rssdk-0.8-cp311-cp311-musllinux_1_1_i686.whl (1.7 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

rssdk-0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

rssdk-0.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

rssdk-0.8-cp310-cp310-win_amd64.whl (136.8 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

rssdk-0.8-cp310-cp310-win32.whl (121.7 kB view hashes)

Uploaded CPython 3.10 Windows x86

rssdk-0.8-cp310-cp310-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

rssdk-0.8-cp310-cp310-musllinux_1_1_i686.whl (1.7 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

rssdk-0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

rssdk-0.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

rssdk-0.8-cp39-cp39-win_amd64.whl (138.0 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

rssdk-0.8-cp39-cp39-win32.whl (122.7 kB view hashes)

Uploaded CPython 3.9 Windows x86

rssdk-0.8-cp39-cp39-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

rssdk-0.8-cp39-cp39-musllinux_1_1_i686.whl (1.7 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

rssdk-0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

rssdk-0.8-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

rssdk-0.8-cp38-cp38-win_amd64.whl (138.1 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

rssdk-0.8-cp38-cp38-win32.whl (122.7 kB view hashes)

Uploaded CPython 3.8 Windows x86

rssdk-0.8-cp38-cp38-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

rssdk-0.8-cp38-cp38-musllinux_1_1_i686.whl (1.7 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

rssdk-0.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

rssdk-0.8-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

rssdk-0.8-cp37-cp37m-win_amd64.whl (138.8 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

rssdk-0.8-cp37-cp37m-win32.whl (122.6 kB view hashes)

Uploaded CPython 3.7m Windows x86

rssdk-0.8-cp37-cp37m-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

rssdk-0.8-cp37-cp37m-musllinux_1_1_i686.whl (1.7 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

rssdk-0.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

rssdk-0.8-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page