Project URL: https://glitch.com/edit/#!/python-os
for years, nobody has made an os using only standard library modules and a few pip modules thrown in.
introducing SuperPyOS, the operating system that uses several modules in your python installation and supports virtualisation (virtualenv).
I was helped by @J-Tech-Foundation, who wrote the boot scripts and this is our result. a WIP but it currently supports:
- a ‘debug mode’
- clears screen without problems
- filesystem methods such as ls and cd (still in progress)
- virtualenv, our QEMU substitute.
try it! remix and give it a shot. We are still in development at the moment so some features will be rough around the edges.
couple of comments on the current implementation, potential issues:
- lots of scripts fork and exec themselves with
os.system. and they would wait for the child… doesn’t this lead to way too many processes? for example, in the main prompt press enter without typing a command several times. you’d get a big chain of python processes, right? go in another terminal and run
top and press
V to see what processes are running
- the command to activate the virtualenv forks a separate shell and sources the activate script, but then that shell would exit, and it would have no effect on the surrounding interpreter. have you tested that?
to make a note, debug mode is actually developer mode…
and no, we have not yet tested virtual env, but we will soon
and also, it will support an interactive screen, instead of just terminal
note: i am working on making the os compress the data made by the user, well, actually everything except for the boot file so it decompresses, then runs everything.
it will add a lot more lag time to boot, but if glitch is something we would like this to run on, we gotta do it!
another note: all the data gets saved in a custom directory… more on that later on!
after about an hour+ of working, i got the first linux distribution ready to go!
the first release will be available on a non-affiliated github repo, with all the source code!
look forward to this soon!
also, all issues will be posted on the repo aswell, and they will be fixed, until an official one is released by @17lwinn because i am not the founder of this project, i am only the assistant and remixer!
I love how more people are thinking of developing Python apps on glitch. By the way I think it would be useful to add a help command to explain things for a new person. Also the boot script should detect when you are using the wrong version of python because I accidentally used python 2 at first which caused an error for package installation.
we understand this… the main package for linux will be released, and with it, a file that you can put into something like the .data folder, and run it like
ez pz lemon sqeezy
also, if you saw the spoiler i had there for a few minutes, you may have seen the package name is incorrect… i will fix that
i will create the official repo and will get back to you!
we could create a tutorial script, tells the user about it’s uses, who and why it was created etc
we may have to delete or privatise the VENV folder
Script shuts down if python version is below 3.0.0
@Jonyk56 @javaarchive Good news! the official repo has been created!
we have setup security policies and will be making some big changes soon! including the adding of our security mechanism EN_LICE_ULOCK (Encrypted-Licence-Unlocker).
Keep an eye out for updates! meanwhile you can now download release 1.0.0.Batman on our releases page!
it the code-name for the update, It is called SuperPyOS- so i thought we would name our releases after superheroes.
It was a last-minute decision
this part is a bit technical:
our new mechanism has been embedded into the OS- it is called EN_LICE_ULOCK and we are now putting it to good use.
it will stop anti-piracy in later updates
Update release on Friday- feature updates and help command requested by @wh0 on February 25th.
Plus some security updates as well
Are you using a virtual file system? I can do some “hacking” to make other python programs run in the virtual file system.
Thanks for the question!
No, all files created by the OS are written into the folder it’s in currently. We hope to change this in the future using a filesystem module of some sort
Of course if you have a way of doing this, please let us know!
@Jonyk56 @javaarchive perhaps this tutorial would suit your request?
FUSE filesystem in python