OpenRewrite — движок автоматического рефакторинга с открытым исходным кодом: он применяет рецепты к коду во множестве репозиториев, помогая мигрировать на новые версии фреймворков и устранять уязвимости.
python-rope/rope
Библиотека рефакторинга Python-кода, которая безопасно переименовывает, перемещает и извлекает код в рамках проекта.
Open source альтернатива:PyCharm
- Звёзды
- 2,245
- Форки
- 203
- Открытые issues
- 177
- Последний коммит
- вчера
Что это?
Rope — библиотека Python для рефакторинга исходного кода. Она анализирует Python-код проекта и вносит структурные изменения: переименовывает символы, перемещает определения между модулями, извлекает или встраивает код, сохраняя согласованность ссылок между файлами.
Rope написана на чистом Python и зависит только от самого Python — Node.js и другие среды выполнения не нужны. Код написан на Python, поэтому Python-разработчики могут читать и изменять его. Библиотека поддерживает большинство синтаксических конструкций Python вплоть до Python 3.10. Начиная с версии 1.0.0, Rope больше не работает с Python 2; поддержка старых версий Python 2 доступна в ветке python2 и выпусках 0.x.
Rope предназначена для использования в качестве библиотеки, обычно через интеграции с редакторами и IDE. В документации описаны настройка и использование API. В отличие от Jedi, которая наряду с автодополнением предлагает базовый рефакторинг, Rope специализируется на более широком наборе операций рефакторинга.
Ключевые возможности
- 01Переименовывает символы во всём Python-проекте и обновляет ссылки на них
- 02Перемещает и извлекает функции, классы и модули
- 03Поддерживает большинство синтаксических конструкций Python вплоть до Python 3.10
- 04Зависит только от Python, Node.js не требуется
- 05Используется как библиотека из редакторов и IDE
Сценарии использования
- Переименование часто используемой функции или класса в большой кодовой базе на Python
- Перестройка структуры модулей путём переноса кода в новые файлы
- Добавление возможностей рефакторинга в собственный редактор или инструмент для Python
Что важно знать
- Поддерживается большая часть синтаксиса Python только до Python 3.10, поэтому для более новых конструкций возможны пробелы в поддержке.
- Распространяется по лицензии LGPL-3.0 — лицензии с авторским левом, условия которой распространяются на изменения библиотеки.
- Не работает в Python 2; пользователям Python 2 следует использовать ветку python2 или выпуски 0.x.
Темы
Частые вопросы
- Что такое rope?
- Библиотека рефакторинга Python-кода, которая безопасно переименовывает, перемещает и извлекает код в рамках проекта. Rope — библиотека Python для рефакторинга исходного кода. Она анализирует Python-код проекта и вносит структурные изменения: переименовывает символы, перемещает определения между модулями, извлекает или встраивает код, сохраняя согласованность ссылок между файлами.
- rope можно использовать бесплатно? Какая у него лицензия?
- rope распространяется с открытым исходным кодом под лицензией LGPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- rope всё ещё поддерживается?
- Активно поддерживается. Последний коммит в rope — 5 нояб. 2026 г..
- Для чего можно использовать rope?
- Переименование часто используемой функции или класса в большой кодовой базе на Python Перестройка структуры модулей путём переноса кода в новые файлы Добавление возможностей рефакторинга в собственный редактор или инструмент для Python
- Где скачать rope?
- Исходный код и инструкции по установке — на GitHub: https://github.com/python-rope/rope
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Парсер PHP, написанный на PHP: преобразует исходный код в абстрактное синтаксическое дерево для статического анализа и обработки кода.
CLI-инструмент для поиска, линтинга и переписывания кода по шаблонам AST, а не по обычному тексту.
Парсер Java от версии 1 до Java 25, который строит абстрактное синтаксическое дерево, и модуль для разрешения ссылок на объявления и типы.
Преобразует кодовую базу, документацию, схемы и PDF в граф знаний для AI-ассистентов разработки, который можно запрашивать; строит его локально с помощью разбора AST через tree-sitter.
MCP-сервер индексирует код, документацию и инфраструктуру в локальный граф знаний, чтобы AI-агенты для программирования могли изучать структуру проекта, не перечитывая файлы.