<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: brendan</title>
    <description>The latest articles on Forem by brendan (@brendankite).</description>
    <link>https://forem.com/brendankite</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F142471%2Ffb0ae5aa-2158-43bf-855d-7909538c03a5.jpg</url>
      <title>Forem: brendan</title>
      <link>https://forem.com/brendankite</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/brendankite"/>
    <language>en</language>
    <item>
      <title>Kite Now Integrates with Jupyter</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Tue, 04 Aug 2020 17:49:31 +0000</pubDate>
      <link>https://forem.com/kite/kite-now-integrates-with-jupyter-4aoh</link>
      <guid>https://forem.com/kite/kite-now-integrates-with-jupyter-4aoh</guid>
      <description>&lt;p&gt;We’re thrilled to release a Kite integration for JupyterLab, plus special support for teams using JupyterHub. Data scientists can now get useful completions as they type in Jupyter notebooks, powered by Kite’s deep learning.&lt;/p&gt;

&lt;p&gt;Check out the new completions experience in JupyterLab below.&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/k8D7kWGnoCc"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Let’s dive into the details.
&lt;/h2&gt;

&lt;p&gt;Kite automatically gives you longer completions sorted by relevance, without requiring you to run a single cell in your notebook or press &lt;code&gt;tab&lt;/code&gt; to make completions appear.&lt;/p&gt;

&lt;p&gt;Here’s a side-by-side comparison for JupyterLab’s native completions vs. Kite completions. &lt;/p&gt;

&lt;p&gt;JupyterLab native completions are alphabetically sorted and have no documentation: &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0HXjdLY4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/08/JupyterLab-native-completions-2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0HXjdLY4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/08/JupyterLab-native-completions-2.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Whereas Kite’s completions are ranked by relevance, and Kite also shows you documentation for the highlighted completion: &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Cxab2tze--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/08/JupyterLab-with-Kite-completions-and-docs-panel-3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Cxab2tze--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/08/JupyterLab-with-Kite-completions-and-docs-panel-3.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kite then turbocharges the JupyterLab experience with additional ML-powered completions features and over 100,000 Python docs just a click away in the Kite Copilot:&lt;/p&gt;

&lt;p&gt;Kite can complete up to multiple lines of code at a time, reducing the time you spend writing repetitive, boilerplate Python: &lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/MnexY2FsCx0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Import statements are a breeze with Kite, and it learns and suggests your favorite aliases over time.&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/rdVH8FpKe6k"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Kite continues to tap into Jupyter kernel completions, which are useful when you need to access attributes such as columns on a DataFrame. With Kite, these kernel completions now show up automatically as you type.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vochw5xY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/08/jlab-kite-kernal-completion-for-dataframe-Screenshot-2020-07-17-03.59.29.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vochw5xY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/08/jlab-kite-kernal-completion-for-dataframe-Screenshot-2020-07-17-03.59.29.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Save time searching for Python docs with Kite’s Copilot desktop app. View Python docs with just one click or mouse-hover, plus find helpful examples and how-tos.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Uc5_6LjI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/07/Seaborn-heatmap-Copilot-Docs-LIGHT-1-Screenshot-2020-07-16-16.43.50.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Uc5_6LjI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/07/Seaborn-heatmap-Copilot-Docs-LIGHT-1-Screenshot-2020-07-16-16.43.50.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More features you’ll get with Kite in JupyterLab:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kite’s models work locally and independently of your Python kernel. This means if your kernel’s busy reading in data, you‘ll still get Kite completions while coding in other cells. Plus, no code is sent to a cloud server for processing.&lt;/li&gt;
&lt;li&gt;Kite works in .py files within JupyterLab.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kite for JupyterLab comes in a Free and a &lt;a href="https://www.kite.com/pro/"&gt;Pro&lt;/a&gt; version (free 30-day trial), and works 100% locally. You can &lt;a href="https://www.kite.com/download/"&gt;download Kite here&lt;/a&gt;. Follow the instructions &lt;a href="https://help.kite.com/article/143-how-to-install-the-jupyterlab-plugin"&gt;here&lt;/a&gt; to install the JupyterLab plugin.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kite makes coding with Python faster and more enjoyable
&lt;/h2&gt;

&lt;p&gt;We’ve trained Kite’s deep learning models on over 25 million open-source Python files to ensure Kite works with your favorite libraries. With how fast data science tooling evolves, it’s critical to stay on top of new modules and APIs, and Kite’s completions help make that easier to do.&lt;/p&gt;

&lt;p&gt;Kite’s deep learning models have learned the most popular patterns used by data scientists, plus they understand the context of your code. This means Kite can predict relevant chunks of code and put them in your completions. This can be useful in three ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If you already know what you need to type, Kite helps you jump ahead to the next task.&lt;/li&gt;
&lt;li&gt;If you’re having trouble remembering a calculation or code pattern, Kite can remind you so you don’t need to search on Google.&lt;/li&gt;
&lt;li&gt;If you have never used a module or function before, you can get documentation faster with the &lt;a href="https://www.kite.com/copilot/"&gt;Kite Copilot&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  JupyterHub: Boost the whole team’s productivity with Kite
&lt;/h2&gt;

