This is the Atom TabNine client, advanced AI based autocomplete for all programming languages. TabNine Indexes your entire project by reading your
.gitignore or others, and determines which files to index.
TabNine is part of Codota
Deep TabNine is trained on around 2 million files from GitHub. During training, TabNine’s goal is to predict the next token given the tokens that came before. To achieve this goal, TabNine learns complex behaviour, such as type inference in dynamically typed languages.
Deep TabNine can use subtle clues that are difficult for traditional tools to access. For example,
the return type of
app.get_user()is assumed to be an object
with setter methods, while the return type of
app.get_users() is assumed to be a list.
Deep TabNine is based on GPT-2, which uses the Transformer network architecture. This architecture was first developed to solve problems in natural language processing. Although modelling code and modelling natural language might appear to be unrelated tasks, modelling code requires understanding English in some unexpected ways.
TabNine requires consumption of memory resources when being run locally on your computer. It may incur some latency that is not optimal to all PC’s. With that in mind, TabNine has developed a Cloud solution, called TabNine Deep Cloud.
We understand that users concerned with their privacy prefer to keep their code on their own machine. Rest assured that we’re taking the following steps to address this concern: For individual developers, we are working on a reduced-size model which can run on a laptop with reasonable latency. Update: we’ve released TabNine Local. For enterprise users, we will soon roll-out the option to license the model and run it on your own hardware. We can also train a custom model for you which understands the unique patterns and style within your codebase. If this could be relevant to you or your team, we would love to hear more about your use case at email@example.com. Enabling TabNine Deep Cloud sends small parts of your code to our servers to provide GPU-accelerated completions. Other than for the purpose of fulfilling your query, your data isn’t used, saved or logged in any way.
A note on licensing: this repo includes source code as well as packaged TabNine binaries. The MIT license only applies to the source code, not the binaries. The binaries are covered by the TabNine End User License Agreement.
The Atom client for TabNine is based on this ycmd client for Atom.
Good catch. Let us know what about this package looks wrong to you, and we'll investigate right away.