- Build Status
- Installation (from PyPI)
- Working with Encrypted Device Data
- Installing Support for IOTile Based Devices
- Continuous Deployment
- Manually Releasing
- License
This repository contains the basic infrastructure needed build and interact with IOTile based devices. It is divided into a set of python packages that work together to create an extensible but easy to use framework that supports any IOTile device.
Read the latest Documentation!
Tool | PyPI Version |
---|---|
IOTile-Core | |
IOTile-Build | |
IOTile-Gateway | |
IOTile-SensorGraph | |
IOTile-Ship | |
IOTile-Test | |
IOTile-Cloud | |
BLED112-Plugin |
The core set of tools is divided into three pip installable packages
pip install iotile-core iotile-transport-bled112
If you also wish to use the IOTile build system to build IOTile components, you should also install IOTile-Build
pip install iotile-build
If you want to use the IOTile testing tools (necessary for testing CoreTools among other uses,
pip install iotile-test
If your devices are configured to protect the report data that they produce, you
need to install pycrypto
in order to CoreTools to be able to decrypt report
data. This is only necessary to view encrypted report data and, obviously,
also requires that you have access to the device in question's signing key.
Pycrypto can be installed using:
pip install pycrypto
If you are running on Windows, you may not have a compiler installed that is able to compile the PyCrypto package. Microsoft provides a free compiler that is easily installed here.
CoreTools just gives you the framework to interact with IOTile based devices. In order to control any given IOTile device, you need to also install a support package that contains support for that device. Support packages extend CoreTools to provide support for specific tiles.
There are currently no publicly available support packages, so please contact Arch to get access to private support packages.
Automatic release to pypi is handled by Travis CI every time a new tag is created on the master branch. The tags must have a specific naming format:
<distribution_name>-<version>
Where <distribution_name>
is the name of a specific component of CoreTools. Currently,
the known components are:
iotilecore
iotilebuild
iotilegateway
iotile_transport_bled112
iotile_transport_awsiot
iotiletest
iotilesensorgraph
The version must match the version that is encoded in version.py in the corresponding python distribution to be released and is checked in the release.py script before attempting to release.
Releasing new builds to pypi is handled by the scripts/release.py
script. The
script should be called with one argument, which is the name and version of the
distribution being released.
First, make sure all build requirements are satisfied:
> pip install -r build_requirements.txt
Then, release (for example iotilecore-X.Y.Z) using
> python scripts/release iotilecore-X.Y.Z
You need to have the following environment variables set correctly with pypi and slack secrets:
PYPI_USER
PYPI_PASS
SLACK_WEB_HOOK
This software is released under the terms of the LGPL v3 license. It includes pieces that are distributed under the terms of their own licenses. A list of included 3rd party software is described in the README files for each component of IOTile CoreTools.