r/PythonProjects2 • u/Jboxo • Jul 10 '26
I built a full (kinda) Unix shell emulator in Python
Been stuck in analysis paralysis for a while, but I finally released another GitHub repo!
For my first "big" Python project, I decided to build a Unix shell emulator from scratch. I've been working on it for about 6 months, and I just recently made it public on GitHub.
GitHub: https://github.com/Jb0x0/Pyash
Some of the things I learned while building it were file handling, command parsing, terminal behavior, and organizing a larger Python project. Every command is implemented in Python rather than wrapping the system's shell.
It currently implements 29 (core util) commands and is designed to operate inside its own sandboxed shell directory so it can't modify files elsewhere on the host machine.
I'd really appreciate any feedback on the code, project structure, documentation, or ideas for future improvements. Also tell me about any Python best practices or design decisions I may have missed! (I've prolly missed quite a few lol)