{"categories":[{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/12"},{"label":"Home Automation","url":"https://skillfed.io/packages/category/home-automation"},{"label":"Education","url":"https://skillfed.io/packages/category/education"}],"enrichment":{"capability":"An asyncio-based Python client for controlling Arduino boards via the Firmata protocol, supporting digital/analog I/O, sensors, and motors through callback-driven or polled event handling.","skillfed_tags":["arduino-hardware","asyncio-io","abandoned"],"use_cases":["Monitor digital input pins (buttons, switches) on an Arduino and trigger Python callbacks when state changes occur.","Read analog sensor values (potentiometers, light sensors) and log or process them in real time.","Control stepper motors or piezo speakers connected to an Arduino from a Python asyncio application.","Build educational robotics or home automation projects that integrate Arduino hardware with Python logic.","Integrate HC-SR04 ultrasonic distance sensors or DHT humidity/temperature sensors into a Python data collection pipeline."],"what_it_does":"Pymata-Express is an asyncio-based Firmata protocol client that lets you control Arduino boards from Python by reading and writing digital and analog pins, interfacing with sensors like HC-SR04 ultrasonic and DHT temperature/humidity modules, and driving stepper motors. It communicates with an Arduino running the FirmataExpress sketch (an enhanced version of StandardFirmata 2.5.8) over a serial connection, translating Python method calls into Firmata protocol messages.\n\nThe library uses an event-driven model: you set a pin mode and either attach a callback function to be invoked when the pin's value changes, or poll the pin's last recorded state. Each event is timestamped and logged. The single runtime dependency is pyserial for serial communication. However, the project has been archived and unmaintained since 2022-03-24, so it is suitable only for maintaining existing Arduino automation projects or educational use where you control the firmware version.","worth_installing":"No, unless you are maintaining an existing codebase. The project is archived and abandoned since 2022-03-24 with no active maintenance. While it has low install friction and no known vulnerabilities, the lack of updates means it will not receive bug fixes or compatibility improvements for newer Python or Arduino versions. For new Arduino\u2013Python projects, consider actively maintained alternatives or direct serial communication with pyserial."},"id":"pymata-express","links":{"html":"https://skillfed.io/packages/pymata-express","md":"https://skillfed.io/packages/pymata-express.md","pypi":"https://pypi.org/project/pymata-express/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2021-08-06","license_spdx":null,"license_treatment":"agpl","name":"pymata-express","python_support":"unspecified","summary":"A Python Protocol Abstraction Library For Arduino Firmata using Python asyncio"},"popularity":{"monthly_downloads":73938,"position":14905,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.21"}