&lt;p&gt;Does your team use JupyterHub? We offer additional features for JupyterHub teams:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploy Kite on your JupyterHub server to instantly bring AI-powered completions and one-click documentation to the whole team.&lt;/li&gt;
&lt;li&gt;Add Kite’s largest ML models to a GPU-powered server for smarter, longer completions.&lt;/li&gt;
&lt;li&gt;Custom-tailor Kite’s models to your team’s codebase and APIs.&lt;/li&gt;
&lt;li&gt;Manage Kite licenses and billing through a unified system.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Email &lt;a href="mailto:sales@kite.com"&gt;sales@kite.com&lt;/a&gt; to set up a demo and get extended free trials of Kite Pro for your whole team.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thank you, Jupyter community!
&lt;/h2&gt;

&lt;p&gt;This plugin would not be possible without the guidance of the Jupyter community and JupyterLab’s development team. In partnership with &lt;a href="https://www.quansight.com/labs"&gt;Quansight Labs&lt;/a&gt;, we worked with the JupyterLab development team to contribute to the Jupyter completions API and completions interface via four PRs and 87 commits (here are &lt;a href="https://github.com/jupyterlab/jupyterlab/pull/8080"&gt;two&lt;/a&gt; &lt;a href="https://github.com/jupyterlab/jupyterlab/pull/8141"&gt;examples&lt;/a&gt;). These improvements enable others in the Jupyter community to more easily build plugins for JupyterLab.&lt;/p&gt;

&lt;p&gt;We will continue working with the community to help JupyterLab evolve and remain a powerful option for data scientists and developers.&lt;/p&gt;

&lt;p&gt;We hope you’ll give our completions a spin in your next JupyterLab session by &lt;a href="https://www.kite.com/download/"&gt;downloading Kite here&lt;/a&gt; and &lt;a href="https://help.kite.com/article/143-how-to-install-the-jupyterlab-plugin"&gt;installing the JupyterLab plugin&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Happy Coding,&lt;/p&gt;

&lt;p&gt;The Kite Team&lt;/p&gt;

&lt;p&gt;P.S. If you are a university student you can get Kite Pro for free by signing up with your school email address (&lt;a href="https://help.kite.com/article/135-free-university-licenses-for-kite-pro"&gt;instructions&lt;/a&gt;). And we’ll be expanding student access to high schoolers and others soon, just in time for the fall semester.&lt;/p&gt;

</description>
      <category>python</category>
      <category>devtips</category>
      <category>startup</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Kite Launches AI-Powered JavaScript Completions</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Tue, 12 May 2020 17:21:30 +0000</pubDate>
      <link>https://forem.com/kite/kite-launches-ai-powered-javascript-completions-2nje</link>
      <guid>https://forem.com/kite/kite-launches-ai-powered-javascript-completions-2nje</guid>
      <description>&lt;p&gt;Today we’re excited to launch Kite’s AI-powered completions for JavaScript. Kite’s completions automate away the repetitive boilerplate of writing JavaScript code.&lt;/p&gt;

&lt;p&gt;Let’s take a look…&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/eL59wqFu31o"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Now let’s break it down…&lt;/p&gt;

&lt;p&gt;Kite can complete up to multiple lines of code at a time, reducing the time you spend writing repetitive code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ozsr-Xp9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/s8itb6mt2vu7u1m48bbm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ozsr-Xp9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/s8itb6mt2vu7u1m48bbm.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kite is able to provide completions when editors like VS Code cannot understand the code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XHwI5I2h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/05/Kite_understands_more_code_than_editor_light.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XHwI5I2h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/05/Kite_understands_more_code_than_editor_light.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kite shows completions in more situations, for example after a space.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nMLKYGMm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/05/Kite_works_after_space_sm_light.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nMLKYGMm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/05/Kite_works_after_space_sm_light.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kite works alongside your editor’s completions. We use carefully-designed filters to reduce noise.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hXTAe45i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/05/Kite_works_alongside_editor_light.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hXTAe45i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/05/Kite_works_alongside_editor_light.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We’ve trained a new deep learning model on 22 million open-source JavaScript files to ensure Kite works with your favorite libraries and frameworks like &lt;strong&gt;React, Vue, Angular,&lt;/strong&gt; and &lt;strong&gt;Node.js.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kite for JavaScript is free and works 100% locally.&lt;/strong&gt; You can &lt;a href="https://www.kite.com/download/"&gt;download it here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kite makes coding faster and easier
&lt;/h2&gt;

&lt;p&gt;The JavaScript ecosystem continually invents new frameworks and design patterns. These inventions make it a vibrant place to be, but it also creates the need to learn an ever-changing set of code patterns and APIs.&lt;/p&gt;

&lt;p&gt;Kite’s deep learning models have learned all of these patterns, and understand the context of your code, so Kite can predict chunks of code and put them in your completions. This can be useful in two ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If you already know what you need to type, Kite helps you jump ahead to the next task.&lt;/li&gt;
&lt;li&gt;If you’re having trouble remembering an API or design pattern, Kite can remind you so you don’t need to search on Google.
As a result, writing JavaScript with Kite becomes faster and more fun.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  We’re just getting started
&lt;/h2&gt;

