Rope
ixy-languages
Our great sponsors
Rope | ixy-languages | |
---|---|---|
22 | 30 | |
1,820 | 2,108 | |
1.6% | 0.4% | |
9.1 | 0.0 | |
8 days ago | over 1 year ago | |
Python | TeX | |
GNU Lesser General Public License v3.0 only | BSD 2-clause "Simplified" License |
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.
ixy-languages
-
The Garbage Collection Handbook, 2nd Edition
Not really, here it is winning hands down over Swift's ARC implementation.
- rust devs in a nutshell
- “Rust is safe” is not some kind of absolute guarantee of code safety
-
I wrote a database engine in Typescript
It's kind of funny when you see things like this project: https://github.com/ixy-languages/ixy-languages
-
What are my prospects in web programming, if I don't like JS?
like not-even-in-the-same-ballpark faster. In this realworld example (userspace network drivers in managed languages) JS manages about 20-30% of native code performance, python iirc is below 1%
-
Don’t call it a comeback: Why Java is still champ
- Support for generic-aware value types (struct vs. class) and low-level features like stackalloc: very valuable for high-performance scenarios and native FFI. See for instance https://github.com/ixy-languages/ixy-languages. In comparison, Java doesn't even have unsigned integers. Yes, Project Valhalla is coming someday.
As well, debatable to some folks, but: properties (get/set); operator overloading; LINQ > Java streams; extension methods; default parameters; collection initializers; tuples; nullable reference types; a dozen smaller features
-
Reference Count, Don't Garbage Collect
https://github.com/ixy-languages/ixy-languages
The real reason why a tracing GC was a failure in Objective-C was due to the interoperability with the underlying C semantics, where anything goes.
The implementation was never stable enough beyond toy examples.
Naturally automating the Cocoa release/retain calls made more sense, given the constraints.
In typical Apple fashion they pivoted into it, gave the algorithm a fancy name, and then in a you're holding it wrong style message, sold their plan B as the best way in the world to manage memory.
When Swift came around, having the need to easily interop with the Objective-C ecosystem naturally meant to keep the same approach, otherwise they would need the same machinery that .NET uses (RCW/CCW) to interop with COM AddRef/Release.
What Apple has is excellent marketing.
-
Why did you switch from another language to Rust? Do you regret not learning it earlier?
Can you recommend a good example of an actual project's build-management to look at? Because looking at the gradle examples https://docs.gradle.org/current/samples/sample_building_java_applications.html and https://docs.gradle.org/current/samples/sample_building_java_applications.html or the setup guide for a numerics library https://nm.dev/wiki/tutorials/setupguide/ it sure looks terrible and is in no way comparable to rust, having more of a CMake flavor for gradle and a "no management whatsoever" flavor for the numerics thing. It also doesn't speak for java's ecosystem that for example https://github.com/ixy-languages/ixy-languages does not run on newer versions because of unsupported dependencies. That said imo "bad build system / dependency management" is not an uncommon problem / most languages have terrible systems.
It also doesn't speak for java's ecosystem that for example https://github.com/ixy-languages/ixy-languages does not run on newer versions because of unsupported dependencies
What are some alternatives?
Bowler - Safe code refactoring for modern Python.
RedBaron - Bottom-up approach to refactoring in python
python-lsp-server - Fork of the python-language-server project, maintained by the Spyder IDE team and the community
jedi - Awesome autocompletion, static analysis and refactoring library for python
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
mypyc - Compile type annotated Python to fast C extensions
ctl - The C Template Library
mypy - Optional static typing for Python
benchmarks - Some benchmarks of different languages