Skip to main content

Python libraries to talk to IQ Motion Control devices

Project description

IQ Motion Python API

Python Build codecov tag release

This library is to talk to any IQ Control devices.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Installing with Pip

You can install this library using "pip":

pip install iqmotion

Installing locally

You can also use this library by cloning this repository.

Prerequisites

RECOMMENDED: All the prerequisits can be installed with pipenv:

pipenv install

All the prerequisits can also be installed from "requirements.txt".

pip install requirements.txt

Running the tests

You will need the following packages to run the tests:

  • pytest
  • pytest-cov

These should be installed automatically with pipenv or requirements.txt.
But you can also install these packages with pip:

pip install pytest
pip install pytest-cov

Software tests

You can then run the software tests with the following command:

pytest ./iqmotion/tests/ --cov-config=.coveragerc --cov=iqmotion --cov-fail-under=100

The test will fail if coverage is under 100%

Hardware tests

These tests need a module connected to your computer in order to run. You can run the test for different modules.
You can run the hardware tests with the following commands:

python run_hardware_tests.py speed --usb_handle=/dev/ttyUSB0
python run_hardware_tests.py servo --usb_handle=/dev/ttyUSB0
python run_hardware_tests.py step_dir --usb_handle=/dev/ttyUSB0

Make sure to chose the right IQ-module and the correct usb_handle for your computer.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Here is an example on how to create a new version change before pushing

semversioner add-change --type patch --description "my_changes"
semversioner add-change --type minor --description "my_changes"
semversioner add-change --type major --description "my_changes"

After being merged into master, you can bump the version and tag by running the following bash script:

./bump_version_and_tag.sh

Authors

  • Raphael Van Hoffelen

See also the list of contributors who participated in this project.

License

This project is licensed under the GPLv3 License - see the LICENSE file for details

Acknowledgments

  • Matt Piccoli for helping out debugging the architecture and continuously testing the API.

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

iqmotion-0.7.0.tar.gz (32.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iqmotion-0.7.0-py2.py3-none-any.whl (56.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file iqmotion-0.7.0.tar.gz.

File metadata

  • Download URL: iqmotion-0.7.0.tar.gz
  • Upload date:
  • Size: 32.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for iqmotion-0.7.0.tar.gz
Algorithm Hash digest
SHA256 f9f1e6cdea11fc6d73877d37c32901ec8ebb95410023e93a06d33231ce1481cc
MD5 2224d6d6290d57d12968d1f930e92bb6
BLAKE2b-256 ab43ab473e9715a111ae154941e02f1d62071e082992c36eccefee1858f418eb

See more details on using hashes here.

File details

Details for the file iqmotion-0.7.0-py2.py3-none-any.whl.

File metadata

  • Download URL: iqmotion-0.7.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 56.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for iqmotion-0.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d9488712556064fe2fe18db4746d4b4840cf33e5b754be14cf22ce415a5968c6
MD5 1c546b055935adc8342bc758d5486b16
BLAKE2b-256 3b362e644110fd841b230954b629f4ca1beec740d770ff8393f3093081d23911

See more details on using hashes here.

Supported by

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