Mecanismo open source de refatoração automatizada que aplica recipes ao código-fonte em vários repositórios, incluindo migrações de frameworks e correções de segurança.
python-rope/rope
Uma biblioteca de refatoração para Python que faz transformações seguras no código, como renomear, mover e extrair trechos em um projeto.
Alternativa open source a:PyCharm
- Estrelas
- 2,245
- Forks
- 203
- Issues abertas
- 177
- Último commit
- ontem
O que é?
Rope é uma biblioteca Python voltada à refatoração de código-fonte. Ela analisa o código Python de um projeto e aplica mudanças estruturais, como renomear símbolos, mover definições entre módulos e extrair ou incorporar código, mantendo consistentes as referências entre arquivos.
Rope é escrita em Python puro e depende apenas do próprio Python, sem exigir Node.js ou outro runtime. Como o código é Python, desenvolvedores da linguagem podem lê-lo e modificá-lo. A biblioteca oferece suporte à maior parte da sintaxe do Python até a versão 3.10 e, desde a versão 1.0.0, não funciona mais com Python 2; o suporte às versões antigas do Python 2 está na branch python2 e nas versões 0.x.
Rope foi projetada para ser usada como biblioteca, normalmente por meio de integrações com editores e IDEs, e sua documentação aborda configuração e uso da API. Em comparação com Jedi, que oferece refatoração básica junto com recursos de autocomplete, Rope se concentra em um conjunto mais amplo de operações de refatoração.
Recursos principais
- 01Renomeia símbolos em um projeto Python e atualiza as referências
- 02Move e extrai funções, classes e módulos
- 03Oferece suporte à maior parte da sintaxe do Python até a versão 3.10
- 04Depende apenas do Python, sem exigir Node.js
- 05Pode ser usada como biblioteca em editores e IDEs
Casos de uso
- Renomear uma função ou classe muito utilizada em uma base de código Python grande
- Reestruturar módulos movendo código para novos arquivos
- Incorporar recursos de refatoração a um editor personalizado ou ferramenta Python
Antes de usar
- Suporta a maior parte da sintaxe do Python apenas até o Python 3.10, então pode haver lacunas no suporte à sintaxe mais recente.
- Licenciado sob a LGPL-3.0, uma licença copyleft cujos termos se aplicam às modificações da biblioteca.
- Não funciona no Python 2; usuários do Python 2 devem usar a branch python2 ou as versões 0.x.
Tópicos
Perguntas frequentes
- O que é rope?
- Uma biblioteca de refatoração para Python que faz transformações seguras no código, como renomear, mover e extrair trechos em um projeto. Rope é uma biblioteca Python voltada à refatoração de código-fonte. Ela analisa o código Python de um projeto e aplica mudanças estruturais, como renomear símbolos, mover definições entre módulos e extrair ou incorporar código, mantendo consistentes as referências entre arquivos.
- rope é gratuito? Qual é a licença?
- rope é open source sob a licença LGPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- rope ainda é mantido?
- Manutenção ativa. O último commit de rope foi em 5 de nov. de 2026.
- Para que posso usar rope?
- Renomear uma função ou classe muito utilizada em uma base de código Python grande Reestruturar módulos movendo código para novos arquivos Incorporar recursos de refatoração a um editor personalizado ou ferramenta Python
- Onde consigo rope?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/python-rope/rope
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um parser de PHP escrito em PHP que transforma código-fonte PHP em uma árvore sintática abstrata para análise estática e manipulação de código.
Uma ferramenta de CLI que busca, verifica e reescreve código usando padrões de árvores sintáticas abstratas em vez de texto simples.
Parser de Java 1 a Java 25 que gera uma árvore sintática abstrata e inclui um resolvedor de símbolos para localizar declarações e tipos.
Transforma uma base de código, sua documentação, schemas e PDFs em um grafo de conhecimento consultável por assistentes de programação com IA, criado localmente com parsing de AST usando tree-sitter.
Servidor MCP que indexa código, documentação e infraestrutura em um grafo de conhecimento local para que agentes de programação com IA consultem a estrutura sem reler arquivos.