- Features
- Authentication System
- Virtual Filesystem
- Security Architecture
- Logging Subsystem
- Quote Engine
- Built-in Applications
- Command Reference
- Installation
- Release Notes
- Roadmap
A Python-based Operating System Simulator built entirely from scratch.
PyOS is a terminal-driven operating system simulator developed using Python. It is designed to explore operating system concepts such as authentication, virtual filesystems, shell environments, security models, logging systems, application runtimes, and user management.
Unlike a real operating system kernel, PyOS runs entirely in user space and focuses on providing a realistic command-line operating system experience for learning, experimentation, and systems design practice.
- First-boot administrator setup
- Multi-user support
- Secure password hashing with salts
- Hidden password input using
getpass - Password validation policies
- Account lockout system after failed login attempts
- Administrative account recovery
- Separate user environments
- Reserved username protection
PyOS provides a secure virtual filesystem for each user isolated from the host operating system.
Features:
- Create files
- Delete files
- Read files
- Write files
- Edit files
- Copy files
- Move files
- Rename files
- Create directories
- Delete directories
- Navigate directories
- Display working directory
- List directory contents
- Path traversal protection
- User directory isolation
- Protected system directories
- Protected system files
- Access control enforcement
PyOS uses a layered and a role-based security model.
PyOS
βββ Admin
βββ User
Can:
- Access own files
- Run applications
- Modify own data
Cannot:
- Modify system files
- Modify protected directories
- Access other users' data
Can:
- Manage users
- View system logs
- Access user logs
- Unlock accounts
- Configure system settings
- Role-based access control
- Path traversal protection
- Protected system files
- Protected system directories
- User isolation
- Reserved directory protection
- Secure path validation
- Account lock system
PyOS includes a complete logging framework introduced in v3.2.1 and expanded in later releases.
Stored separately for each user.
Tracks:
- Logins
- Logouts
- Command execution
- User errors
- Warnings
Tracks:
- Boot events
- Shutdown events
- User creation
- Security events
- Critical system operations
Tracks:
- Backup operations
- Restore operations
- Recovery actions
Reserved for future backup and recovery features.
- User log viewing
- System log viewing
- Log statistics
- Log trimming
- Automatic log trimming
- Configurable log limits
- Administrative log inspection
- User log management
PyOS includes a programming quote engine containing 501 programming and computer science quotes.
Features:
- Random quote generation
- Quote cache system
- Quote author name display
- Quote statistics (
quote stats) - No duplicate quotes until all quotes are exhausted
- Automatic cache reset
- Fallback quote protection
- Offline operation
PyOS supports multiple terminal themes.
Built-in terminal themes:
| Theme | Description |
|---|---|
| matrix | Classic hacker green |
| bloodmoon | Dark red danger |
| ocean | Aqua blue |
| royal | Purple elite |
| ghost | Dark mode |
| sunset | Yellow-black sunset |
| ice | Blue-white |
| lava | Red-black |
| neon | Magenta-black |
| default | Classic terminal |
Example:
theme matrixPyOS ships with several bundled applications.
Basic arithmetic calculator.
Simple note-taking application.
Number guessing game.
Secure password storage utility.
System utility application.
PyOS includes:
- Command parser
- Permission-aware command execution
- Virtual path support
- Dynamic app launching
- Session management
- Restart support
- User isolation
Example prompt:
PyOS:/users/Rohith/home>After 5 failed login attempts, PyOS automatically locks the account and requires administrator intervention. Displays real-time MM:SS countdown until unlock.
Protected directories and files cannot be modified by regular users.
PyOS includes a lightweight built-in editor supporting file creation and editing.
Display system information and version details.
| Command | Description |
|---|---|
| help | Display command help |
| clear | Clear terminal |
| whoami | Show current user |
| date | Display current date |
| time | Display current time |
| day | Display current day |
| uptime | Display system uptime |
| pyver | Display Python version |
| os | Display OS information |
| sysinfo | Display system information |
| screenfetch | Display PyOS banner |
| greet | Display greeting |
| quote | Display random programming quote |
| mood | Random mood response |
| echo | Echo text |
| reverse | Reverse text |
| cal | Display calendar |
| roll | Roll a dice |
| coin | Flip a coin |
| petname | Generate pet names |
| whoareu | About PyOS |
| Command | Description |
|---|---|
| users | List users (Admin) |
| adduser | Create user (Admin) |
| logout | Logout current user |
| restart | Restart PyOS |
| Command | Description |
|---|---|
| apps | List installed applications |
| run | Launch application |
| Command | Description |
|---|---|
| pwd | Show current directory |
| ls | List directory contents |
| sd | Change directory |
| cr | Create file |
| del | Delete file |
| readf | Read file |
| writef | Write to file |
| edit | Open Nano-style editor |
| copy | Copy file |
| move | Move file |
| rename | Rename file |
| crdir | Create directory |
| deldir | Delete directory |
Lists files and directories.
lsDisplays current directory.
pwdChanges directory.
sd <directory>Examples:
sd Documents
sd ..
sd /Creates a file.
cr <filename>Examples:
cr notes
cr notes.txtIf no extension is provided, .txt is automatically added.
Creates a directory.
crdir <directory>Deletes a file.
del <filename>Deletes an empty directory.
deldir <directory>Reads supported text-based files.
Supported Formats:
.txt
.log
.json
.md
.csv
readf <filename>Line-number mode:
readf notes.txt -lWrites text into a file.
writef <filename> <content>Example:
writef notes.txt Hello WorldBuilt-in Nano-style text editor.
edit <filename>Editor commands:
:wq Save and Exit
:q Exit Without Saving
:help Show Editor Help
Renames a file or directory.
rename <old_name> <new_name>Copies a file.
copy <source> <destination>Example:
copy notes.txt backup.txtMoves a file.
move <source> <destination>Example:
move notes.txt archive.txtDisplays available commands.
Examples:
help
help fs
help logs
help admin
help allClears the terminal.
clearDisplays current date.
dateDisplays current time.
timeDisplays current day.
dayDisplays system uptime.
uptimePrints text to the terminal.
echo Hello WorldReverses text.
reverse HelloDisplays system information.
screenfetchVersion information:
screenfetch -vDisplays current username.
whoamiLists available users.
usersAdministrator only.
Creates a new user account.
adduserAdministrator only.
Displays the configured assistant name.
petnameLogs out current user.
logoutRestarts PyOS.
restartShuts down PyOS.
shutdownLists installed applications.
appsLaunches an application.
run <app_name>Example:
run calculatorlogs info
logs config
logs statslogs view
logs tail <n>logs trim
logs clearlogs set max <value>
logs set trim <on/off>logs system view
logs system tail <n>
logs system stats
logs system info
logs system trim
logs system clearlogs system set max <value>
logs system set trim <on/off>logs user <username> view
logs user <username> tail <n>
logs user <username> stats
logs user <username> clearPyOS/
β
βββ apps/
β βββ calculator.py
β βββ guess.py
β βββ notes.py
β βββ passwordvault.py
β βββ pulse.py
β
βββ system/
β βββ backup/
β βββ data/
β β βββ quotes.json
β β βββ cache.txt
β βββ config.json
β βββ log.txt
β
βββ users/
β βββ apps/
β βββ home/
β βββ system/
β
βββ auth.py
βββ commands.py
βββ fs.py
βββ logger.py
βββ main.py
βββ security.py
βββ boot.bat
The following resources cannot be modified by normal users:
system/
apps/
home/
main.py
auth.py
commands.py
fs.py
security.py
logger.py
boot.bat
| Version | Average Boot Time |
|---|---|
| v3.2.0 | ~23 seconds |
| v3.2.1 | ~17 seconds |
Approximately 26% faster boot performance.
- Python 3.10+
- Windows CMD Terminal
git clone https://github.com/r0-vex/PyOSRun:
boot.batDo not run:
python main.pyPyOS uses a dedicated bootloader process.
- Redesigned help command with categorized command groups
- Added category-specific help pages
- Added help aliases (
fs,log,app, etc.) - Improved command discoverability
- Added
quote stats - Added quote author name display
- Added quote cache statistics
- Added author display for quotes
- Improved
readfextension handling - Automatic
.txtextension detection - Added support for multiple readable file formats
- Improved error messages
- Improved automatic file extension detection
- Added
:helpeditor command - Improved editor usability
- Various editor bug fixes
- Improved lockout countdown display
- Added seconds-level precision to remaining lock time
- Improved Python version display (
pyver) - Improved help output formatting
- Improved logging error messages
- General command output consistency improvements
- Quote cache edge cases
- Redundant quote handling logic
- Multiple editor-related bugs
- Logging message inconsistencies
- Removed redundant code paths
- Various minor stability fixes
- Added centralized extension allow/block lists
- Refactored file handling validation
- Improved command organization
- General code cleanup and maintenance
No major performance changes.
Focus of v3.2.2 was stability, usability, and command quality-of-life improvements.
treecommandfindcommandcountcommandsearchcommand- manual pages (
man)
- Backup system
- Recovery system
- Troubleshooting utilities
- App sandbox
- Package manager
- Application permissions
- Plugin support
- Windows-focused architecture
- No true multitasking
- No kernel-level isolation
- No app sandboxing yet
- Backup system still in development
PyOS includes a programming quote dataset containing quotes from various authors in computer science and software engineering.
All quotes remain the intellectual property of their respective authors.
The dataset is used for educational and non-commercial purposes.
Dataset Source: GitHub URL
PyOS is NOT a real operating system kernel.
PyOS is:
- An operating system simulator
- A systems programming project
- A shell architecture experiment
- A learning platform for OS concepts
- A practical Python engineering project
Created by Rohith.
Built to explore:
- Operating systems
- Filesystem design
- Authentication systems
- Security models
- Command-line environments
- Software architecture
This project is intended for learning, experimentation, and educational use.
PyOS started as a simple Python terminal project and evolved into a structured operating system simulator featuring:
- Authentication
- Virtual filesystems
- Security controls
- User environments
- Runtime applications
- Logging infrastructure
- Theme support
- Administrative controls
"Talk is cheap. Show me the code." β Linus Torvalds






