Python rope
Details
| Last Update: | 2008-02-13 23:09:29 |
| Version: | 0.7.7 |
| License/Program Type: | GPL (GNU General Public License) |
| Publisher: | Ali G Rudi |
| Price: | $0.00 |
Description:
rope is a Python IDE. Python rope's main goal is to provide
features like auto-completion, refactorings, content assistance,
and outlines.
Refactoring: In recent years refactoring has become a
basic task of everyday programing, specially in java community. In
the agile programing methodologies, like Extreme Programing,
Refactoring is one of the core practices.
Some IDEs support some basic refactorings like 'PyDev' (which
uses bicycle repair man). These IDEs have a limited set of
refactorings and fail when doing refactorings that need to know the
type of objects in the source code (specially for relatively large
projects). rope tries to provide a rich set of refactorings. Some
of the refactorings require type inferencing which is described
later.
Auto Completion: One of the basic features of modern
IDEs is the availability of auto-completion. Some Python IDEs have
auto-completion support but in a limited form. Since the type of
many variables cannot be deduced from simple analysis of the source
code. Auto-completing modules names, class names, static methods,
class methods, function names and variable names are easy. But
auto-completing the methods and attributes of an object is hard.
Because the IDE needs to know the type of the object that cannot be
achieved easily most of the time in dynamic languages. rope uses
Type Inferencing algorithms to solve this problem.
Type Inferencing: One disadvantage of dynamic languages
like python is that you cannot know the type of variables by a
simple analysis of program source code most of the time. Knowing
the type of variables is very essential for providing many of the
refactorings and auto-completions. rope will use type inferencing
to overcome this problem.
Static type inferencing uses program source code to guess the
type of objects. But type inferencing python programs is very hard.
There have been some attempts though not very successful (examples:
psycho: only str and int types, StarKiller: wasn't released and
ShedSkin: good but limited). They where mostly directed at speeding
up python programs by transforming its code to other typed
languages rather than building IDEs. Such algorithms might be
helpful.
There is another approach toward type inferencing. That is the
analysis of running programs. This dynamic approach records the
types variables are assigned to during the program execution.
Although this approach is a lot easier to implement than the
alternative, it is limited. Only the parts of the program that are
executed are analyzed. If developers write unit tests and use test
driven development this approach works very well.
Requirements:
· Python
What's New in This Release:
· python_files project config was added.
· When finding modules, python_path project config is
searched before sys.path.
· AutoImport.clear_cache() and
codeassist.starting_expression() were added. Except variables are
handled.
· Refactorings and code-assists are considerably
faster.
· Some bugs were fixed.
0 comments
Add to
Python rope Version History
Related Software
|
|
From category: Filters |
| CRM114 Discriminator 20060704a is filters software developed by Crah the Merciless. CRM114 is a system to examine incoming e-mail, data files or other data streams, system log streams and to sort,... |
|
|
From category: Others |
| Ed 0.2 is others software developed by Andrew Moore. Ed is a line-oriented text editor. It is used to create, display, modify and otherwise manipulate text files, both interactively and via shell s... |
|
|
From category: Markup |
| Bluefish 1.0.7 is markup software developed by Olivier Sessink. Bluefish is a programmer&039;s Web development editor written using GTK, designed to save the experienced webmaster some keystrokes.... |
|
|
From category: Others |
| iText is a library that allows you to generate PDF files on the fly.... |
|
|
From category: Others |
| Enca 1.9 is others software developed by David Necas. Enca detects the encoding of text files, on the basis of knowledge of their language. Enca is an Extremely Naive Charset Analyser. It de... |
|
|
From category: Indexing |
| DocMgr 0.57 is indexing software developed by Timo Springmann. DocMgr project is a full-featured document management system that incorporates automatic indexing of uploaded files, automatic conten... |
|
|
From category: Markup |
| GutenMark is a Project Gutenberg markup tool.... |
|
|
From category: Markup |
| Syntext Serna is a highly customizable, multi-platform, pure XSL-driven WYSIWYG XML content editor.... |
|
|
From category: Vim-Plugins |
| Unicode Macro Table is a Vim script that allows you to easilyr egister insert mode macros for useful Unicode characters.... |
|
|
From category: Markup |
| ivt2html is a cunning utility that converts .ivt files back into standard HTML.... |
|
|
From category: Markup |
| docbooktoc.xsl 0.1.0 is markup software developed by Robert Bienert. docbooktoc.xsl is a XSLT file for generating a XHTML table of contents from DocBook XML documents. It is used by the LayManSys p... |
|
|
From category: Others |
| PDF Split and Merge (pdfsam) is an easy-to-use tool that provides functions to split and merge PDF files or subsections of them.... |
|
|
From category: Emacs |
| enotes 1.2 is emacs software developed by Francois Fleuret. enotes is a small GNU Emacs script to handle appointments. enotes stores a list of notes, each with a title, a warning date, a date and o... |
|
|
From category: Others |
| EditPad 5.4.5 is others software developed by Jan Goyvaerts. EditPad for Linux is compatible with most recent Linux distributions, including SuSE 7.x and 8.x, Mandrake 7.x, 8.x and 9.x and Red Hat... |
|
|
From category: Markup |
| ServingXML is a markup language for expressing XML pipelines.... |
Leave a comment