rad2py


Rapid Aplication Development platform for python

https://github.com/reingart/rad2py'>https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png' alt='Fork me on GitHub' border='0' align='right' />

rad2py Features

Updated!: for more info see wiki RoadMap, ScreenShots, InstallationGuide, ResearchThesis, CodingStandard and CountingStandard

ide2py

This project aims to provide a modern, cross-platform, fully-featured and totally integrated development environment (IDE - CASE) for Python, including: * Interactive Shell with Introspection * Stylized Code Editor (based on Scintilla): * Autocompletion & Calltips (thanks jedi!) * Highlight Syntax error, style issues (pep8), static checks (pyflakes) and doctests * Incorporated QdbRemotePythonDebugger * Remote Shell with introspection & Console redirection * Edit and continue (fix small typo errors on the fly!) * Quick inspect variables on mouse hover * Call stack and locals/globals pane * Repository support (mercurial by now) * File browser and local edition * Commands: Add, Remove, Commit, etc. * Visual side-by-side Diff, using wxpydiff * Visual Unittest integration, using pytong * Fluid GUI Interface designer (HTML like) gui2py * Deployment Tools support (py2exe or similar) pending * Legacy Visual Basic application migration, using vb2py experimental

https://rad2py.googlecode.com/hg/screenshots/ide2py-0.05-ubuntu.png

psp2py

Optional application to support the Carnnegie Mellon's SEI Personal Software Process (TM) for automatic metric recollection and continuous improvement: * Storage of historical metric for statistical analysis (defect, times, LOCs) * Estimation tools and performance reports * Simple Project Management (wiki & issues) tracking system

Research, Motivation and Goals

This work is done initially as my degree thesis (see this initial article, progress report, full degree thesis document, academic paper and ongoing master's thesis project), based on my personal experience and academic research, and it is intended to be used either for educational purposes and in real world commercial applications.

This project was motivated by the lack of a simple VB-like tool for python (knowing its drawbacks and lesson learned after using it) , but mostly by Python "IDEs" annoyances (specially by IDLE gotchas in the teaching room trying to teach Python, and also by the loss of productivity of such tools in my professional work for IT companies as freelancer).

The goal of this project is to be as simple as possible (i.e. an overhauled IDLE), so there is no plans to developed a plugin system (I think being python-based and open source is extensible enough) and no other language, web framework, ORM or GUI toolkit will be integrated (altough this project tools may be used to develop general python programs). There are plenty of other good specific tools that already support them.

While ide2py can be useful with other frameworks and toolkits, DAL and other gluon (web2py base libraries) will be adopted to unify and enable development of data-centric applications (relational model, and PostgreSQL will be the preferred backend for production): * Command line interface scripts * Visual interfaces using gui2py (wxPython based) * Web applications using web2py (WSGI compilant) * Legacy application migration from VB using vb2py (EBNF tool)

Additionally, to prevent common pitfalls of RAD regarding software quality, this aproach will follow Personal Software Process guidelines: * Planning, Design, Code, Review, Postmortem phases * Automatic Code size counting (LOC), time and defect log recording * Task Estimation and reporting

To avoid developer overload, this project will explore task-focused interfaces like Eclipse Mylyn, and Agile Application Lifecycle Management

Status

The initial proof-of-concept is based on wx examples (demo skeletons), and many parts were inspired/influenced by activegrid wx sample (pyide), wxpydev, pyragua, picalo, SPE, pythonwin, Ninja-IDE, DrPython and IDLE

The previous status (2012-01-13) is a working experimental prototype that support an integrated editor, debugger, interactive shell, repository explorer and PSP metric collection tools (some rough edges but totally functional, including support to web2py)

gui2py integration is underway (started on 2013), see the screenshot of gui2py visual tools in ide2py

vb2py project integration will be started on 2014

Final integrated prototype is expected to be available on January, 2015

News

Project Information

The project was created on Jun 23, 2011.

Labels:
python ide psp academic comercial gui web2py framework wxpython case shell editor debug metrics