Skip to main content
                            ██████╗ ██╗   ██╗    ██████╗  ██████╗ ███████╗
                            ██╔══██╗╚██╗ ██╔╝    ██╔══██╗██╔═══██╗██╔════╝
                            ██████╔╝ ╚████╔╝     ██║  ██║██║   ██║███████╗
                            ██╔═══╝   ╚██╔╝      ██║  ██║██║   ██║╚════██║
                            ██║        ██║       ██████╔╝╚██████╔╝███████║
                            ╚═╝        ╚═╝       ╚═════╝  ╚═════╝ ╚══════╝

A DOS-style terminal simulator built entirely in Python. Implements a virtual filesystem with file and directory management, a built-in package manager, system information display, and support for creating and running Python scripts from within the environment(Linux + MacOS only).

Python 3.7+

Features

  • Virtual filesystem with persistent state across sessions
  • Create, edit, view, copy, move, and rename text and executable files
  • Directory navigation and management (cd, cd .., /)
  • Run Python scripts from within the virtual filesystem
  • Live clock display in the terminal
  • Battery status and file encryption inside simulator
  • Built-in pip package manager (install / uninstall)
  • Command history (last 10 commands) saved and restored between sessions
  • Command pipelining with pipe operators (|)
  • Conditional execution with && operator (run next command only if previous succeeds)
  • Output redirection (>, >>, 2>, 2>&1, &>)
  • Input redirection (<)
  • Variable expansion with $VAR and ${VAR} syntax
  • Exit code support via $? special variable
  • Glob pattern expansion (*, ?, [...])
  • Echo command for printing text with variable substitution
  • Help system with detailed command documentation

Built-in Applications

Lantern

A peer-to-peer mesh chat application for PyDOS.

  • Host or join mesh chat rooms
  • Yggdrasil IPv6 mesh network support
  • Real-time messaging with other PyDOS instances
  • Commands: run setup for mesh network setup, run community to host or join chat

Lynx

A text-based web browser integrated into PyDOS.

  • Browse URLs directly from the terminal
  • Automatic lynx installation with OS detection (apt, pacman, dnf, brew, zypper)
  • Fallback manual installation instructions for unsupported systems
  • Cross-platform support: Windows, macOS, Linux
  • Commands: run web [url] to launch

RubOS (Rubus Engine)

A BASIC-inspired CLI language for creating custom applications within PyDOS.

Features:

  • Variables and arrays: let x = 5, let arr = [1, 2, 3]
  • Input/output: println, ask, read_file, write_file
  • Control flow: if/elif/else, while, loop, for
  • Functions: def greet(name) ... return ... end
  • List operations: append arr "item", menu ["Yes", "No"]
  • File operations: read_file "file.txt", write_file "out.txt" content
  • Utilities: clear, pause, color, exit, list_dir
  • Comments with #

Creating Custom Apps:

  • create -cli <appname> - Create a new RubOS application
  • Edit the generated main.rub file
  • Run the app by typing its name
  • Check app status with state <appname>

Example:

create -cli mygame
cd /home/user/apps/mygame
edit main.rub
mygame

Quick Start (No Installation Required)

If you have Python 3.7+ already installed, you can run PyDOS directly without installing pip:

cd /path/to/PY_DOS
PYTHONPATH=src python -m pydos

Or if you have the dependencies installed:

PYTHONPATH=src python3 -m pydos

Installation

Prerequisites

  • Python 3.7 or higher
  • pip/pipx (optional - only needed if you want to install as a package)

Installing pip (if not already installed)

Linux:

# Debian/Ubuntu
sudo apt update && sudo apt install python3-pip

# Fedora/RHEL
sudo dnf install python3-pip

# Arch
sudo pacman -S python-pip

# Alpine
sudo apk add py3-pip

macOS:

# With Homebrew
brew install python3

# Python 3 comes with pip by default

Windows:

# Download from https://www.python.org/downloads/
# Python 3.7+ includes pip by default

Windows:

python -m pip install --user pipx
python -m pipx ensurepath

Restart your terminal after running these.

macOS:

brew install pipx

Or without Homebrew:

python3 -m pip install --user pipx
python3 -m pipx ensurepath

Linux (Ubuntu/Debian):

sudo apt update && sudo apt install pipx

Linux (other distros):

python3 -m pip install --user pipx
python3 -m pipx ensurepath

Installing PyDOS

Using pipx (recommended):

pipx install Py-DOS-B1

Using pip:

pip install Py-DOS-B1

Running locally:

git clone https://github.com/basanta-bhandari/PY_DOS
cd PY_DOS
pip install -r requirements.txt
PYTHONPATH=src python -m pydos

Development install (editable mode):

git clone https://github.com/basanta-bhandari/PY_DOS
cd PY_DOS
pip install -r requirements.txt
pip install -e .
boot

On some systems a virtual environment is required first:

python -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate
pip install -r requirements.txt
PYTHONPATH=src python -m pydos

OS-Specific Package Manager Detection: When running Lynx, PyDOS automatically detects your system's package manager and attempts to install it:

  • Linux: apt, apt-get (Debian/Ubuntu), pacman (Arch), dnf (Fedora/RHEL), zypper (openSUSE), apk (Alpine)
  • macOS: brew (Homebrew)
  • Windows: Provides manual installation instructions
  • Fallback: Detailed manual installation instructions if automatic detection fails

Running PyDOS

boot

Commands

All directory, file & system commands can be viewed through the 'help' command.

Package Manager

install <package> ------> Installs a Python package via pip
uninstall <package> ---> Uninstalls a Python package via pip
packages -----------> Lists all installed packages

Editor

Text and executable files open in nvim on macOS/Linux and Notepad on Windows. When using nvim:

  • i -> enter insert mode
  • Esc -> exit insert mode
  • :wq -> save and exit
  • :q! -> exit without saving

Troubleshooting

  • Close and reopen your terminal
  • Windows: ensure the Python Scripts directory is in your PATH
  • macOS/Linux: ensure ~/.local/bin is in your PATH
  • Verify installation: python -m pip show Py-DOS-B1

Permission errors on Linux/macOS:

pip install --user Py-DOS-B1

Status: Beta (v1.2)
Enjoy your retro experience! Feel like a Boomer!

Metadata

Release files for Py-DOS-B1 1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Py-DOS-B1 1.6
File Size Uploaded
py_dos_b1-1.6.tar.gz 34.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Py-DOS-B1 1.6
File Interpreter ABI Platform
py_dos_b1-1.6-py3-none-any.whl Python 3 none any Details

Total release size: 75.0 kB

Release files / py_dos_b1-1.6.tar.gz

Download URL py_dos_b1-1.6.tar.gz
Size 34.8 kB
Tags Source
SHA-256 checksum
How to use checksums
19bfb8a73047d92b1ffd915995b98704feb99fec7941827a98c1ea29865b1719
BLAKE2b-256 checksum
How to use checksums
3e5d5c6b600355cf7d253243bd9e856a2c7683225b454be35f4f40e60ef3e4a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / py_dos_b1-1.6-py3-none-any.whl

Download URL py_dos_b1-1.6-py3-none-any.whl
Size 40.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3efe8a916bec9be4d24d67f940dc3dce5ea1af14c3ed57990f4e935bdbf389ec
BLAKE2b-256 checksum
How to use checksums
215c99b103738d51ba95b3de2865edac0ce57772fd43d9dbab0b5b01be8a33b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

1.6 This release

2 release files

1.5

2 release files

1.4

2 release files

1.3

2 release files

1.2

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page