A Comment on Data Science Integrated Development Environments

A point that differs from our experience struck us in the recent note:

A development environment specifically tailored to the data science sector on the level of RStudio, for example, does not (yet) exist.

“What’s the Best Statistical Software? A Comparison of R, Python, SAS, SPSS and STATA” Amit Ghosh

Actually, Python has a large number of very capable integrated development environments, some of which are specifically tailored for data science. Please read on for a small list of tools, and my recommendations for a specific data science in Python toolchain.

Off the top of my head I remember the following Python tools:

  • PyCharm, both Community Edition “The Python IDE for Professional Developers”, and Professional Edition “For both Scientific and Web Python development. With HTML, JS, and SQL support”. This IDE has amazing re-factoring and completion abilities, and automatically criticizes your code relative the PEP8 code style recommendations.
  • Black “The uncompromising code formatter”.
  • JupyterLab “a web-based interactive development environment for Jupyter notebooks, code, and data” (the successor to Jupyter Notebook and IPython Notebook).
  • The Anaconda distribution, a great package set and package manager.
  • Spyder “a powerful scientific environment written in Python”.
  • Apache Zeppelin “Web-based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala and more”.
  • VS Code for Python a Python IDE based on Visual Studio.
  • PyDev an Eclipse based Python IDE.
  • Dash “a framework for building analytical web applications”.

My current “data science in Python” goto tools are: PyCharm, JupyterLab, Black, and Anaconda. PyCharm is one of the best IDEs I have seen, JupyterLab notebooks are good for capturing reproducible research and mixing documentation and code, Black greatly improves your code, and Anaconda makes environment management easy.

Tags: