Rope
jedi
Our great sponsors
Rope | jedi | |
---|---|---|
22 | 7 | |
1,824 | 5,636 | |
1.8% | - | |
9.1 | 7.4 | |
5 days ago | about 1 month ago | |
Python | Python | |
GNU Lesser General Public License v3.0 only | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Rope
-
In neovim ,how to do refactoring python code?
Hi, maintainer of rope here. There are a number of different options to use rope in Vim/Neovim, we've documented them in this page https://github.com/python-rope/rope/wiki/Rope-in-Vim-or-Neovim
-
Open Source Python libraries/projects that need contributions?
If you're looking for something with a bigger codebase, then the rope library in which pylsp-rope is based on is also welcoming of contributions.
-
Completion and auto imports
I think rope is the standard for refactoring, and should provide autoimports soon, though pyright might also be good for that.
-
NVIM: More complete autocomplete
rope
-
Making Python Code Idiomatic by Automatic Refactoring Non-Idiomatic Python Code with Pythonic Idioms
If you are interested in discussing this or have ideas you want to sketch out, meet me at rope's GitHub Discussion.
-
What motivates you writing open source software?
However, my biggest and most popular open source project is one that I don't originally write, but rather I inherited a popular project that has been abandoned by their original author/maintainers. I use Python a lot, so I wanted to contribute to the community in a significant way, so unlike my other projects I do take the time promoting this project as well. I felt it's more like a community service for this project.
-
What are some interesting open source projects to contribute code to?
I am the maintainer rope and pylsp-rope. They are libraries for automated Python refactoring and to do that from any LSP-capable editors. We are always welcoming contributors of all levels.
-
Why IDEs are Important
Rope has first class support for Vim and it can do a move refactoring, among other refactorings. From this, this feature is available from python-mode and ropevim.
-
Visual Studio Code is designed to fracture
rope
-
Why did you switch from another language to Rust? Do you regret not learning it earlier?
Okay this depends: if your code is static: perfectly possible for example with https://github.com/python-rope/rope (used for example by VS Code). If it's dynamic / generated via metaprogramming: I never tried it but I can't imagine that it'd work there, yes. However java tooling also can't do that because it simply doesn't support metaprogramming in any noteworthy way.
jedi
-
What are your bad python habits?
Or better, use refactoring tool like rope, jedi, or whatever you have in your IDE to rename them.
-
Get jedi working in Kate
Get jedi working in Kate · Issue #1539 · davidhalter/jedi
-
IDE Similar to PyCharm for Work
For text completion, Jedi. For automated refactoring, I highly recommend rope. Some of the previously mentioned plugins provides Vim integrations with these excellent tools.
-
The Database Inside Your Codebase
I've been playing with some ideas for creating a SQLite database of classes, functions and suchlike found in Python code, so I can analyze my codebases with SQL queries.
I've had some good initial results with https://github.com/davidhalter/jedi - which is the Python introspection library that powers various editor autocomplete implementations. I have a prototype which uses that to create a SQL database of functions, classes and places that they are used.
I've also been playing with https://github.com/github/semantic - it can parse Python, JavaScript and other languages and offers a --json-symbols option which dumps out a JSON object showing the symbols (functions, variables etc) found in the code.
What are some alternatives?
python-lsp-server - Fork of the python-language-server project, maintained by the Spyder IDE team and the community
Bowler - Safe code refactoring for modern Python.
python-language-server - An implementation of the Language Server Protocol for Python
RedBaron - Bottom-up approach to refactoring in python
sourcery - Instant AI code reviews to speed up your pull requests
Pylint - It's not just a linter that annoys you!
Python-mode - Vim python-mode. PyLint, Rope, Pydoc, breakpoints from box.
vim-slime - A vim plugin to give you some slime. (Emacs)
vim-lsp - async language server protocol plugin for vim and neovim
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.