Using the PyCharm & IntelliJ plugin

You can download the latest version of Kite here.

PyCharm and IntelliJ use the same plugin. From here on, we'll refer to both editors as just “PyCharm”. In this article, you'll learn how to access all the features the PyCharm plugin has to offer.

You can also find information about how Kite improves the PyCharm experience and IntelliJ experience here.


Make sure you have PyCharm installed on your machine. The only prerequisites to running Kite on PyCharm are that you have Kite Engine running and the PyCharm plugin installed. If you don't have the PyCharm plugin installed, you can learn how to do so here.

Note: If you installed the PyCharm plugin while PyCharm was already running, you'll need to restart PyCharm for the plugin to activate.

Checking the status of Kite

If Kite is installed properly, you should see a small Kite logo at the bottom right corner of the PyCharm window. Clicking this icon opens a menu that will tell you the current status of Kite.

There are a handful of possible states Kite can be in, as described in the following table:

Icon Message Description
Kite is not installed The Kite Engine is not installed.
Kite Engine is not running The Kite Engine is not running.
Kite Engine is indexing your code The Kite Engine is analyzing your code to be able to serve you results.
Kite is ready and working Kite is ready to go - start coding!
Note: If you're running Kite for the first time, it may take several minutes for Kite to finish syncing and indexing your codebase.

The menu that appears when clicking the icon will also allow you to access your settings.

Writing code and accessing features

In the following sections, the $ character indicates the position of your editor's text cursor.


To start, open a Python file in a whitelisted directory. Make sure that this file has been saved with a .py extension. Now type the following code:

import j$

A list of suggested completions should automatically appear.

Kite can provide completions for Python keywords, name expressions or attribute expressions. The example above illustrates a name expression completion. An example of an attribute completion would be:

import json

In the case of name and attribute completions, Kite will also provide the type of value represented by the completion e.g. module or function.

Function signatures

Continuing with the example code above, complete the function call to by typing the opening parentheses.

import json

Kite should show you information about how to call json.dumps.

The top half of the UI shows the arguments that the function accepts. Arguments with default values will also have their default values shown. You may also click on the **kw link to show the arguments that are found in the keyword arguments dictionary.

As you type, Kite will stay in-sync with your cursor and highlight which argument you are currently focused on.

The “How others used this” section in the bottom half of the UI shows you common ways other programmers use the function json.dumps. Kite learns these calling patterns by analyzing all the open source code available on GitHub and then ranks them from most popular to least popular. If you are calling a function that you have defined locally, Kite will extract patterns from your codebase directly instead of GitHub.

Viewing documentation

Kite can also quickly retrieve documentation for the code you are working with. You can do so by positioning your cursor over an identifier and selecting the Kite: Docs at Cursor action from the action navigator.

When triggered, the documentation shows up in the Copilot.

Still need help? Contact Us Contact Us