Skip to content

UIU-Developers-Hub/PyDitor_v-2.0

Repository files navigation

PyDitor v2.0

PyDitor is a multi-language Integrated Development Environment (IDE) available as both a desktop application and web platform. Built with Electron, React, and FastAPI, it provides a comprehensive development environment with support for multiple programming languages.


📖 Overview

PyDitor is designed to support code execution, file management, and real-time collaboration, with future enhancements planned for integration with AI, Docker, and Firebase for extended capabilities.


🖥️ Distribution Types

1. Desktop Application (Primary)

  • Standalone executable for Windows, macOS, and Linux.
  • Local file system access, integrated terminal, and offline functionality.
  • Optimized for native performance.

2. Web Application (Secondary)

  • Browser-based access with cross-platform compatibility.
  • Cloud storage integration and real-time collaboration features.

🌐 Supported Languages

Current Support

  1. Python

    • Full language support with package management and virtual environment integration.
  2. C++

    • Compilation support with standard library and debug symbols.
  3. Java

    • JDK integration with class management and package support.
  4. JavaScript

    • Node.js support with modern ES features and NPM integration.

Core Features

1. Code Editor

  • Monaco Editor integration
  • Multi-language syntax highlighting
  • Code completion
  • Error diagnostics
  • Multiple themes
// Editor Configuration
{
    theme: "vs-dark",
    language: "python",
    automatic layout: true,
    minimap: { enabled: true }
}

⚙️ Core Features

1. Code Editor

  • Multi-language syntax highlighting, code completion, error diagnostics, and customizable themes.

2. File Management

  • Integration with local file systems, project workspace, and file tree navigation.

3. Code Execution

  • Multi-language execution, output streaming, error handling, and timeout management.

4. Development Tools

  • Integrated terminal, Git support, and package management.

Architecture

🚀 Future Work

Our goal is to make PyDitor a robust, adaptable IDE backend with the following future enhancements:

  • AI Integration: Intelligent code suggestions and error handling.
  • Firebase Integration: Real-time data synchronization.
  • Docker Compatibility: Seamless deployment and scalability.
  • Remote Code Execution: Support for running code remotely in various environments.
  • Plugin System: Extend functionality with customizable plugins.
  • Real-Time Collaboration Tools: Enable collaborative coding with live updates and shared sessions.

These enhancements aim to make PyDitor even more powerful, collaborative, and adaptable to a range of user needs.


👤 Author


📜 License

This project is licensed under the MIT License. You are free to use, modify, and distribute this software. See the LICENSE file for full license details.

MIT License

MIT License

Copyright (c) 2024 Sifat Ali

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published