Skip to main content

IronFlock Python SDK for connecting to the IronFlock Platform

Project description

ironflock

About

With this library you can publish data from your apps on your IoT edge hardware to the fleet data storage of the IronFlock devops platform. When this library is used on a certain device the library automatically uses the private messaging realm (Unified Name Space) of the device's fleet and the data is collected in the respective fleet database.

So if you use the library in your app, the data collection will always be private to the app user's fleet.

For more information on the IronFlock IoT Devops Platform for engineers and developers visit our IronFlock home page.

Requirements

  • Python 3.8 or higher
  • Compatible with Python 3.8, 3.9, 3.10, 3.11, and 3.12

Installation

Install from PyPI:

pip install ironflock

Usage

import asyncio
from ironflock import IronFlock

# create an IronFlock instance to connect to the IronFlock platform data infrastructure.
# The IronFlock instance handles authentication when run on a device registered in IronFlock.
ironflock = IronFlock()

async def main():
    while True:
        # publish an event (if connection is not established the publish is skipped)
        publication = await ironflock.publish("test.publish.com", {"temperature": 20})
        print(publication)
        await asyncio.sleep(3)


if __name__ == "__main__":
    ironflock = IronFlock(mainFunc=main)
    ironflock.run()

Options

The IronFlock __init__ function can be configured with the following options:

{
    serial_number: string;
}

serial_number: Used to set the serial_number of the device if the DEVICE_SERIAL_NUMBER environment variable does not exist. It can also be used if the user wishes to authenticate as another device.

Advanced Usage

If you need more control, e.g. acting on lifecycle events (onJoin, onLeave) take a look at the examples folder.

Development

Install the necessary build tools if you don't have them already:

pip install --upgrade build twine

Build and publish a new pypi package:

just publish

Alternatively, you can build manually:

# Clean previous builds
rm -rf build dist *.egg-info

# Build the package
python -m build

# Upload to PyPI
twine upload dist/*

Check the package at https://pypi.org/project/ironflock/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ironflock-1.3.3.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ironflock-1.3.3-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file ironflock-1.3.3.tar.gz.

File metadata

  • Download URL: ironflock-1.3.3.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.3

File hashes

Hashes for ironflock-1.3.3.tar.gz
Algorithm Hash digest
SHA256 cd53836dbe75cec57a67a933ab892bfd44b6eed0ba088e616b1e706923273379
MD5 e1ebbfcd35f0e8f42175758256adda0c
BLAKE2b-256 330254f18cec03b12fe9c1d8b7e575064521b1b6ac5e16773e9dae2a350efd1d

See more details on using hashes here.

File details

Details for the file ironflock-1.3.3-py3-none-any.whl.

File metadata

  • Download URL: ironflock-1.3.3-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.3

File hashes

Hashes for ironflock-1.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 96d10f4a58382ea9a5538fb7331e162dd92f10b9484d6985185532a9afadc53c
MD5 aff2f8fb2bdcbe5d316b88fd7feb83dc
BLAKE2b-256 4fae910d535d2b31664e22bc4b5fbb41be8cdbd162decd3b3e72a3c6d0a1ebd5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page