No project description provided
Project description
Balena SDK
The official balena SDK for python.
Role
The intention of this module is to provide developers a nice API to integrate their python applications with balena.
Installation
Install the balena SDK:
From Source:
https://github.com/balena-io/balena-sdk-python
From git:
pip install git+https://github.com/balena-io/balena-sdk-python.git
Example of installing on a Debian container:
FROM balenalib/amd64-debian:stretch
# Install python 3 and balena SDK dependencies.
RUN install_packages build-essential python3 python3-pip python3-setuptools \
python3-dev libffi-dev libssl-dev
# Install balena python SDK in python 3.
RUN pip3 install balena-sdk
Example of installing on a Alpine Linux container:
FROM balenalib/amd64-alpine:3.9
# Install python 3 and balena SDK dependencies.
RUN install_packages build-base python3 py3-setuptools python3-dev libffi-dev openssl-dev
# Install balena python SDK in python 3.
RUN pip3 install balena-sdk
Platforms
We also support NodeJS SDK.
Basic Usage
>>> from balena import Balena
>>> balena = Balena()
>>> credentials = {'username':<your email>, 'password':<your password>}
>>> balena.auth.login(**credentials)
...
Documentation
We generate markdown documentation in DOCUMENTATION.md.
To generate the documentation run:
python docs_generator.py > DOCUMENTATION.md
Deprecation policy
The balena SDK for Python uses semver versioning, with the concepts of major, minor and patch version releases.
The latest release of the previous major version of the balena SDK will remain compatible with the balenaCloud backend services for one year from the date when the next major version is released. For example, balena SDK v8.1.1, as the latest v8 release, would remain compatible with the balenaCloud backend for one year from the date when v9.0.0 is released.
At the end of this period, the older major version is considered deprecated and some of the functionality that depends on balenaCloud services may stop working at any time. Users are encouraged to regularly update the balena SDK to the latest version.
Developing locally
This project uses poetry for dependency management. In order to install all the needed dependencies please run poetry install
.
Linting and Formatting
This project uses black for code formatting and flake8 for linting.
To format this project please use poetry run black . -l 120
To verify linting you can run poetry run flake8 --max-line-length=120
Tests
To run the tests, first create a .env
file with your test user configuration, e.g.:
[Credentials]
email=my_test_user@balena.io
user_id=my_test_user
password=123456my_password
You can optionally change the target API endpoint too, e.g. api_endpoint=https://api.balena-cloud.com
.
Then run python -m unittest discover tests -v
.
Support
If you're having any problem, please raise an issue on GitHub and the balena team will be happy to help.
Contribute
- Issue Tracker: github.com/balena-io/balena-sdk-python/issues
- Source Code: github.com/balena-io/balena-sdk-python
License
The project is licensed under the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for balena_sdk-13.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43b285f59c83617ba51a6cfb0ed8661909ae73142f4c1d1bdbd10f0f495e999e |
|
MD5 | d4c36585a98e2d1db1fcbe4155078a90 |
|
BLAKE2b-256 | 2a8172701c6d4cde933130886971f8223885ab1ea104fbe45c20ecb104a2d17d |