Skip to main content

Machine IO

Unified GPIO functor interface engine.

What is machineio?

Interface Engine/Protocol Translator Want to use functional programming that's specific to your machine/robot?

Machineio is a library to help you create a single unified interface for all your GPIO! for your machines that use one or more micro controllers. It helps you quickly create your own functions (functors) for interfacing with hardware. The specific micro controller(s) you choose to use can later be swapped out with simple modifications of your functor library. Devices can be added and controlled over a network with a few simple additions to your functor library. Translations and groups allow complete customizations.

Pin and Group functor model

Every motion control system is different in design and implementation. Therefor every motion control system must have a different set of functions that create its library. A huge majority of these systems use the same protocols and are fundamentally based on I/O pins. A single pin almost never does all of what you need, groups of pins perform complex actions together. This is a way to overcome both of these problems in a very elegant manner. You create your own function interface library for your machine based on Pins, and Groups of Pins, and Groups of Groups. This is done by creating a Device, Pin and Group objects and specifying a few modifying functions. The only blocking call in a pin input. It waits to return it's value and should only take a fraction of a second even over a network. Pins in groups and can have time delays and input pins can have callbacks added with keyword arguments. Controlling a device over a network can be added by creating a Network object and passing it as a parameter to a device.

Metadata

Release files for machineio 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for machineio 0.8.0
File Interpreter ABI Platform Actions
machineio-0.8.0-py3-none-any.whl Python 3 none any Details for machineio-0.8.0-py3-none-any.whl

Release files / machineio-0.8.0-py3-none-any.whl

Download URL machineio-0.8.0-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8290dc67908a531e88d403a79cfe6a8147f908657793c4375bc5f626ef1f3d40
BLAKE2b-256 checksum
How to use checksums
444768d112cc5e928cae768d13ed24228d3f983ed0643719889b3e1155665e87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

Security for machineio 0.8.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page