&lt;p&gt;Kite can help you ship software faster today.&lt;/p&gt;

&lt;p&gt;And we’re just getting started. We believe that machine learning can automate away the tedious parts of writing code, and there’s so much more to do. We’re continually exploring ways ML can unlock productivity gains for developers, and we hope that you will join us.&lt;/p&gt;

&lt;h2&gt;
  
  
  A big thanks to the 250,000 developers who use Kite
&lt;/h2&gt;

&lt;p&gt;We’re thrilled to share today that over 250,000 people are coding with Kite every month. We feel grateful to have reached this milestone, and we’d like to thank everyone who uses Kite. This amazing progress wouldn’t be possible without each of you giving us the encouragement and feedback that fuels the hard work — 30,000 code commits to date — that got us here.&lt;/p&gt;

&lt;p&gt;We hope you’ll join us on this journey by &lt;a href="//kite.com/download"&gt;downloading Kite&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Happy coding,&lt;/p&gt;

&lt;p&gt;The Kite Team&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ouP_YEmf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/05/kite-signatures-javascript-launch-blog-post.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ouP_YEmf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.kite.com/wp-content/uploads/2020/05/kite-signatures-javascript-launch-blog-post.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P.S.&lt;/strong&gt; We are also announcing Kite Pro today, which is our first paid product for Python professionals. Check out our &lt;a href="https://www.kite.com/blog/product/kite-introduces-paid-plan-kite-pro"&gt;separate blog post&lt;/a&gt; about Kite Pro for more info!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>devtips</category>
      <category>startup</category>
      <category>react</category>
    </item>
    <item>
      <title>Announcing the Kite Integration for Spyder</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Tue, 10 Dec 2019 00:26:12 +0000</pubDate>
      <link>https://forem.com/kite/announcing-the-kite-integration-for-spyder-2lb1</link>
      <guid>https://forem.com/kite/announcing-the-kite-integration-for-spyder-2lb1</guid>
      <description>&lt;p&gt;We’re thrilled to announce Kite’s Python integration for &lt;a href="https://www.spyder-ide.org/"&gt;Spyder&lt;/a&gt;, the popular open-source IDE for scientists, engineers, and data analysts. Kite is now available as a free Python code completions option for all Spyder users as part of the &lt;a href="https://github.com/spyder-ide/spyder/releases"&gt;Spyder 4 release&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Spyder users can use Kite’s machine learning models to get more and better completions while coding with &lt;a href="https://www.scipy.org/"&gt;PyData&lt;/a&gt; libraries (e.g. NumPy, SciPy, Pandas, and Matplotlib). These libraries previously had minimal autocomplete support due to type analysis limitations of the completions engine Spyder used to exclusively rely on, called Jedi.&lt;/p&gt;

&lt;p&gt;Kite worked alongside Spyder’s core contributors to incorporate several autocomplete improvements in the Spyder 4 release. This collaboration happened through Quansight’s &lt;a href="https://labs.quansight.org/blog/2019/05/community-driven-opensource-funded-development/"&gt;Community Work Order program&lt;/a&gt;, a new framework for private companies to partner with open source projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Kite can be selected as a free code completions option in Spyder 4. Download and install Spyder 4 via &lt;a href="https://www.anaconda.com/download/"&gt;Anaconda&lt;/a&gt; or via &lt;a href="https://github.com/spyder-ide/spyder/releases"&gt;Spyder’s Github repo&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Spyder users will see autocomplete improvements when enabling Kite, including faster and more useful completions for numerics libraries. Watch an overview video about Kite for Spyder on our &lt;a href="https://youtu.be/yYMCAhKt2pg"&gt;YouTube channel&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Kite’s &lt;a href="https://kite.com/blog/product/announcing-intelligent-snippets-for-python/"&gt;Intelligent Snippets&lt;/a&gt;, &lt;a href="https://kite.com/blog/product/launching-line-of-code-completions-going-cloudless-and-17-million-in-funding/"&gt;Line-of-Code Completions&lt;/a&gt;, Dictionary Key Completions, and &lt;a href="https://kite.com/copilot/"&gt;Copilot&lt;/a&gt; desktop app are all supported for Spyder users. &lt;/li&gt;
&lt;li&gt;As with Kite’s other editor integrations, all code processing happens locally without leaving the user’s computer.&lt;/li&gt;
&lt;li&gt;Kite and the Spyder core contributors worked together on this integration via Quansight’s &lt;a href="https://labs.quansight.org/blog/2019/05/community-driven-opensource-funded-development/"&gt;Community Work Order program&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;You'll need to have Kite installed on your computer to enable our Spyder integration. Download Kite &lt;a href="//kite.com/download"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting more completions, more often for numerics libraries in Spyder
&lt;/h2&gt;

&lt;p&gt;Spyder users have &lt;a href="https://github.com/spyder-ide/spyder/issues/5782"&gt;long reported&lt;/a&gt; issues with the completions for numerics libraries. This was largely due to type analysis limitations in the Jedi completions engine. It had difficulty analyzing third-party libraries for scientific computing (e.g. NumPy, SciPy, TensorFlow, etc.) that make use of compiled extensions. Without good type analysis, generating completions is inaccurate and resource intensive.&lt;/p&gt;

