Welcome
PyLinux is a GNU/Linux distribution with the core utilities written in
Python. The aim is also to host new kind of applications written entirely in
Python. PyLinux is not a new concept, "SpyLinux" was probably the first
attempt to tie the Python run-time to the Linux kernel. The concept is
similar to the PerlLinux project at Sourceforge.net which implements
most of its utilities in Perl. I recommend those who have not seen
PerlLinux to definitely look at it.
PyLinux is different from the conventional distributions. Just imagine PYTHON scripts performing system initialization instead BASH scripts. In fact, the init scripts are written entirely in Python! And if you have not guessed yet, Linux system calls are called through a Python wrapper! This eases the job of writing core utilities entirely using Python. And it is still possible to execute applications written in C (or languages alike) due to the presence of supporting libraries such as GLibC.
Initially, all core utilities will not be available. Rather, these utilities will be added in a stage wise fashion with a few new concepts introduced in them. These concepts vary from a brand new interactive shell to support for hardware accelerated graphics console. These are the ideas that will be investigated and included into the distribution.
PyLinux is in reality two projects. The first sub-project is PyBox, which includes the system initialisation scripts and PyLinux build scripts written in Python. This will be released under a PSF - like License (Python Software Foundation License). The second sub-project is PySysCall, a Python wrapper to the Linux kernel generated using SWIG. This project is used extensively by PyBox and will be released under LGPL. The same SWIG files may be used later to generate Lua or Ruby based wrappers in the future.
PyLinux is different from the conventional distributions. Just imagine PYTHON scripts performing system initialization instead BASH scripts. In fact, the init scripts are written entirely in Python! And if you have not guessed yet, Linux system calls are called through a Python wrapper! This eases the job of writing core utilities entirely using Python. And it is still possible to execute applications written in C (or languages alike) due to the presence of supporting libraries such as GLibC.
Initially, all core utilities will not be available. Rather, these utilities will be added in a stage wise fashion with a few new concepts introduced in them. These concepts vary from a brand new interactive shell to support for hardware accelerated graphics console. These are the ideas that will be investigated and included into the distribution.
PyLinux is in reality two projects. The first sub-project is PyBox, which includes the system initialisation scripts and PyLinux build scripts written in Python. This will be released under a PSF - like License (Python Software Foundation License). The second sub-project is PySysCall, a Python wrapper to the Linux kernel generated using SWIG. This project is used extensively by PyBox and will be released under LGPL. The same SWIG files may be used later to generate Lua or Ruby based wrappers in the future.
Once PySysCall becomes stable and provides a wrapper to all system calls, it will be available as a seperate project. Until then it will accompany the PyLinux build scripts and the PyBox source files. In this manner, sources of all involved sub-components will be available.
How does it help?
This project started as an attempt to understand the Linux kernel. I
wanted to implement an OS where Python played as an interface between
applications and the kernel. Writing applications in Python
has known to be faster and easier since its early days. I
foresee that applications such as multimedia kiosks and thin
clients for dedicated services would benefit
from this approach. But mostly, Games that would like to run from a
LiveCD would be benefited. PyLinux could also be used on embedded
systems. However, those would have to be "luxurious" embedded
systems since the
memory requirements are more.
I am also interested in developing a complete script based approached to programming embedded devices especially those requiring a Graphical UI. Maybe in the future, the learnings of PyLinux could be applied to build an embedded "LuaLinux" or "RubyLinux". As of now that is still a distant dream yet an achievable one. If you are interested in taking up such a project or have already initiated one, kindly let me know. I would love to give it a try.
I am also interested in developing a complete script based approached to programming embedded devices especially those requiring a Graphical UI. Maybe in the future, the learnings of PyLinux could be applied to build an embedded "LuaLinux" or "RubyLinux". As of now that is still a distant dream yet an achievable one. If you are interested in taking up such a project or have already initiated one, kindly let me know. I would love to give it a try.
+ 