The world’s leading publication for data science, AI, and ML professionals.

Top 4 Python and Data Science IDEs for 2021 and Beyond

Features vs. simplicity – here are the top picks for everyday data science workflows

Photo by XXSS IS BACK from Pexels
Photo by XXSS IS BACK from Pexels

The world of Data Science IDEs can be overwhelming. You can go from plain text editors for ultimate simplicity to IDEs so feature-rich they will make your head spin. Analysis paralysis gets even worse if you’re willing to pay for a piece of coding software.

You want something simple, yet capable. You want something professional and feature-rich, yet not overwhelming. Does it ring a bell? It likely won’t be a one-time decision.

The short answer is – there’s no one-size-fits-all solution. It’s a personal preference. I have mine, but I’ll try to stay unbiased as possible while comparing these four.


JupyterLab

Yep – it’s the most popular IDE among data scientists. Jupyter Notebooks made interactivity a thing, and Jupyter Lab took the user experience to the next level. It’s a minimalistic IDE that does the essentials out of the box and provides options and hacks for more advanced use.

Image 1 - JupyterLab (image by author)
Image 1 – JupyterLab (image by author)

JupyterLab makes it easy to create rich notebooks with code and explanations. I don’t know about you, but I’m not a big fan of chunky and unreadable code blocks. Jupyter allows you to write Markdown to explain your thought process. This means you can add images, URLs, and pretty much anything you can imagine.

If the Markdown isn’t enough for you, guess what? You can also write HTML and CSS. These allow you to style the notebooks like a website – with obvious constraints.

The IDE is so powerful you can install kernels for other programming languages – such as Java, C++, or Scala. You can also install tons of extensions to either style or add functionality.

Pros: Free, easily installable, tons of installable plugins, minimalistic interface, has cloud alternatives for collaboration.

Cons: Terrible coding assistance, tab-autocomplete is slow, editing .py files is a nightmare.


Visual Studio Code

Do you want the best free all-rounder? Choose this one. Visual Studio Code is as versatile as they come.

Want to write notebooks? Check. Edit Python files? Duh. Configure a Docker container? Of course. Connect to a remote server? Sure. Version control with Git? Got you covered.

Image 2 - Visual Studio Code (image by author)
Image 2 – Visual Studio Code (image by author)

It’s basically a text editor developed by Microsoft, but it does more than your average text editor. You can install a plugin for anything. Coding assistance works like a charm. Overall, it’s an easy to recommend product.

You can still do everything you can with JupyterLab, plus other things. Those include editing Python (or any programming language) files, using the built-in Terminal to manage environments and run files, style the editor with one of the gazillion themes, and much more.

The ability to open and edit .ipynb files is somewhat new, and wasn’t working the best at the start. Luckily, that’s changed.

You won’t go wrong with this one. Best of all, it’s entirely free.

Pros: Free, lightweight, easy to manage the entire data science project lifecycle, highly customizable.

Cons: Can sometimes feel a bit sluggish.


PyCharm

Having a bullet-proof solution like VSCode is wonderful, but sometimes you want a specialized solution. PyCharm is an IDE built exclusively for Python. As you would imagine, this means it is the most feature-rich.

Image 3 - PyCharm Professional (image by author)
Image 3 – PyCharm Professional (image by author)

PyCharm gives you a more professional experience. It isn’t easy to describe, but you’ll understand what I’m talking about after a couple of minutes of usage. The coding assistance is superb, the debugger works like a charm, and the environment management is as easy as it gets.

That being said, one major drawback is the lack of features in the free version. The biggest missing feature is the one to edit .ipynb files, something essential in data science workflows. This feature is available only in the pro version, which will set you back around $90 per year.

I’d say it’s the best overall option for Python developers, not data scientists. I use it mainly when transferring code from notebooks to Python files.

Pros: Feels professional, amazing coding assistance, easy to manage Python versions and environments.

Cons: Free version lacks support for .ipynb files. Editing HTML and CSS files is also a struggle, so keep that in mind if you’re working with Flask a lot.


DataSpell

This one is a new kid on the block. It’s an IDE made exclusively for data scientists. It’s still in a preview version as of September 2021, but you can sign up for it here.

Image 4 - DataSpell (image by author)
Image 4 – DataSpell (image by author)

It’s developed by the same company as PyCharm, so it will feel and look familiar to JetBrains fans. The IDE is packed with essential data science features, such as notebooks, Markdown, interactive shell, and SQL support.

You can read my full overview here:

Tired of JupyterLab? Try DataSpell – A New Amazing IDE for Data Science

The notebook experience is fantastic, but it comes with an even bigger gotcha then PyCharm. It likely won’t offer a free version. You can use it now while in preview mode, but who knows what will happen once the full release is out.

Pros: Ultra-specific for data science, notebook integration is marvelous, easily connects to any database.

Cons: Likely won’t be available for free – no community version like with PyCharm.


What’s your favorite IDE for data science? Let me know in the comments below.


Loved the article? Become a Medium member to continue learning without limits. I’ll receive a portion of your membership fee if you use the following link, with no extra cost to you.

Read every story from Dario Radečić (and thousands of other writers on Medium)


Stay connected


Related Articles