&lt;p&gt;Enabling Kite in Spyder solves this problem, and goes beyond in a number of ways. Kite’s ML engine generates multi-token completions, and returns completions much faster.&lt;/p&gt;

&lt;p&gt;To enable Kite in Spyder, go to Preferences/ Settings -&amp;gt; click on Completion and Linting -&amp;gt; click on the “Advanced” tab -&amp;gt; click “Enable Kite” under Providers -&amp;gt; click “Apply”.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r15F-ZhX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/zksll8s60fy1wriu2gso.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r15F-ZhX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/zksll8s60fy1wriu2gso.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Kite’s smarter completions features
&lt;/h2&gt;

&lt;p&gt;Kite also features Line-of-Code Completions, Intelligent Snippets, and recently released, Dictionary Key Completions – all of which save you time and hassle while coding.&lt;/p&gt;

&lt;p&gt;Line-of-Code Completions are multi-token completions for the top 100 Python libraries that are unique to Kite’s machine learning engine. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XzzMr1-W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/0jhaozll7h46ymvxq498.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XzzMr1-W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/0jhaozll7h46ymvxq498.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Intelligent Snippets allow you to complete complex, multi-token statements with ease by generating context-relevant code snippets as you type. Whereas editor snippets typically must be manually defined in advance, Kite’s Intelligent Snippets are generated in real-time based on the code patterns Kite finds in your codebase.&lt;/p&gt;

&lt;p&gt;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. Check out examples and a more detailed description of this new feature in our December release notes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Improving completions performance in Spyder
&lt;/h2&gt;

&lt;p&gt;Enabling Kite results in faster completions in Spyder for two main reasons. First, the Spyder and Kite teams worked together to make performance optimizations to reduce completions lag for Spyder 4. Second, Kite’s ML engine is continually optimized to show smarter completions, faster.&lt;/p&gt;

&lt;p&gt;At Kite we invest in routine optimization of application and ML model performance to limit impact on users’ CPU and memory resources. For instance, Kite intelligently caches index builds based on whether your Python files have changed recently. It also only loads parts of its ML engine based on whether relevant libraries are used in users’ codebases. So if you’re only using numerics libraries, only relevant parts of the Kite engine will be running to conserve resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  Did we mention one-click docs search?
&lt;/h2&gt;

&lt;p&gt;Another nice perk of enabling Kite is access to Kite’s Copilot app and one-click docs search within Spyder. Check out the Kite Copilot &lt;a href="https://kite.com/copilot/"&gt;here&lt;/a&gt; for more information.&lt;/p&gt;

&lt;h2&gt;
  
  
  Leveraging Quansight’s Community Work Order
&lt;/h2&gt;

&lt;p&gt;Quansight’s &lt;a href="https://labs.quansight.org/blog/2019/05/community-driven-opensource-funded-development/"&gt;Community Work Order (CWO)&lt;/a&gt; was an ideal framework to collaborate with the Spyder core contributors on improving the completions experience, a feature which had been the center of a lot of &lt;a href="https://github.com/spyder-ide/spyder/issues/5782"&gt;user feedback&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Given all of the resources we’ve invested into completions intelligence at Kite, we saw a natural fit to work with the Spyder team to improve Spyder’s completions infrastructure and get AI-powered completions in the hands of more developers for free.&lt;/p&gt;

&lt;p&gt;However, structuring projects between open source communities and private companies is challenging across a number of dimensions: What work should be done? Who does the work? How long will it take? Where does the funding come from and what is it spent on? Quansight’s CWO provided transparency for how to fund and structure a partnership of this nature. &lt;a href="https://labs.quansight.org/blog/2019/05/community-driven-opensource-funded-development/"&gt;Read more about the principles of CWOs on Quansight’s blog.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The CWO we sponsored provided funds for the development hours needed to improve the completions experience for Spyder 4. Additionally, Kite engineers and product managers contributed hours towards &lt;a href="https://github.com/spyder-ide/spyder/pull/10502"&gt;performance improvements&lt;/a&gt; and debugging efforts within the Spyder codebase.&lt;/p&gt;

&lt;p&gt;We enjoyed contributing to the Spyder 4 release, and we look forward to collaborating on ongoing efforts with the Spyder community to support free completions!&lt;/p&gt;

