Python Containers and Embed-Ops

General discussions and questions abound development of code with MicroPython that is not hardware specific.
Target audience: MicroPython Users.
Post Reply
User avatar
semireg
Posts: 14
Joined: Mon Dec 18, 2017 3:53 pm

Python Containers and Embed-Ops

Post by semireg » Fri Apr 06, 2018 9:10 pm

This is a lofty thread since my experience with Python only dates to mid-2017. However, I have been programming, using virtualization and "containers" since the early 2000s.

I read this link via Hacker News: https://www.tedinski.com/2018/04/03/why-containers.html

What stands out to me is that the hardware that powers MicroPython is by its very nature a container. Thinking about MicroPython this way helped me better understand why I'm drawn to it for lower-level programming. When I have to explain why a ESP32+uPy can do the job better than a Raspberry Pi I'm drawn to the arguments surrounding containers... almost a kind of embedded-dev-ops.

I don't know much (yet) about how the behind the scenes RTOS manages the environment that uPy runs in, but I think a shift to that kind of thinking (and explanation to clients) might lead to interesting packaging for uPy "containers" that are "deployed" to uPy-compatible hardware.

Thoughts?

stijn
Posts: 735
Joined: Thu Apr 24, 2014 9:13 am

Re: Python Containers and Embed-Ops

Post by stijn » Sat Apr 07, 2018 4:43 pm

I'm not really following but that might be me; e.g.
When I have to explain why a ESP32+uPy can do the job better than a Raspberry Pi I'm drawn to the arguments surrounding containers...
Can you give a practical example of that? Starting with the type of aplication? I mean when having to choose a SOC vs what is basically a small but feature-complete PC there are so many aspects to consider. For the given application, what arguments related to containers would you make?
What stands out to me is that the hardware that powers MicroPython is by its very nature a container.
The argument goes for the hardware, irregardless of whether it runs MicroPython or other software, right? Also since 'container' is rather general what exactly do you mean? E.g. I've heard people talk about containers meaning something which is created and then cannot be tampred with anymore except for a predefined set of operations. But that is not completely true for typical MicroPython hardware I think: from the moment it has some JTAG or other connection one can take usually full control.

Post Reply