Rope's main goal is being a good refactoring tool for python. It also provides some IDE helpers. If you would like to contribute, you're welcome to!
Rope's mailing list is rope-dev (at) googlegroups.com. Click the "Join group to post" button to subscribe. Then:
- Use rope
- Send bug reports and request features
- Submit patches for bugs or new features
- Discuss your ideas
You are welcome to send your patches to the rope-dev (at) googlegroups.com mailing list. Here is a list of suggestions.
The dev/issues.rst 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.
See ropemacs, ropevim, eric4 and ropeide.
Rope package structure:
- rope.base: the base part of rope
- rope.refactor: refactorings and tools used in them
- rope.contrib: IDE helpers
Have a look at __init__.py
of these packages or library.rst for
more information.
Rope uses GitHub. The repository exists at `https://github.com/python-rope/rope`_.
Patches are welcome.
- Follow PEP 8.
- Use four spaces for indentation.
- Include good unit-tests when appropriate.
- Rope test suite should pass after patching
Rope uses pytest as a test runner per default (although the tests are strictly unittest-based), so running:
pytest -v
or:
python3 -munittest -v discover
runs all tests. Make sure to have complete test suite passing and add new tests for the changes you are providing with each new submission.
All required packages for development could be installed with:
pip install -e .[dev]
Follow the instructions on GitHub on how to setup Git and fork the python-rope/rope repository. Once your changes are ready, send a pull request for review.