Download Free Install Free

Kite Release Notes – December 2019

Kite
By Kite
December 9, 2019

We’ve been hard at work on more improvements to Kite since launching Intelligent Snippets earlier this fall. We’re excited to share Dictionary Key Completions with you, plus a new integration for the Spyder IDE.

TL;DR

  • We’ve added Dictionary Key Completions to save you time while using dictionaries.
  • Although Kite does its best to auto-detect your libraries, you can now add more to the Kite index manually using symbolic linking.
  • Kite continues to index and analyze your code 100% locally, and below is a quick privacy note about what directories Kite explicitly avoids when it looks for Python files.
  • The Kite for Spyder integration is now available, making Kite a free code completions option in the just-released Spyder 4! Download and install Spyder 4 here if you’re a Spyder user, and watch an overview video on our YouTube channel.
  • Let us know what other languages you’d like Kite to support. We have more releases in the works for 2020!

Introducing Dictionary Key Completions

Dictionary Key Completions save you time by remembering the structure of dictionary objects in your codebase. These completions work for integer keys as well as string keys, the latter of which can be tedious to recall and prone to typos. We added this feature to Kite’s feature set based on conversations with many users who were dissatisfied with the dictionary completions in their editors.

Additionally, when the cursor is within a get, setdefault, or pop function call, Kite will suggest completions for existing string keys, sorted using a statistical ranking model.

Finally, key completions should behave identically for OrderedDict objects and Pandas DataFrames as they do for regular dictionaries.

We’re aware of bugs in Sublime Text and Vim and are working on fixes for those editors. Please contact us here to report issues related to Dictionary Key Completions as we’re always looking to improve new features.

Add your Python libraries to the Kite index

We recently added a new feature that allows you to create symbolic links within the .kite/libraries/ directory that point to the site-packages folder typically found under your Python installation (or any folder you store libraries). This gives you control over how Kite incorporates your libraries in the local index build it uses to generate personalized completions.

Learn how to use symbolic linking to add libraries to the Kite index in our help doc on the topic.

We created this feature in response to users requesting more control over what gets indexed by Kite’s engine. More control can be useful if you want to include custom-built or less common libraries in Kite’s index, or if you need to direct Kite to locations it doesn’t walk for privacy purposes.

A quick note about how we built Kite for privacy

Privacy is top of mind for us, which is why Kite works 100% locally without cloud computing. Going a step further, we built Kite to be mindful in its search for libraries on your computer. As users ourselves, we didn’t want Kite walking commonly safe-guarded directories. This means Kite explicitly avoids searching through the following directories for Python files to include in its index:

  • Windows directories that contain \\appdata
  • Linux directories that are hidden (e.g. contain /.), and the directories starting with the following: /usr, /dev, /tmp, /opt, /sbin
  • MacOS directories that start with the following: /usr, /dev, /tmp, /opt, /private, and /sbin. All Applications, Calendar, Library, Pictures, and Trash directories are excluded as well.

If you’re not seeing a library indexed by Kite, it could be the case that your PYTHONPATH is set to a location Kite does not walk to find libraries. (If not the case, please contact us so we can debug or further clarify.)

For example, this location might require a symbolic link as described above for Kite to index it:

PYTHONPATH=$PYTHONPATH:/opt/anaconda3/lib/python3.7/site-packages/

Kite is now available for Spyder

Kite can be selected as a free code completions option in Spyder 4. Spyder users will see autocomplete improvements when enabling Kite, including faster and more useful completions for numerics libraries.

Read more about how Kite improves the completions experience in Spyder here.

Interested in using Kite for another language?

Cast your vote on here today! We want to know what languages we should support, and a big part of our decision will be the languages our users want support for most. 

Make sure to follow @kitehq on Twitter, and share Kite with your friends.

In the meantime, if you have feedback about Kite, we’d love to hear it at feedback@kite.com.