
Firstly, apologies if this is the wrong forum for this idea; it's not so much about the language itself, but what surrounds it. If you have any ideas for better forums, please let me know. Also, if there is any work started on anything like this, let me know Now to the idea: PythonOS - a (likely linux-based) OS built specifically for python. I've been working in the education space as well as with embedded systems for quite a few years, and am really excited about tiny affordable standalone computing devices as a computing and science educational tool. At the moment however, there are two options for python in this space: - micropython, which, despite its awesomeness, lacks many library possibilities, doesn't have a debugger, and is restricted to a handful of devices. The learning curve for getting this up and running can be quite steep - A full linux setup on an SBC - let's take the raspberry pi. This has access to (just about) everything, but beyond just programming the python code, you need to have some (basic) system administration training to get it running. For someone new to programming, this can be quite intimidating (recent developments with drag-and-drop Pi configuration notwithstanding). In the latter category, there seems to be a lot of newer, cheaper hardware appearing - for example the Pi Zero, C.H.I.P and VoCore2, and these are already at very affordable price point; I think that before long the rationale for micropython will be lost, and $2 hardware will be running a fully capable linux setup. However, micropython has the advantage of simplicity. Upload main.py, and press reset. That's it. My proposal is a Linux distribution that has the simplicity of micropython, but the power of full python. Drop a file (let's call it main.py) on an SD card from your laptop, plug it into the device, and it boots and runs that file straight away. Or drop an entire project. If the device has USB device capabilities, then just drag the file across, or even edit it live. Easy SSH setup could allow more advanced users remote development and debugging options. Maybe jupyter could be leveraged to provide other network-based dev options (pynq <http://www.pynq.io/> already has a working linux distro like this). Connecting to a console would give you a python prompt. Ideally, key OS functions should be able to be controlled from within python, so that the user never has to leave the python prompt. For a start, things like network config, and possibly cron. What do you think? I'm not in a state to do all of this myself, but could give it a start if there is interest in the concept. -- Victor Rajewski Sent from my mobile device. please. Please excuse brevity and any errors.

On 11/06/2016 08:25 PM, victor rajewski wrote:
What do you think? I'm not in a state to do all of this myself, but could give it a start if there is interest in the concept.
Even though there is nothing wrong with the idea, I think there is not enough motivation for it. Most of the people learning Python for tinkering around with robots or doing some statistics will both be able to and eventually need to learn some basic system administration. Also, in comparison with some other languages, at least under Linux and BSD systems, setting up a Python environment is very straightforward. It is packaged for most distributions out there and executing a script does not require any cryptic initiation rituals. All in all, I don't know if this solves a problem or not.
Sent from my mobile device. please. Please excuse brevity and any errors.
Did you type all that in a touchscreen? -- Bernardo Sulzbach http://www.mafagafogigante.org/ mafagafogigante@gmail.com

On 7 November 2016 at 08:25, victor rajewski <askvictor@gmail.com> wrote:
My proposal is a Linux distribution that has the simplicity of micropython, but the power of full python. Drop a file (let's call it main.py) on an SD card from your laptop, plug it into the device, and it boots and runs that file straight away. Or drop an entire project. If the device has USB device capabilities, then just drag the file across, or even edit it live. Easy SSH setup could allow more advanced users remote development and debugging options. Maybe jupyter could be leveraged to provide other network-based dev options (pynq already has a working linux distro like this). Connecting to a console would give you a python prompt.
Ideally, key OS functions should be able to be controlled from within python, so that the user never has to leave the python prompt. For a start, things like network config, and possibly cron.
What do you think? I'm not in a state to do all of this myself, but could give it a start if there is interest in the concept.
A potentially simpler option to explore would be a derivative of an existing beginner-friendly Linux distro like Raspbian that configures xon.sh ( http://xon.sh/ ) as the default system shell and IPython as the default Python REPL. That still keeps a distinction between the system shell, the interactive Python shell, and normal Python application programming, but I think those are actually good distinctions to preserve, as "query and control the currently running machine", "perform ad hoc interactive IO and data manipulation" and "perform IO manipulation and user interaction repeatably for the benefit of other users" are genuinely different tasks, even though they have common needs when it comes to basic control flow constructs. Regards, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia
participants (3)
-
Bernardo Sulzbach
-
Nick Coghlan
-
victor rajewski