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.
Assuming you're using pip
, add this line to your setup.py
:
requires = ['helium-python']
or to your requirements.txt
file:
helium-python
Please check out the helium-python documentation on Read the Docs for the latest examples and complete reference.
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 inbash
:
$ 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.
-
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.