Pide
Pide
Presented by : K.Prasanth (10K11A0576) K.Pavan Kumar (10K11A05A4) Ruchin Kumar Sharma (10K11A05B1) A.Santosh Jaggappa Rao (11K15A0513)
Abstract
To simplify the process of the python development by means of developing an integrated development environment, which enables quicker and efficient development of python projects by enabling various features in the IDE such as Auto Completion, Code Library, Error Analysis, Project Management, Search within code, Snippets, PEP-8 Validation, Profiler.
Introduction
Integrated Development Tools plays a major role in development of Software Projects varying from small scale to large scale. IDEs play a major role in reducing the workload of the programmer.They also provides programmers access to different tools such as Debugger, Profiler, Auto Completion.
Komodo
Not an open source IDE No support for PEP-8 Validation
Proposed System
Develop an IDE independent of external plugins and tools
Advantages
Open Source IDE
Independent of 3rd party plugins or software PEP-8 Validator to improve code consistency Profiler to optimize hotspots Easier Maintenance and Extension with the help of python modules
Comparison
Eclipse Komodo PIDE
PEP-8 Validation
Profiler
System Requirements
Software Requirements
Operating System FrontEnd : Windows, Mac OS X, Linux : PyQt4, Pywin32
Hardware Requirements
RAM Hard Disk : 256 MB : 256 MB
Modules
Code Editor Compiler Pep8 Validator Profiler
Code Editor
Main Module of the System Provides Interface for the User to Write the Source Code
Compiler
Scanning : breaks the input into list of tokens
Parsing : ensures that a list of tokens has valid syntax Semantic Analysis: traverses the Abstract Syntax Tree
according to the grammar and generates Abstract Syntax Tree(AST)
(AST), collecting information and checking that input program had no semantic errors generates the intermediate representation of the source code
Parsing
Pep8 Validator
PEP - Python Enhancement Proposals Pep8: Style Guide for Python Development Automates Pep8 Validation using Existing Manual Pep8 Validator Improves code readability and helps to maintain consistency of the source code over large group of developers
Profiler
Analyzes the Code Performance and detects the Hotspots The code profiler analyzes programs on function-byfunction basis, tracking which function calls are made, and how long calls take to complete. It helps the developers to optimize their code
Usecase
Class Diagram
Sequence Diagram
Activity Diagram
Pep8 Alerts
Profiler Results
Tracer
Conclusion
Python IDE is developed with the following features, such as Profiler, Pep8 validator, Syntax Highlighter, Code Library, Code Snippets, Code Intelligence. Etc.
Dependencies
Python3 ( For Running Programs )
Pyflakes ( Python Passive Checker ) PyQt4 ( To Develop GUI Widgets like Buttons, Text Boxes.. etc. ) Pywin32 ( For stamping executables if running from source code ) Rope ( Python Refactoring Library )
Future Work
Support for Custom Light and Dark Themes in the Editor
Support for Syntax Coloring for XML, HTML and CSS Support for other Scripting Languages that accompany Python Development
ANY QUERIES ?
Thank You