Skip to main content

Simple environment variable loader for MicroPython board.

Project 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.
<small>New in v0.2.0</small>|

How to Use

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 variableMPY_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.

Project details


Download files

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

Files for micropython-mpy-env, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size micropython-mpy-env-0.2.0.tar.gz (7.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page