Skip to content
This repository has been archived by the owner on Feb 15, 2018. It is now read-only.

novalabsxyz/helium-python

Repository files navigation

helium-python

Build Status Build status Coverage Status Code Climate Docs

helium-python is a Python package for building applications with the Helium API. Helium is an integrated platform of smart sensors, communication, edge-compute and API that enables numerous sensing applications. For more information about the underlying REST API, check out the complete Helium documentation.

Installation

Assuming you're using pip, add this line to your setup.py:

requires = ['helium-python']

or to your requirements.txt file:

helium-python

Usage and Documentation

Please check out the helium-python documentation on Read the Docs for the latest examples and complete reference.

Development

In order to develop for helium-python you will need to install tox:

pip install tox

Since helium-python supports at least Python 2.7 and 3.5 you will need to have at least one of those installed on your development machine. The build automation will test all required versions when code is pushed to this repository.

Clone this repository and run:

$ tox

This will install the required packages and run the tests for the library. Installing tox removes the need to install or use virtualenv since tox manages virtual environments already.

By default the tests will replay back previously recorded API interactions. To affect how tests interact with the Helium API you will have to

  • Set a HELIUM_API_KEY environment variable to a valid Helium API key. For example in bash:
$ export HELIUM_API_KEY=<my api key>
  • Set HELIUM_RECORD_MODE to one of:

  • none - (default) Only play back recorded API interactions.

  • once - Only record interactions for which no recording exist. If you get an error message from betamax complaining about a recording not matching an interaction that means that your test has new API interactions with it. Remove the cassette referred to in the error message and run the test again to re-generate it .

We use flake8 to ensure we catch Python version differences and common pitfalls quicker. Please run:

$ tox -e lint

before you commit code and try to remove as many warnings as you can. Once we figure out how strict some of the documentation requirements need to be we will be running lint as part of automation.

In order to develop documentation you can run::

$ tox -e docs html

or to see your documentation changes live:

$ tox -e docs livehtml

To make a release tag the repository with a valid semantic version version and push tags. The build automation will automatically build and push releases to PyPi.

Helium Documentation and Community Support

  • Docs - Complete documenation for all parts of Helium can be found at docs.helium.com.

  • chat.helium.com - If you have questions or ideas about how to use this code - or any part of Helium - head over the chat.helium.com. We're standing by to help.