Python-Based IDE Project A powerful yet simple Python Integrated Development Environment (IDE) designed to enhance productivity for Python developers and data scientists. The IDE comes with modern features like debugging, intelligent auto-completion, syntax highlighting, and more to provide an efficient coding experience for writing, debugging, and testing Python code. Features -Full-Featured Code Editor: Supports Python syntax highlighting, linting, and error reporting in real-time. Line numbering, bracket matching, and code folding for better readability and navigation. -Syntax Highlighting and Linting: Comprehensive highlighting for keywords, variables, classes, and more. Real-time linting using pylint for instant feedback on code quality. -Debugging with Visual Breakpoints: Integrated with Python's pdb for debugging, including stepping through code and inspecting variables. Set visual breakpoints directly in the editor by clicking on the line number. -Code Snippets and Custom Templates: Predefined snippets for common Python constructs like loops, functions, and classes. Easily create and manage custom templates for recurring code patterns. -Autosave and Session Restore: Autosave functionality that prevents data loss by saving work periodically. Session restore feature that reopens all previously open files and their unsaved changes upon IDE restart. -Customizable Shortcuts: Set default keyboard shortcuts for common actions like saving, running, and debugging. Fully customizable shortcuts to tailor your workflow. -Command Palette: Inspired by popular IDEs, enabling quick access to commands and IDE functions through typed input. Integrated File Explorer: A file explorer for browsing directories, creating new files/folders, and navigating project structures directly within the IDE. -Lightweight and Fast: Optimized for performance with lazy loading of large files and incremental linting, ensuring a responsive user experience. Project Scope -The Python-Based IDE aims to serve: Beginner Developers looking for an accessible yet effective Python coding environment. Data Scientists who need a straightforward interface to write, test, and debug Python scripts quickly. Advanced Developers who need productivity features such as debugging, code navigation, and code snippets for efficient development. The primary goal is to provide an intuitive coding experience while maintaining all essential tools needed to write, debug, and maintain Python code efficiently. Contributing We welcome contributions from the community to help improve this IDE. Here’s how you can contribute:
- Fork the Repository Fork this repository and create a new branch (feature/your-feature-name). Make your changes and ensure they adhere to the project's coding standards. Submit a Pull Request (PR) with a description of the changes and reference any related issues.
- Report Bugs Found a bug? Please report it using the GitHub Issues page. Include steps to reproduce the bug, expected vs. actual results, and screenshots if applicable.
- Request New Features Have an idea for a new feature? Submit a feature request via GitHub Issues. Provide a detailed description of the feature, its use cases, and how it would benefit users.
- Improve Documentation Expand user guides, installation instructions, or code examples. Improved documentation makes it easier for new users to understand and use the project. Getting Started Prerequisites Python 3.8 or above is required. pip for installing dependencies. Git for cloning the repository.
The updated Future Work section includes integration with AI, Firebase, and Docker, along with capabilities for remote code execution, a plugin system, and real-time collaboration tools. This future scope aims to make the IDE even more powerful, collaborative, and adaptable to different user needs. Authors GitHub: Sifat Ali Email: [email protected]
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
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: