Skip to content

Latest commit

 

History

History
136 lines (87 loc) · 3.61 KB

contributing.rst

File metadata and controls

136 lines (87 loc) · 3.61 KB

Contributing to Rope

Getting Involved!

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!

How to Help Rope?

Rope's development happens in python-rope's Github.

Use python-rope's Github Issue Tracker to discuss development-related issues:

  • Send bug reports and request features
  • Submit patches for bugs or new features

Use python-rope's Github Discussion for other discussions, such as:

  • Help using rope
  • Help integrating rope with text editors/tools
  • Discuss your ideas
  • Engage with the rope community

Wish List

You are welcome to make pull requests in python-rope's Github Issue Tracker.

Here is a list of suggestions.

Issues

If this is your first time contributing in rope and you don't know where to start, tickets labeled good first issue is a good place start.

The unresolved issues list in Github is the latest todo list.

There is also a rather outdated list in dev/issues.rst. There is a section called "unresolved issues"; it contains almost every kind of task. This file will need some cleanup, thoughts, and discussions.

Pickup whichever you are most interested in. If you have ideas or questions about them, don't hesitate to create a Github ticket for it.

Write Plugins For Other IDEs

See ropemacs, ropevim, eric4 and ropeide.

Rope Structure

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.

Source Repository

Rope uses GitHub. The repository exists at `https://github.com/python-rope/rope`_.

Submitting pull requests

Pull requests are welcome.

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.

Programming Style

  • Follow black codestyle
  • Follow PEP 8.
  • Use four spaces for indentation.
  • Include good unit-tests when appropriate.
  • Rope test suite should pass after patching

Testing

Rope uses pytest as a test runner per default (although the tests are strictly unittest-based), so running:

pytest -v

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]