color version - PET: Python Entre Todos - Python Argentina
color version - PET: Python Entre Todos - Python Argentina
color version - PET: Python Entre Todos - Python Argentina
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
NINJA-IDE, an IDE thought for <strong>Python</strong><br />
How did NINJA-ID start<br />
Authors: Diego Sermentero, Santiago<br />
Moreno<br />
Both System’s Engineering Students that<br />
develop free software for the love of it<br />
Website: http://ninja-ide.org<br />
Twitter:<br />
• @diegosarmentero<br />
(http://twitter.com/diegosarmentero),<br />
• @f4llen_4ngel<br />
(http://twitter.com/F4LLEN_4NGEL),<br />
• @ninja_ide<br />
(http://twitter.com/ninja_ide)<br />
NINJA-IDE was born from a few e-mails sent to PyAr, mails which topic was quite<br />
frequent on the mailing list: “Which is a good IDE for <strong>Python</strong>”, “Why isn’t there a<br />
<strong>Python</strong> IDE that has this or that feature” and the responses to those e-mails were<br />
always more or less the same as the available IDEs were, in general, not designed for<br />
<strong>Python</strong> just provided the option to integrate it through a plugin so you would end up<br />
using a heavy IDE designed for something else where <strong>Python</strong> support was minimal, or<br />
very oriented to a specific framework or not free. So, motivated by the challenge it<br />
represented and some interesting ideas laid out in the mailing list we decided to start<br />
this project with a single focus: “what features should a good IDE have for a <strong>Python</strong><br />
programmer”.<br />
• Being written in <strong>Python</strong> and PyQt, it is multi-platform and it has been tested in<br />
Linux, Mac OSX and Windows systems<br />
• Syntax highlighting for a variety of languages (though centered in <strong>Python</strong>, syntax<br />
highlighting is provided for a variety of other languages for all programmers’<br />
benefit)<br />
• Ability to use a <strong>Python</strong> console within the same IDE<br />
• Integrated project management functionality, recognizing python projects and<br />
allowing for the creation of new files and folders within the IDE, automatic<br />
“__init__” file creation with the module’s information, etc.<br />
• Interface’s panels layout is fully and easily customizable, adapting to the user’s<br />
preferences<br />
• It allows for more than one editor to be visible at the same time, either horizontally<br />
or vertically<br />
• Extensible through plugins (which can be created using a NINJA-IDE plugin more<br />
easily)<br />
• IDE session support, recovers opened files and projects when the IDE was closed<br />
upon opening a new instance<br />
• Auto-complete support (specific to the object being accessed)<br />
• Update notifications<br />
• Lots more!<br />
With that we started developing NINJA-IDE, its name being a recursive acronym: “Ninja<br />
Is Not Just Another IDE”. The IDE has been developed for only 7 months now but, thanks<br />
to the willpower and programming hours devoted to it, we already have a <strong>version</strong> 1.1 of<br />
it with a lot of functionality. Since its first week of development, NINJA-IDE is used to<br />
develop NINJA-IDE helping us find bugs, enhance the application’s usability and<br />
usefulness through our own experience and continuous use of the tool.<br />
The project is developed under the free GPL3 license and its code can be obtained at<br />
http://ninja-ide.googlecode.com<br />
Some of the IDE’s current features are:<br />
• Common IDE features for file management, tabs, automatic indentation, editing<br />
zoom, etc.