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. 

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.