Metadata-Version: 2.1
Name: micropython-mpy-env
Version: 0.2.0
Summary: Simple environment variable loader for MicroPython board.
Home-page: https://github.com/ShenTengTu/micropython-env
Author: Shen-Teng Tu
Author-email: tusamten@gmail.com
License: MIT
Description: # micropython-env
        Simple environment variable loader for MicroPython board.
        
        The loader could load environment variables from the one of file format as below:
        - [JSON] (default) : The file name is "env.json" (text mode).
        - [MessagePack]: The file name is "env" or "env.msgpack" (binary mode).
        
        ## MessagePack
        Note:
        - MessagePack Array corresponds to  Python Tuple, not List
        > Change in v0.2.0
        
        MessagePack predefined extension types:
        |Name|Type|Support?|
        |:-:|:-:|:-:|
        |Timestamp|`-1`|X|
        
        MessagePack application-specific extension types:
        |Name|Type|Support?|Description|
        |:-:|:-:|:-:|:-:|
        |List|`1`|O| Python List, legth limit: 65535. <br><small><i>New in v0.2.0</i></small>|
        
        # How to Use
        ```python
        from mpy_env import load_env, get_env, put_env
        
        # Loading `env.json` at once as default.
        # You can invoke below function in `boot.py`
        load_env()
        # or
        load_env(0)
        
        # You can loading environment variables from MessagePack as below.
        load_env(1)
        
        # In `main.py` or the other,
        # You can invoke below function to get environment variable.
        get_env('key')
        
        # You can invoke below function to set environment variable in-memory.
        put_env('tuple', ('a', 1))
        ```
        
        # Testing
        Currentl testing environment:
        - Python 3.7
        - MicroPython unix port 1.12 ＆ 1.13
        - MicroPython esp32 port 1.12＆ 1.13
        
        Before tesing, you need to compile Micopython unix port executable first, see [offcial GitHub Wiki] to setup.
        
        After setup, you must set environment variable `MPY_PATH` as path of local MicroPython repository.
        > Environment variable`MPY_PATH` is used in shell script `bin/build_micropython.sh`
        
        We use [mpfshell] to interactive with MicroPython board,  please install the latest release from PyPi.
        ```
        pip install mpfshell
        ```
        
        We use [offcial MessagePack package] to validate custom `msgpack` module, please install the latest release from PyPi.
        ```
        pip install msgpack
        ```
        
        Next, clone the repository to your local machine.
        ```
        git clone https://github.com/ShenTengTu/micropython-env.git
        cd micropython-env
        ```
        
        You can execute the follow command to build muitiple versions of MicroPython unix port.
        ```
        export MPY_PATH=<local_micropython_repo> && make build-mpy
        ```
        > It will create symbolic links into user binaries directory after building.
        
        To test on Python & MicroPython unix port,  execute the command as below.
        ```
        make testing 
        ```
        >  It will run testing on multiple MicroPython unix port versions.
        
        To test on ESP32 board, execute the follow command.
        ```
        make mpy-testing-esp32
        ```
        >  It will run testing on multiple MicroPython esp32 port versions.
        
        ## Development
        See "Development guide" in [CONTRIBUTING.md](CONTRIBUTING.md).
        
        [JSON]: https://www.json.org/ 
        [MessagePack]: https://msgpack.org/
        [offcial GitHub Wiki]: https://github.com/micropython/micropython/wiki/Getting-Started
        [mpfshell]: https://github.com/wendlers/mpfshell
        [offcial MessagePack package]: https://github.com/msgpack/msgpack-python
Keywords: MicroPython
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: Implementation :: MicroPython
Classifier: Topic :: Software Development
Description-Content-Type: text/markdown
