I think virtualizing the python environment (with venv
) has become quite common, although my only evidence is that the server I'm using to send this was written in Python and uses one.
Linux
A community for everything relating to the linux operating system
Also check out [email protected]
Original icon base courtesy of [email protected] and The GIMP
I recommended checking out package managers that will simplify using whatever version of a library you want with project level virtual environments.
I haven't done heavy python dev since 3.7, so I don't know the full landscape of options these days, but here are some references to dig into.
https://python-poetry.org/ is the one I started using as the first step up from pip.
It looks like there are some new contenders like hatch, rye, and pdm: https://dev.to/adamghill/python-package-manager-comparison-1g98.
There is also pixi referenced from the comments in that article: https://github.com/prefix-dev/pixi
Well done!
The next step will be to implement two of the clients on RPi Pico W boards. The documentation on MQTT on that platform has quite some potential for improvement, to put it mildly.
Having done some MQTT IoT work in the past, dropping a couple resources:
https://github.com/eclipse/mosquitto - CLI interface and C bindings. I've only used the CLI interface. Its a nice way to test communication with a remote broker.
RabbitMQ /w MQTT plugin - Message queue based on AMQP. We ran this as the server in a container. There maybe others options like 0MQ (been a few years so don't know every option). I had my clients post to a wild card topic so that I could consume a single device or all devices. Consumption is not with MQTT though. We'd use AMQP on that side.
I'm running a mosquitto here as the broker, and use MQTT Explorer for debugging.
I can recommend arch for programming once you get tired of the Ubuntu outdated thing. Having the latest packages is awesome.
While I have nothing against an arch recommendation, I wouldn't rely on my distro when there is tooling to get any version of a library directly from pypi.
That just sounds like a normal Linux session to me. I recently barely stumbled my way through using file pointers as the pins for my simple bbb project.
Well, in my professional tasks, I have smoothed out about all trouble spots long ago. So having two new fields at once to work on and deal with their teething problems reminded me of times long ago.