&lt;p&gt;Share the news on Twitter with @Spyder_IDE and @KiteHQ. Download Kite &lt;a href="//kite.com/download"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>python</category>
      <category>devtips</category>
      <category>datascience</category>
      <category>startup</category>
    </item>
    <item>
      <title>[Video] Python Decorators in 15 Minutes</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Thu, 31 Oct 2019 18:16:58 +0000</pubDate>
      <link>https://forem.com/kite/video-python-decorators-in-15-minutes-5l3</link>
      <guid>https://forem.com/kite/video-python-decorators-in-15-minutes-5l3</guid>
      <description>&lt;p&gt;Decorators are an advanced feature of the Python language that allow you to modify the behavior of a function or method without touching its code. This video will teach you why decorators work and how to create your own. It will also walk through a few examples to give you a better idea of where to use Python decorators.&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/r7Dtus7N4pI"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Want to try Kite? You can download it for free &lt;a href="https://kite.com/download/?utm_medium=referral&amp;amp;utm_source=youtube&amp;amp;utm_campaign=kite&amp;amp;utm_content=python-decorators"&gt;here&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>devtips</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Choosing an Autocomplete for Python</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Wed, 30 Oct 2019 17:16:38 +0000</pubDate>
      <link>https://forem.com/kite/choosing-an-autocomplete-for-python-365b</link>
      <guid>https://forem.com/kite/choosing-an-autocomplete-for-python-365b</guid>
      <description>&lt;p&gt;Using a code completion engine helps you remember syntax and write code faster. There are two main options around today for autocomplete in Python: Jedi and Kite. They both integrate with all the most popular IDEs for Python This video outlines why you should be using an autocomplete plugin while you code and how to choose the right completion engine for you.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Qa-5mYCqPto"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Want to try Kite? You can download it for free &lt;a href="https://kite.com/download/?utm_medium=referral&amp;amp;utm_source=youtube&amp;amp;utm_campaign=kite&amp;amp;utm_content=choosing-an-autocomplete-for-python"&gt;here&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>devtips</category>
      <category>datascience</category>
    </item>
    <item>
      <title>The Best Plugins for PyCharm</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Tue, 15 Oct 2019 19:24:47 +0000</pubDate>
      <link>https://forem.com/kite/the-best-plugins-for-pycharm-18j4</link>
      <guid>https://forem.com/kite/the-best-plugins-for-pycharm-18j4</guid>
      <description>&lt;p&gt;PyCharm is an incredibly popular IDE for Python, and its highly configurable nature means there are many plugins available for PyCharm. Whether you need a package to change the colors of your brackets or a plugin to manage your Github repository, learn in this tutorial how to install plugins for PyCharm and see some of the best PyCharm plugins in action.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/I5SroLnCVYg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Want to try Kite? You can download it for free &lt;a href="https://kite.com/download/?utm_medium=referral&amp;amp;utm_source=youtube&amp;amp;utm_campaign=kite&amp;amp;utm_content=best-plugins-for-pycharm"&gt;here&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>python</category>
      <category>coding</category>
      <category>devtips</category>
    </item>
    <item>
      <title>Adding Python Autocomplete for Vim</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Thu, 10 Oct 2019 20:33:55 +0000</pubDate>
      <link>https://forem.com/kite/adding-python-autocomplete-for-vim-40dd</link>
      <guid>https://forem.com/kite/adding-python-autocomplete-for-vim-40dd</guid>
      <description>&lt;p&gt;Vim remains a popular editor for writing code, but lacks many features of newer IDEs. This video shows how to add autocompletions for Python to Vim using our free plugin, Kite. &lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/RnVoeGwkpfo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Download Kite free &lt;a href="https://kite.com/download/?utm_medium=referral&amp;amp;utm_source=youtube&amp;amp;utm_campaign=kite&amp;amp;utm_content=vim-python-autocomplete"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>python</category>
      <category>vim</category>
      <category>devtips</category>
    </item>
    <item>
      <title>Kite announces Intelligent Snippets for Python</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Mon, 09 Sep 2019 00:17:40 +0000</pubDate>
      <link>https://forem.com/kite/kite-announces-intelligent-snippets-for-python-13i0</link>
      <guid>https://forem.com/kite/kite-announces-intelligent-snippets-for-python-13i0</guid>
      <description>&lt;p&gt;We’re excited to share Intelligent Snippets with you, our latest feature designed to make your completions experience even more seamless. Kite’s Intelligent Snippets allow you to complete complex, multi-token statements with ease by generating context-relevant code snippets as you type. Whereas typical snippets must be manually defined in advance, Kite’s Intelligent Snippets are generated in real-time based on the code patterns Kite finds in your codebase.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Intelligent Snippets are live in the latest version of Kite (20190905.0) for all of the editors we support: Atom, PyCharm/IntelliJ, Sublime Text, VS Code, and Vim.&lt;/li&gt;
&lt;li&gt;Global and local functions are supported.&lt;/li&gt;
&lt;li&gt;Users need half the keystrokes when calling functions with Intelligent Snippets.&lt;/li&gt;
&lt;li&gt;Visit kite.com/download to install Kite.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Developers call billions of functions daily
&lt;/h2&gt;

&lt;p&gt;Developers write approximately 1.5 billion function calls per day, many of which are repetitive. In the past, developers referenced docs or copy-pasted snippets in the event they didn’t remember a function’s signature. We recognized this was suboptimal, and built Kite’s Intelligent Snippets as a faster solution for calling functions in Python.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with traditional snippets
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Snippets&lt;/em&gt; are pieces of code that can be inserted into a code buffer and then edited immediately afterwards. Traditionally, snippets were manually defined ahead of time by developers. They were static and could not adapt to developers’ code as it changed. As a result, snippets have been limited to straightforward code patterns.&lt;/p&gt;

