21.01.2015 Views

color version - PET: Python Entre Todos - Python Argentina

color version - PET: Python Entre Todos - Python Argentina

color version - PET: Python Entre Todos - Python Argentina

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!