Metadata-Version: 2.1
Name: microfuse
Version: 0.2.1
Summary: A FUSE plus MQTT plus REPL channelfor MicroPython
Home-page: https://github.com/M-o-a-T/microfuse
Author: Matthias Urlichs
Author-email: matthias@urlichs.de
Maintainer: Matthias Urlichs
Maintainer-email: <matthias@urlichs.de>
License: GPL v3
Project-URL: Bug Tracker, https://github.com/M-o-a-T/microfuse/issues
Project-URL: Source Code, https://github.com/M-o-a-T/microfuse
Description: =========
        MicroFUSE
        =========
        
        This is a file system plus console plus MQTT plus take-your-pick
        multiplexer for MicroPython.
        
        On the embedded device, a small single-client server runs in the
        background. It receives file system commands, REPL input, OTA updates,
        MQTT messages, and/or any other commands you might want to hook up. It
        sends MQTT messages, REPL output, and any replies your commands generate.
        
        The other side (Linux, for now) starts a multiplexer which connects to that
        mini-server and exposes a messaging socket and a bidirectional channel for
        raw REPL data. It also connects to MQTT.
        
        A FUSE driver links the messaging socket to a convenient place in the
        file system; it's also possible to send file system commands directly.
        
        A terminal program (based on pyserial-miniterm) is included.
        
        TODO
        ====
        
        * OTA updates.
        
        * File system commands from the command line / an async Python program.
        
        * The msgpack implementation needs improvement; it is crazy inefficient.
          Sending a console line *should* eat 50 bytes (one three-element dict to be
          transmitted) or zero bytes (if we hand-roll the message), not 1700.
        
        * There is not yet any attempt at reconnecting. (Should there be?)
        
        * There are occasional MicroPython crashes::
        
              assertion "ATB_GET_KIND(block) == AT_HEAD" failed: file "…/micropython/py/gc.c", line 591, function: gc_free
        
          This definitely looks like a MicroPython bug. The problem might be related to bytearray slicing.
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: MicroPython
Classifier: Topic :: Utilities
Requires-Python: >=3.7
Description-Content-Type: text/x-rst; charset=UTF-8