&lt;p&gt;For example, the video below shows a developer using a snippet to insert the structure of a function definition and then subsequently filling in the rest of the function.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VVGr3yVH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/4svc2jhrw83ebpnq5y69.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VVGr3yVH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/4svc2jhrw83ebpnq5y69.gif" alt="function definition"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kite’s Intelligent Snippets engine makes snippets more powerful by generating them on the fly based on the code you’re working with. Kite automatically detects common patterns used in your codebase and suggests relevant patterns while you are writing code.&lt;/p&gt;

&lt;p&gt;Head to kite.com to try an interactive playground showcasing our new feature. If you’re on a desktop computer, take over the demo loop by clicking “Let me try typing!” (Mobile users, you can see the loop, but you’ll have to move to desktop to test drive it.)&lt;/p&gt;

&lt;h2&gt;
  
  
  How we built Intelligent Snippets
&lt;/h2&gt;

&lt;p&gt;Intelligent Snippets build on the code engine at the heart of Kite’s completions experience. Kite first indexes your codebase and learns how functions are commonly used. Then when you call a function, Kite suggests snippets for that function to easily complete it. Kite’s autocomplete still suggests completions for each argument, too. &lt;/p&gt;

&lt;p&gt;Intelligent Snippets not only save you keystrokes; they also reduce the number of times you’ll need to look up docs for the call patterns you need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Intelligent Snippets support global and local functions
&lt;/h2&gt;

&lt;p&gt;The video below shows a developer using Intelligent Snippets to quickly call requests.post:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7aoMviib--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/r2glck4mao6vs1ji9iwn.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7aoMviib--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/r2glck4mao6vs1ji9iwn.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Intelligent Snippets also work on functions that you have defined yourself, like in the video below:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AOlCVvpq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/f4b846rmc9hpf7cplp2x.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AOlCVvpq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/f4b846rmc9hpf7cplp2x.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The future of Intelligent Snippets
&lt;/h2&gt;

&lt;p&gt;We believe Intelligent Snippets will be a cornerstone of how developers interact with the AI-powered coding tools of the future. We’ve begun by using Intelligent Snippets to help developers write function calls, but we see broader uses for them coming soon. Intelligent snippets could be useful for writing try/except blocks or unit test cases, for example. We’re looking forward to bringing this technology to more use cases imminently.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to expect the rest of the year
&lt;/h2&gt;

&lt;p&gt;We have many more exciting projects in the works: We’re taking advantage of the latest research to make our machine learning models smarter. We’re building new editor integrations. Plus there’s a few more projects we can’t tell you about quite yet. Stay tuned!&lt;/p&gt;

</description>
      <category>python</category>
      <category>machinelearning</category>
      <category>programming</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Kite's AI Autocomplete for Python, Now on Linux</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Thu, 02 May 2019 15:47:44 +0000</pubDate>
      <link>https://forem.com/kite/kite-s-ai-autocomplete-for-python-now-on-linux-4l20</link>
      <guid>https://forem.com/kite/kite-s-ai-autocomplete-for-python-now-on-linux-4l20</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9BREx2Kz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ul132zm5nghrwx3aq8t9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9BREx2Kz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ul132zm5nghrwx3aq8t9.png" alt="Kite for Linux"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After years of development and a whole lot of anticipation, Kite is now available on Linux! You can download it for free &lt;a href="//kite.com/download"&gt;here&lt;/a&gt;. Kite gives Python developers superpowers, including our Line-of-Code Completions, and integrates as a plugin into &lt;a href="https://kite.com/integrations/pycharm"&gt;PyCharm&lt;/a&gt;, &lt;a href="https://kite.com/integrations/pycharm"&gt;IntelliJ&lt;/a&gt;, &lt;a href="https://kite.com/integrations/vs-code"&gt;VS Code&lt;/a&gt;, &lt;a href="https://kite.com/integrations/atom"&gt;Atom&lt;/a&gt;, &lt;a href="https://kite.com/integrations/sublime-text"&gt;Sublime&lt;/a&gt;, and &lt;a href="https://kite.com/integrations/vim"&gt;Vim&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In order to provide you with a seamless experience, we’ve made sure Kite for Linux works on a number of Linux distros, including 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.&lt;/p&gt;

&lt;p&gt;While we first expected to ship support for Linux about a year and a half ago, we decided our core product needed more work before expanding our user base. We felt ready for more users after the launch of Line-of-Code Completions earlier this year, and we’re excited to share Kite with the Linux community now. Kite for Linux is much higher quality today than it would have been in 2017 or 2018.&lt;/p&gt;

&lt;h3&gt;
  
  
  Completions improvements
&lt;/h3&gt;

&lt;p&gt;Speaking of which, we wanted to share some of the progress we’ve continued to make on improving Kite for all our users.&lt;/p&gt;

