Skip to content
ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

131 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

PyShell - Python-Based Command Line Interface ๐Ÿ

A lightweight, powerful, and feature-rich terminal built with Python

Developed by @ansh.mn.soni


๐Ÿ“‹ Table of Contents


๐Ÿš€ Introduction

PyShell is a custom-built command-line interface (CLI) that revolutionizes the traditional terminal experience. Built entirely with Python, it combines the power of system commands with modern utilities like weather tracking, task scheduling, and multimedia playback. Whether you're a developer, system administrator, or power user, PyShell offers an intuitive and feature-rich environment for all your command-line needs.

Why PyShell?

  • ๐Ÿ”’ Secure: Built-in user authentication system
  • ๐ŸŽฏ Efficient: Lightweight with fast command execution
  • ๐Ÿ› ๏ธ Extensible: Easy to customize and extend
  • ๐ŸŒˆ Modern: Clean interface with customizable themes
  • ๐ŸŽต Multimedia: Play music directly from terminal
  • ๐Ÿ“Š Analytics: Built-in calculator with advanced operations

โœจ Key Features

๐Ÿ” Security First

  • User Authentication: Secure login system to protect your terminal session
  • Process Management: Safe process monitoring and control

๐Ÿ—๏ธ Core Functionality

  • Full Linux Command Support: ls, mkdir, touch, rm, cp, mv, and more
  • Advanced File Operations: File management with real-time synchronization
  • System Information: Comprehensive system monitoring with sysinfo
  • Network Utilities: Built-in network diagnostic tools

๐ŸŽฏ Productivity Tools

  • Task Scheduler: Schedule and manage tasks efficiently
  • Weather Integration: Real-time weather information
  • Password Generator: Create secure passwords instantly
  • Advanced Calculator: Basic arithmetic to complex calculus operations

๐ŸŽจ User Experience

  • Customizable Themes: Multiple color schemes and layouts
  • Clean Interface: Minimalist design for better focus
  • Music Player: Play songs directly through the terminal
  • Process Control: List, monitor, and manage system processes

๐Ÿ Getting Started

Prerequisites

Before installing PyShell, ensure you have:

  • Python 3.7 or higher
  • pip (Python package manager)
  • Internet connection (for weather API)

Quick Start

# Clone the repository
git clone https://github.com/AnshMNSoni/PyShell.git

# Navigate to the project directory
cd PyShell

# Install dependencies
pip install -r requirements.txt

# Run PyShell
python main.py

๐Ÿ“ฆ Installation

Method 1: Git Clone (Recommended)

git clone https://github.com/AnshMNSoni/PyShell.git
cd PyShell
pip install -r requirements.txt

Method 2: Download ZIP

  1. Download the ZIP file from the GitHub repository
  2. Extract the contents
  3. Open terminal in the extracted folder
  4. Run: pip install -r requirements.txt

Dependencies

The following Python packages are required:

  • requests - For weather API calls
  • colorama - For colored terminal output
  • pygame - For music playback functionality
  • schedule - For task scheduling
  • psutil - For system information and process management

โš™๏ธ Configuration

Weather API Setup

  1. Sign up for a free account at OpenWeatherMap
  2. Get your API key from the dashboard
  3. Replace the API key in the code:
    # Inside get_weather function
    api_key = "YOUR_API_KEY_HERE"

Customization Options

  • Theme Selection: Use the terminal command to change colors
  • Default Directory: Set your preferred starting directory
  • Command Aliases: Create custom shortcuts for frequently used commands

๐Ÿ’ก Usage Examples

Basic File Operations

# List files and directories
ls
ls -all

# Create directories and files
mkdir my_project
touch README.md

# Remove files
rm unwanted_file.txt

Weather Information

# Get current weather
weather London
weather "New York"

Calculator Operations

# Basic arithmetic
calc 2 + 3 * 4

# Advanced operations
calc sin(45)
calc log(100)
calc derivative(x^2)

Task Management

# Schedule a task
schedule "Backup files" 14:30
schedule "System update" tomorrow 09:00

Music Playback

# Play music
play music/song.mp3
play ~/Music/playlist/

๐Ÿ› ๏ธ Available Commands

File System Commands

Command Description Example
ls List directory contents ls -all
cd Change directory cd Documents
mkdir Create directory mkdir new_folder
touch Create file touch file.txt
rm Remove file/directory rm file.txt
cp Copy file/directory cp source dest
mv Move/rename file mv old.txt new.txt

System Commands

Command Description Example
sysinfo System information sysinfo
network Network diagnostics network status
kill Terminate process kill 1234

Utility Commands

Command Description Example
weather Weather information weather London
calc Calculator calc 2^8
schedule Task scheduler schedule "Meeting" 15:00
play Music player play song.mp3
terminal Change theme Galactic Empire

๐ŸŽฏ Features Showcase

๐Ÿ” User Authentication

Secure login system that protects your terminal session from unauthorized access.

๐Ÿ“… Task Scheduling

Intelligent task scheduler that helps you organize your daily activities and system maintenance tasks.

๐ŸŒค๏ธ Weather Integration

Real-time weather information powered by OpenWeatherMap API, supporting global locations.

๐Ÿงฎ Advanced Calculator

From basic arithmetic to complex calculus operations including:

  • Trigonometric functions
  • Logarithmic calculations
  • Derivative and integral computations
  • Statistical operations

๐ŸŽต Music Player

Built-in music player supporting multiple formats:

  • MP3, WAV, OGG support
  • Playlist management
  • Background playback

๐ŸŽจ Theme Customization

Multiple color schemes and interface layouts:

  • Galactic Empire
  • Hacker Green
  • Atomic-Lite
  • And many more

๐Ÿค Contributing

We welcome contributions from the community! Here's how you can help:

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Contribution Guidelines

  • Follow PEP 8 style guidelines
  • Write clear, concise commit messages
  • Add tests for new features
  • Update documentation as needed
  • Ensure backward compatibility

Areas for Contribution

  • ๐Ÿ› Bug fixes and improvements
  • ๐Ÿ“š Documentation enhancements
  • ๐ŸŽจ UI/UX improvements
  • ๐Ÿ”ง New command implementations
  • ๐Ÿงช Test coverage expansion
  • ๐ŸŒ Internationalization support

๐Ÿ—บ๏ธ Roadmap

Version 2.0 (Coming Soon)

  • Upscaling: We Upscale PyShell to Operating systems (i.e. MyOS)

๐Ÿ“ž Support

Getting Help

  • ๐Ÿ“– Documentation: Check this README and inline help commands
  • ๐Ÿ› Issues: Report bugs on GitHub Issues
  • ๐Ÿ’ฌ Discussions: Join community discussions on GitHub
  • ๐Ÿ“ง Email: Contact the maintainer directly

Community


๐Ÿ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Thanks to all contributors and users who make PyShell better
  • OpenWeatherMap for providing weather data
  • The Python community for excellent libraries and tools
  • Everyone who provided feedback and suggestions

๐ŸŽ‰ Thank You!

Thank you for choosing PyShell! We hope it enhances your command-line experience. If you find it useful, please consider:

  • โญ Starring the repository
  • ๐Ÿ”„ Sharing with your network
  • ๐Ÿ› Reporting issues or bugs
  • ๐Ÿ’ก Suggesting new features
  • ๐Ÿค Contributing to the project

Happy Coding! ๐Ÿš€


Made with โค๏ธ by Ansh Soni

About

Future of Terminals

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages