After years of development and a whole lot of anticipation, Kite is now available on Linux! You can download it for free at kite.com/linux.
Kite helps Python developers be more productive with its Line-of-Code Completions, and integrates as a plugin into PyCharm, IntelliJ, VS Code, Atom, Sublime, and Vim. We're thrilled to be providing Kite for free to a broader open source community with this launch.
While we first expected to ship support for Linux about a year and a half ago, it’s taken a bit longer to complete all the necessary improvements to Kite’s core features before expanding the product. On the bright side, this means that Kite for Linux is of much higher quality today than it would have been in 2017 or 2018.
Even since January we've improved our autocompletion engine leading to a 2x increase in the number of times Kite users select one of Kite's Line-of-Code Completions while coding.
We're really looking forward to feedback on this release from all the Linux + Python users out there! We'll be online to answer your questions here today.
We test Kite on Ubuntu, Debian, Fedora, Arch Linux, Linux Mint, and openSUSE. It also works across a variety of desktops, including KDE, XFCE, Gnome 2, and Gnome 3. We want Kite for Linux to support essentially every distribution and would love user feedback to help with this!
Sourcegraph CEO here. Congrats to the Kite team! As a desktop Linux user (Ubuntu and ChromeOS), I am excited to see this.
How are you managing the maintenance of multiple editor extensions? Do you use some kind of architecture where there is a common background process with most of the logic and a simple adapter per-editor? How many people on your team are actually writing code against editor extension APIs?
Yes we use a headless process that the editor plugins talk to. Our heads-up-display app also talks to this headless process. We put as much functionality there as possible and try to keep the plugins/HUD as small as possible.
It’s still a challenge with this approach. We have to be careful what new surface area we add to plugins, and have rolled back editor features that users don’t engage with.
We also keep the API well documented and have a detailed product spec that the editors try to adhere to. The product spec can be challenging because each editor API supports slightly different types of interactions.
So after all of these strategies the main thing making it work is the team!
11 comments
[ 2.9 ms ] story [ 35.5 ms ] threadKite helps Python developers be more productive with its Line-of-Code Completions, and integrates as a plugin into PyCharm, IntelliJ, VS Code, Atom, Sublime, and Vim. We're thrilled to be providing Kite for free to a broader open source community with this launch.
While we first expected to ship support for Linux about a year and a half ago, it’s taken a bit longer to complete all the necessary improvements to Kite’s core features before expanding the product. On the bright side, this means that Kite for Linux is of much higher quality today than it would have been in 2017 or 2018.
Even since January we've improved our autocompletion engine leading to a 2x increase in the number of times Kite users select one of Kite's Line-of-Code Completions while coding.
We're really looking forward to feedback on this release from all the Linux + Python users out there! We'll be online to answer your questions here today.
How are you managing the maintenance of multiple editor extensions? Do you use some kind of architecture where there is a common background process with most of the logic and a simple adapter per-editor? How many people on your team are actually writing code against editor extension APIs?
It’s still a challenge with this approach. We have to be careful what new surface area we add to plugins, and have rolled back editor features that users don’t engage with.
We also keep the API well documented and have a detailed product spec that the editors try to adhere to. The product spec can be challenging because each editor API supports slightly different types of interactions.
So after all of these strategies the main thing making it work is the team!
In January we announced "going cloudless" -- we moved all processing back to the client and code is no longer sent to our servers. (You can find the blog post announcing this here @ https://kite.com/blog/launching-line-of-code-completions-goi...)