&lt;p&gt;First: more completions! We’ve optimized our type inference engine and added support for completions when users are typing in the middle of a name. As a result, Kite now shows ~1.4x more completions, as you can see here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mSShX4Ou--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kite.com/static/media/image1.70c17af5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mSShX4Ou--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kite.com/static/media/image1.70c17af5.png" alt="Completions per day using Kite"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We’ve also been busy improving Kite’s Line-of-Code Completions, which can predict up to the whole line of code you’re typing. We’ve seen a 2x increase in the number of times users select Kite’s Line-of-Code Completions as a result of this work.&lt;/p&gt;

&lt;p&gt;As always, we’re hard at work enhancing Kite for you! Expect continued progress and even more integrations from here on out.&lt;/p&gt;

&lt;p&gt;Check Kite out by downloading it &lt;a href="//kite.com/download"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And if you have feedback on Kite for Linux, we’d love to hear it! Simply email &lt;a href="mailto:feedback@kite.com"&gt;feedback@kite.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;-The Kite Team&lt;/p&gt;

</description>
      <category>python</category>
      <category>machinelearning</category>
      <category>programming</category>
      <category>datascience</category>
    </item>
    <item>
      <title>How to Use Pandas GroupBy, Counts, and Value Counts</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Mon, 29 Apr 2019 21:39:48 +0000</pubDate>
      <link>https://forem.com/kite/how-to-use-pandas-groupby-counts-and-value-counts-20hh</link>
      <guid>https://forem.com/kite/how-to-use-pandas-groupby-counts-and-value-counts-20hh</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3lfcy5f2naevrwjwo7hl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3lfcy5f2naevrwjwo7hl.jpg" alt="Pandas GroupBy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re a data scientist, you likely spend a lot of time cleaning and manipulating data for use in your applications. One of the core libraries for preparing data is the &lt;a href="https://kite.com/blog/python/pandas-tutorial" rel="noopener noreferrer"&gt;Pandas library&lt;/a&gt; for Python.&lt;/p&gt;

&lt;p&gt;In a previous post, we explored the background of Pandas and the basic usage of a &lt;a href="https://kite.com/blog/python/pandas-dataframe" rel="noopener noreferrer"&gt;Pandas DataFrame&lt;/a&gt;, the core data structure in Pandas. Check out that post if you want to get up to speed with the basics of Pandas.&lt;/p&gt;

&lt;p&gt;In this post, we’ll explore a few of the core methods on Pandas DataFrames. These methods help you segment and review your DataFrames during your analysis.&lt;/p&gt;

&lt;p&gt;We’ll cover&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using Pandas groupby to segment your DataFrame into groups.&lt;/li&gt;
&lt;li&gt;Exploring your Pandas DataFrame with counts and value_counts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pandas Groupby
&lt;/h2&gt;

&lt;p&gt;Pandas is typically used for exploring and organizing large volumes of tabular data, like a super-powered Excel spreadsheet. Often, you’ll want to organize a pandas DataFrame into subgroups for further analysis.&lt;/p&gt;

&lt;p&gt;For example, perhaps you have stock ticker data in a DataFrame, as we explored in the last post. Your Pandas DataFrame might look as follows:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; df&lt;br&gt;
          date symbol     open     high      low    close    volume&lt;br&gt;
0   2019-03-01   AMZN  1655.13  1674.26  1651.00  1671.73   4974877&lt;br&gt;
1   2019-03-04   AMZN  1685.00  1709.43  1674.36  1696.17   6167358&lt;br&gt;
2   2019-03-05   AMZN  1702.95  1707.80  1689.01  1692.43   3681522&lt;br&gt;
3   2019-03-06   AMZN  1695.97  1697.75  1668.28  1668.95   3996001&lt;br&gt;
4   2019-03-07   AMZN  1667.37  1669.75  1620.51  1625.95   4957017&lt;br&gt;
5   2019-03-01   AAPL   174.28   175.15   172.89   174.97  25886167&lt;br&gt;
6   2019-03-04   AAPL   175.69   177.75   173.97   175.85  27436203&lt;br&gt;
7   2019-03-05   AAPL   175.94   176.00   174.54   175.53  19737419&lt;br&gt;
8   2019-03-06   AAPL   174.67   175.49   173.94   174.52  20810384&lt;br&gt;
9   2019-03-07   AAPL   173.87   174.44   172.02   172.50  24796374&lt;br&gt;
10  2019-03-01   GOOG  1124.90  1142.97  1124.75  1140.99   1450316&lt;br&gt;
11  2019-03-04   GOOG  1146.99  1158.28  1130.69  1147.80   1446047&lt;br&gt;
12  2019-03-05   GOOG  1150.06  1169.61  1146.19  1162.03   1443174&lt;br&gt;
13  2019-03-06   GOOG  1162.49  1167.57  1155.49  1157.86   1099289&lt;br&gt;
14  2019-03-07   GOOG  1155.72  1156.76  1134.91  1143.30   1166559&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Perhaps we want to analyze this stock information on a symbol-by-symbol basis rather than combining Amazon (“AMZN”) data with Google (“GOOG”) data or that of Apple (“AAPL”).&lt;/p&gt;

&lt;p&gt;This is where the Pandas groupby method is useful. You can use groupby to chunk up your data into subsets for further analysis.&lt;/p&gt;

