My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Wiki pages
Links

This project aims to provide a modern, cross-platform, fully-featured and totally integrated development environment (IDE - CASE) for Python, including:

ide2py:

  • Interactive Shell with Introspection
  • Stylized Code Editor:
    • Autocompletion & Calltips
    • 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 Interface designer (HTML like) TODO
  • Deployment Tools support (py2exe or similar) pending

psp2py:

  • Storage of historical metric for statistical analysis (defect, times, LOCs)
  • Estimation tools and performance reports
  • Project Management (wiki & issues) tracking system

New!: See article at PyAr Magazine 4th ed., distributed at PyCon Argentina 2011 (presentation talk)

Updated!: See wiki RoadMap, ScreenShots, InstallationGuide, CodingStandard and CountingStandard

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)

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

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

This work is done initially as my degree thesis (see this article and this progress report), 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).

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.

The current 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)

Powered by Google Project Hosting