Skip to main content

Python bindings for DaaS-IoT (Windows + Linux manylinux).

Project description

pydaasiot

PyPI version Python versions Platform License

pydaasiot are the official Python bindings for the DaaS-IoT SDK.
They expose the full power of the Device-as-a-Service paradigm directly into Python, enabling fast integration of IoT communication primitives, overlay networking, and time synchronization.


🌐 Overview

The DaaS-IoT SDK is a high-performance library for distributed IoT environments.
It provides an overlay communication model on top of TCP/IP, supports multiple network drivers, and integrates precise ATS (Accurate Time Synchronization) mechanisms.

The Python package pydaasiot allows developers and researchers to leverage these features without writing C++ code, simplifying prototyping and integration into data pipelines and services.


✨ Main Features

  • Initialize and manage DaaS-IoT nodes.
  • Add and configure network drivers (currently INET4 and Bluetooth; upcoming: Serial, USB, UART, MQTT).
  • Send and receive packets between devices.
  • Retrieve and manage ATS synchronization parameters.
  • Cross-platform: prebuilt wheels for Windows (MSVC) and Linux (manylinux2014).

🚀 Installation

Install from PyPI with:

pip install pydaasiot

Wheels are available for Python 3.9 – 3.12.
pip will automatically select the appropriate build for your system.


🧪 Quick Example

import pydaasiot

# Initialize a DaaS-IoT node
node = pydaasiot.Node()
node.init()

# Add a network driver (example: IPv4 link)
node.add_driver(2, "127.0.0.1:5000")

# Send a packet
node.push(b"Hello from Python")

# Receive packets (non-blocking)
packets = node.pull()
print("Received:", packets)

# Access ATS parameters
ats = node.get_sync_params()
print("ATS:", ats)

🖥️ Supported Platforms

  • Windows (x86_64, MSVC)
  • Linux (x86_64, manylinux2014)

macOS support is planned for a future release.


📚 Documentation

  • Full SDK documentation: GitHub repository
  • Examples are available under examples/ in the repository.

🤝 Contributing

Contributions are welcome!
Please use GitHub issues and pull requests to propose improvements or report bugs.


📄 License

Released under the terms of the Mozilla Public License 2.0 (MPL-2.0).
See the LICENSE file for details.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

pydaasiot-0.2.6-cp37-cp37m-linux_armv7l.whl (180.4 kB view details)

Uploaded CPython 3.7m

File details

Details for the file pydaasiot-0.2.6-cp37-cp37m-linux_armv7l.whl.

File metadata

File hashes

Hashes for pydaasiot-0.2.6-cp37-cp37m-linux_armv7l.whl
Algorithm Hash digest
SHA256 0341e90b405ad95fb56a959a5542114ad5438c6eae7d39bc07b2bdae639ea875
MD5 c7e392bf6d040fdfc8e1d44f7454880d
BLAKE2b-256 497f61424e4dc7b1b304250b0cd241756f0cf156f7f7fb52a4eb4fde004358f2

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