&lt;p&gt;Read more &lt;a href="https://kite.com/blog/python/pandas-groupby-count-value-count" rel="noopener noreferrer"&gt;on the Kite blog&lt;/a&gt;! &lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Using the Python Write to File Function</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Thu, 25 Apr 2019 18:50:37 +0000</pubDate>
      <link>https://forem.com/kite/using-the-python-write-to-file-function-4m3</link>
      <guid>https://forem.com/kite/using-the-python-write-to-file-function-4m3</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_w2vinVL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/slrqscbk60hj0fodhb3i.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_w2vinVL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/slrqscbk60hj0fodhb3i.jpg" alt="Python Write to File"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How can developers and clients benefit from data being in a file format when there are so many other options out there? Why not just use a simple HTML page with AJAX requests and tables to display the data? In this blog post, let me show you why using Python to construct files is productive way of of creating and filling them with data. We will go over a few APIs to populate our files with data, and learn how to use the Requests HTTP library to fetch data. In this post, we'll be using Python 3 and its toolkit. Let’s get started!&lt;/p&gt;

&lt;p&gt;You can easily access the code from this article in &lt;a href="https://github.com/kiteco/kite-python-blog-post-code/tree/master/python-write-to-file"&gt;Kite' github repository&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Objectives
&lt;/h2&gt;

&lt;p&gt;Our first step is to set some objectives for our files.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First, we want some inspiration: to do that, we’re going to form a request to a famous quotes API using the Requests module in Python.&lt;/li&gt;
&lt;li&gt;Second, we want to make sure our investments in the stock market are looking solid. We'll use IEXFinance Python wrapper around the Investors Exchange Developer API.&lt;/li&gt;
&lt;li&gt;Third, we also want to make sure our cryptocurrencies are staying green as well. We'll fetch data with the Requests module from the Coinbase API to check on our digital assets.&lt;/li&gt;
&lt;li&gt;Lastly, we'll take all this fetched data and write to files that correspond to each time we run the script and have one accumulative file. All of our files will be in CSV format.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m assuming that we’ll utilize the functionality of spreadsheet software to graph the data stored in the files. Let's dive into how the Requests HTTP library works, and get our quotes!&lt;/p&gt;

&lt;p&gt;Read more &lt;a href="https://kite.com/blog/python/python-write-to-file"&gt;on the Kite blog&lt;/a&gt;! &lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>devtips</category>
    </item>
    <item>
      <title>Flask vs Django</title>
      <dc:creator>brendan</dc:creator>
      <pubDate>Thu, 18 Apr 2019 19:32:19 +0000</pubDate>
      <link>https://forem.com/kite/flask-vs-django-3pn7</link>
      <guid>https://forem.com/kite/flask-vs-django-3pn7</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F360dq8z7m7rfqy7m47hr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F360dq8z7m7rfqy7m47hr.jpg" alt="Flask vs Django"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Flask or Django?
&lt;/h2&gt;

&lt;p&gt;According to the &lt;a href="https://www.jetbrains.com/research/python-developers-survey-2018/" rel="noopener noreferrer"&gt;2018 Python Developers Survey&lt;/a&gt;, Flask and Django are, by far, the most popular web frameworks for Python developers. You’ll hardly go wrong with either framework if you’re deciding which one to use for a new web application. While it’s up to you to figure out which one works best for what you’re trying to accomplish, there’s a few major differences you should be aware of when making the decision. Regardless of which framework you end up using, both are very well documented and widely used, so they have ample active and supportive communities. So, without further ado, let’s take a look at what each framework offers and highlight some of their differences and similarities.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR Flask vs Django Differences
&lt;/h2&gt;

&lt;p&gt;Flask and Django are mature, extensible web frameworks that, at their core, offer similar functionality in handling requests and serving up documents, but differ in their scope of responsibility. Most of the differences between the 2 frameworks stem from this different approach although some also stem from some different core design decisions. Here is a short list of key differences that might impact your decision:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Request Object - Flask uses thread-locals while Django passes the request around where it’s needed.&lt;/li&gt;
&lt;li&gt;Forms - Django comes with them built-in and they integrate with the ORM and the admin site. Flask has no default support for forms, but you can use WTForms to fill the gap.&lt;/li&gt;
&lt;li&gt;The Database - Django comes with the Django ORM and a migration system that wants to manage your database. Flask makes no assumptions about a database, but there are tools out there, like SQLAlchemy that provide similar functionality (perhaps more).&lt;/li&gt;
&lt;li&gt;Authentication &amp;amp; Permissions - Django comes with an authentication app that gives a default implementation for user management and permissions. Flask provides secure cookies as a tool for your own implementation.&lt;/li&gt;
&lt;li&gt;Admin Site - Django comes with a fully integrated admin interface for managing application data. Flask doesn’t come with anything like it, but Flask-Admin is a popular extension that can be used to create a similar admin tool.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Read more &lt;a href="https://kite.com/blog/python/flask-vs-django-python" rel="noopener noreferrer"&gt;on the Kite blog&lt;/a&gt;! &lt;/p&gt;

</description>
      <category>python</category>
      <category>webdev</category>
      <category>django</category>
    </item>
  </channel>
</rss>
