Skip to content
Telenor NB-IoT client for Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
nbiot
.gitignore
.travis.yml
LICENSE
Pipfile
Pipfile.lock
README.md
setup.cfg
setup.py

README.md

nbiot-python

Travis-CI

NBIoT-Python provides a Python client for the REST API for Telenor NB-IoT.

Configuration

The configuration file is located at ${HOME}/.telenor-nbiot. The file is a simple list of key/value pairs. Additional values are ignored. Comments must start with a #:

#
# This is the URL of the Telenor NB-IoT REST API. The default value is
# https://api.nbiot.telenor.io and can usually be omitted.
address=https://api.nbiot.telenor.io

#
# This is the API token. Create new token by logging in to the Telenor NB-IoT
# front-end at https://nbiot.engineering and create a new token there.
token=<your api token goes here>

The configuration file settings can be overridden by setting the environment variables TELENOR_NBIOT_ADDRESS and TELENOR_NBIOT_TOKEN. If you only use environment variables the configuration file can be ignored. Finally, there is a Client constructor that accepts the address and token directly.

Updating resources

The various Client.update* methods work via HTTP PATCH, which means they will only modify or set fields, not delete them. There are special Client.delete*tag methods for deleting tags.

Sample code

from nbiot import nbiot

client = nbiot.Client()
stream = await client.collection_output_stream('<YOUR_COLLECTION_ID>')
while True:
	try:
		msg = await stream.recv()
	except nbiot.OutputStreamClosed:
		break
	print(msg.payload)

Development

Development is done using Pipenv. Run pipenv sync --dev to install all dependencies.

Because Python has not properly solved dependency management yet, dependencies must be be repeated in setup.py under the install_requires entry.

Testing

Tests are written using pytest. Run pipenv run pytest to run all the tests.

Deployment

To build and upload a new version to PyPI, make sure that you are using Python 3 and run

python setup.py sdist
python setup.py bdist_wheel
twine upload dist/*          # `pip install twine` to get this tool
You can’t perform that action at this time.