Skip to content

darkhpk/pom

Repository files navigation

Python Mobile IDE

A mobile Python IDE built with Flutter that allows you to create, edit, and run Python scripts and projects directly on your mobile device.

Build Status Release Status

Features

  • Project Management: Create and manage multiple Python projects
  • File Browser: Browse and organize Python files within projects
  • Code Editor: Full-featured code editor with Python syntax highlighting
  • Run Scripts: Execute Python scripts with a single tap of the Run button
  • Console Output: View script output in an integrated console
  • Dark Theme: Optimized dark theme for comfortable coding

Project Structure

lib/
├── main.dart                      # App entry point
├── models/
│   ├── python_file.dart          # File model
│   └── python_project.dart       # Project model
├── screens/
│   ├── project_list_screen.dart  # Main screen showing all projects
│   ├── file_browser_screen.dart  # File browser for a project
│   └── code_editor_screen.dart   # Code editor with run functionality
├── services/
│   ├── file_service.dart         # File system operations
│   └── python_executor.dart      # Python script execution
└── widgets/
    └── console_widget.dart        # Console output display

How to Run

  1. Install dependencies:

    flutter pub get
  2. Run the app:

    flutter run

Download Pre-built Releases

Don't want to build from source? Download ready-to-use builds:

  1. Go to the Releases page
  2. Download the build for your platform:
    • Android: python-ide-android.tar.gz (APK inside)
    • iOS: python-ide-ios.tar.gz (unsigned IPA)
    • Windows: python-ide-windows.zip
    • macOS: python-ide-macos.tar.gz
    • Linux: python-ide-linux.tar.gz
    • Web: python-ide-web.tar.gz
  3. Extract and run

From GitHub Actions (Latest Development Build)

  1. Go to the Actions tab
  2. Click on the latest successful Build for All Platforms workflow
  3. Scroll down to Artifacts
  4. Download your platform

CI/CD

This project uses GitHub Actions for automated building:

  • Continuous Integration: Automatic builds on every push/PR
  • Multi-platform: Builds for Android, iOS, Windows, macOS, Linux, and Web
  • Automated Testing: Runs tests and code analysis
  • Release Automation: Creates platform-specific releases

See CICD.md for detailed documentation.

Requirements

  • Flutter SDK 3.5.0 or higher (Dart SDK 3.5.0+)
  • Python installed on the device for script execution
    • On Android: You can use Termux to install Python
    • On desktop: System Python installation

Usage

  1. Create a Project:

    • Tap the + button on the home screen
    • Enter a project name
    • A new project with a sample main.py file will be created
  2. Browse Files:

    • Tap on a project to view its files
    • Create new Python files using the + button
  3. Edit Code:

    • Tap on a .py file to open it in the editor
    • The editor features Python syntax highlighting with a dark theme
  4. Run Scripts:

    • Tap the Play button (▶) in the top right to run your script
    • View output in the console that appears below the editor
    • Toggle console visibility with the Terminal icon
  5. Save Files:

    • Tap the Save button (💾) to save your changes
    • Files are automatically saved before running

Python Execution

The app executes Python scripts using the system Python installation. For mobile devices:

  • Android: Install Python via Termux or use a Python-enabled environment
  • iOS: Limited Python execution capabilities (requires additional setup)
  • Desktop: Uses system Python installation

The Python executor runs scripts in a subprocess and streams output to the console in real-time.

Customization

You can customize the editor theme by modifying the CodeThemeData in code_editor_screen.dart. Currently using the Monokai Sublime theme.

Future Enhancements

  • Interactive Python console (REPL)
  • Code completion and suggestions
  • Multiple file tabs
  • Search and replace in files
  • Git integration
  • Package management (pip)
  • Virtual environment support
  • Code snippets and templates
  • Collaborative editing

Contributing

Feel free to contribute to this project by submitting issues or pull requests.

License

This project is open source and available under the MIT License.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages