Source

rope_py3k / docs / contributing.txt

Full commit
Ali Gholami Rudi 5a268e3 


















Ali Gholami Rudi ad04a65 
Ali Gholami Rudi 5a268e3 
Ali Gholami Rudi ad04a65 





Ali Gholami Rudi 5a268e3 




Ali Gholami Rudi afae9da 
Ali Gholami Rudi ad04a65 


Ali Gholami Rudi 9a44c24 










Ali Gholami Rudi ad04a65 


Ali Gholami Rudi 9a44c24 

Ali Gholami Rudi 5a268e3 
Ali Gholami Rudi 2828959 


Ali Gholami Rudi 9a44c24 
Ali Gholami Rudi 2828959 

Ali Gholami Rudi 9a44c24 
Ali Gholami Rudi 2828959 

Ali Gholami Rudi 5a268e3 











Ali Gholami Rudi 17e75da 
Ali Gholami Rudi 5a268e3 

















Ali Gholami Rudi cd748f9 
Ali Gholami Rudi 5a268e3 







Ali Gholami Rudi 9e5aca9 







Ali Gholami Rudi 28beff3 

Ali Gholami Rudi 9e5aca9 
Ali Gholami Rudi 5a268e3 


Ali Gholami Rudi 17e75da 
Ali Gholami Rudi 5a268e3 






Ali Gholami Rudi 28beff3 
======================
 Contributing to Rope
======================


Get Involved!
=============

Rope was started because of the lack of good refactoring tools for
python.  But after observing python IDE limitations we grew bigger
ideas in our heads.

If you want to have a more powerful python IDE and have big ideas
in your head, you are welcome to get involved.


How to Help Rope?
=================

Rope mailing list:  `rope-dev (at) googlegroups.com`_

* Use rope
* Send bugs reports and request features
* Submit patches for bugs or new features
* Discuss your ideas

.. _`rope-dev (at) googlegroups.com`: http://groups.google.com/group/rope-dev


Wish List
=========

If you're interested you are welcome to discuss your ideas in
`rope-dev (at) googlegroups.com`_ mailing list or send your patches.
Here is only a list of suggestions.

Issues
------

The `dev/issues.txt`_ file is actually the main rope todo file.  There
is a section called "unresolved issues"; it contains almost every kind
of task.  Most of them need some thought or discussion.  Pickup
whichever you are most interested in.  If you have ideas or questions
about them, don't hesitate to discuss it in the mailing list.

.. _`dev/issues.txt`: dev/issues.html

Getting Ready For Python 3.0
----------------------------

Checkout http://rope.sf.net/hg/rope_py3k Mercurial_ repository.
Contributions are welcome.

Write Plugins For Other IDEs
----------------------------

See ropemacs_ and ropeide_.


.. _ropemacs: http://rope.sf.net/ropemacs.html
.. _ropeide: http://rope.sf.net/ropeide.html


Formatting
----------

You can format python source code.  This probably needs using ASTs and
writing them.

Detecting Warnings
------------------

This might include detecting unused variables and imports or
unreachable statements.  `rope.base` can help, too.  Currently rope
detects things like redefined elements and assignment to self.

Modules Without Source Code
---------------------------

Rope cannot know anything about python C extensions and modules
without matching source code.  Some information can be gathered using
`inspect` module.  But it's not safe; Yet better than nothing.  This
requires a good knowledge of `rope.base`.


Rope Structure
==============

Rope package structure::

  rope
    base
    refactor
    contrib

Have a look at ``__init__.py`` of packages for finding their
description.  Also have a look at `library.txt`_ for a few
examples.

.. _`library.txt`: library.html


Source Repository
=================

Rope uses Mercurial_ CMS:

* Rope main branch: http://rope.sourceforge.net/hg/rope
* Rope py3k branch: http://rope.sourceforge.net/hg/rope_py3k

.. _Mercurial: http://selenic.com/mercurial


Submitting patches
==================

Patches to rope's code are welcome.

Patch style
-----------

* Follow :PEP:`8`.
* Use four spaces for indentation.
* Include good unit-tests if possible.
* Rope test suite should pass after patching