Search

PIDA: the Python Integrated Development Application

March 8th, 2009 edited by Tincho

Article submitted by Javier Derderian. Guess what? We still need you to submit good articles about software you like!

PIDA screenshotPIDA is an IDE (integrated development environment) written in Python and the pygtk graphical toolkit. It is slightly different from other IDEs: rather than attempting to write a set of development tools of its own, PIDA reuses available tools. In this regards PIDA can be used as a framework for putting together your own customized IDE.

Although still a young application, PIDA already boasts a huge number of features because of the power of some of the tools it integrates. For example features such as code completion and syntax highlighting are well implemented in PIDA’s integrated editors far better than any editor built for a commercial IDE. PIDA currently features many code editing helpers: syntax highlighting, code completion, automatic indenting, block commenting, etc; project management, version control management, Python debugger and profiler, GTK+ GUI building and rapid application design.

Among the already integrated components you can find:

  • VIM and Emacs as embedded editors with full support of each one’s features:
    • Syntax Higlighting
    • Code completion
    • Plugins
  • Bazaar, Git, Subversion (and more) as version control systems.

It’s actually designed to program in any language, but it has some Python specific features like a Python shell. You can program you own plugins, and there’s a very nice API documentation to help you go trought the plugin development path.

Some already available plugins are:

Pastebin
Send code to a pastebin service
PdfTex preview
PdfTex preview compiles and displays pdf documents every time the buffer is saved.
Python
Show class/function from python file, and show compilation errors
Python Debugger
Python Debugger based on RPDB2 the WinPDB Back End
Unit Tester
Perform unit tests
Docbook browser
Browse local docbook
Todo manager
Manage a personnal todo list per project
RFC Viewer
Download RFC index, search and view RFC pages inside PIDA
Bazaar
This plugin, developed outside of the project, integrates lots of Bazaar function that are not included in the base version control integration

PIDA is a great way of keep using Vim and have a nice GUI around to help you work faster with the file browser, the project manager and the internal shells. You can get more info on using and developing PIDA in the handbook

There are official packages available in both Debian and Ubuntu for a long time now.

And remember: PIDA LOVES YOU!

Posted in Debian, Ubuntu |

10 Responses

  1. erKURITA Says:

    Awesome!! I was so looking for a good Python IDE. Thank you!

  2. Maxim Says:

    I was interested to read this, as a lightweight IDE might come in handy for those slightly-larger-than-small Python projects. So I went to check out the PIDA website and I was disappointed a bit.

    The latest release of the program is over a year and a half old, which is ancient in software terms. I know I’m writing this on a Debian website, so your ‘old’ is slightly different from my ‘old’, but even then a project that hasn’t released a proper update in 18 months is, well, not very alive, let’s put it that way…

  3. Sam Says:

    @maxim:

    Give the project a little credit. Maybe it’s gone a while without a release, and maybe the developers have even moved on, but the UI is at least using modern GTK features, and it seems to have a really good integration with version control.

    Perhaps a little more focus on the work than the tools?

  4. Shai Says:

    Apparently, PIDA doesn’t love me so much. Well, at least not on Debian. That’s because I love Emacs, and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=440374 has been open since mid 2007. Granted, arguably, it’s a debian-emacs bug; but PIDA could be more graceful about it, and it isn’t.

  5. Kirk Says:

    @Maxim, the website shows a version 0.6 screenshot, and the Trac shows that it should be coming out soon (2 weeks overdue): http://pida.co.uk/trac/roadmap

  6. PierreR Says:

    I wish PIDA a lot of success. I really like the idea.

    I have tried it a couple of months ago. The official stable version was dated back to 2007 (still is). The application start-up time was horrible (compared to vim or emacs). There was no comprehensive help either. It is not so obvious to figure out how to use some of the advanced features (debugger and the like).

    In short, PIDA 0.5.1 is immature and old. Still,the plugin development seems quite active.

    I know the usual opensource reply to this kind of comment is “do it yourself, join the community, …”

    I hope this post will boost the project, give it another life, … I can only advice your reader not to expect too much from 0.5.1.

    Good luck to PIDA. Wish you were here.

  7. Vadim P. Says:

    Hm… not a Python programmer, but going to give this a try - and IDE that tries to make everything *easier* for you, not just the coding but other related things like dvcs is worth checking out.

    Pity only of all graphical ide’s only MonoDevelop delivers this on Linux atm.

  8. Christoph Haas Says:

    pida is really the best idea. Integrating many geeks’ favorite editor with support for common revision control software (neither Wing nor Komodo support Git IMHO). The biggest drawback is that the panels don’t re-open where you left them after a restart of the application. And I hate to spend one minute re-arranging everything. I hope it gets fixed soon. So long I’ll probably stay on Komodo Edit.

  9. Ali Afshar Says:

    Thanks for the nice review.

    We are actually winding up to the 0.6 release. Beta is out now.

    Christoph: Yes, panels and widgets remember where they were, and start in the same places as they should.

    I accept all the criticism: long time without release, no docs, etc, and I won’t bore you with the usual “patches accepted” although patches are clearly gladly accepted!

    Since we got PIDA to a workable state about 2 years ago, we have mostly concentrated on using it, rather than developing it. It’s a shame, as without a huge amount of development it will never match the big boys, but it seems we have a solid stable niche, and we are quite happy with that.

    Wait, did I mention that “patches accepted!”.

  10. Daniel Poelzleithner Says:

    Beeing one of the PIDA core developers i would like to give my 2 cents, too :-)

    yes, the release attitude is not the best but we hope to change that in the future releasing more often, however, using trunk as it is nearly all the time stable is also an option.

    there was really i lot going on for the 0.6 release that pushed pida from a python IDE to a generic on, that can be used for all languages. a generic language framework allows plugins to provide support for features like outliners, code completion, looking up definitions, etc.
    if more then one plugin provide a support for a specific language feature, the user can override the ‘i can that good’ choice the framework does automatically.
    being young, the framework is not yet complete, a generic debugger interface is planned for 0.6.1 for example.

    some language plugin already exist like globals and ctags. providing outliner for may types of files.

    the change to anyvc, a offspring of pida increased the supported vcs backends and allows quick integration of new ones to which all apps using anyvc will profit.

    ohh, and a really killer feature i have to mention: PIDA is a keyboard ide, having to switch from mouse to keyboard all the time is an annoying thing, costs unnecessary time. we try that nearly everything that is in the workflow of the user can be done from the keyboard. There was a lot of improvements in 0.6.

    And for those who don’t like Vim nor Emacs there is Moo (Medit) editor backend, a gtksourceview based editor. A really good one I must mention :-)

    and so many other improvements.
    Help us squish the last bugs out and test pida trunk.

    we are on irc://irc.freenode.net/#pida