Skip to content

[EuroPython 2023] From Jupyter Notebooks to a Python Package: The Best of Both Worlds

License

Notifications You must be signed in to change notification settings

sesise0307/europython2023-package

Repository files navigation

[EuroPython 2023] From Jupyter Notebooks to a Python Package: The Best of Both Worlds

A Jupyter notebook is quite handy for rapid REPL (Read-Eval-Print-Loop) style tasks such as exploratory data analysis and data science. However, we would feel deficiencies in proper SW engineering supports at some point as the notebook grows to have larger and more complicated code. It is because the Jupyter notebook lacks several important features including code sharing, refactoring support, version control and advanced editing. Fortunately, traditional full-fledged IDEs, such as VS Code or PyCharm, are available at hand and they support these lacking features very well. Then, why don’t we take advantage of the best of both worlds?

In this beginner-level hands-on talk, I will demonstrate how to transform Jupyter notebook workflows to a proper Python package using VS Code. I will also introduce several basic but essential refactoring recommendations. By doing so, you can use the package for several notebooks and even share with your colleagues and friends.

Target Audience

  • Jupyter notebook beginner
  • Python beginner

Outline

Introduction

  • Jupyter Notebook
    • Provides ideal workflows for data science
    • Pros: REPL, interactivity, integration of code / output / documentation, visualization, rapid prototyping, result sharing, etc.
    • Cons: lacks of debugging, code sharing, refactoring, version control, advanced editing, etc.
  • IDE (Integrated Development Environment)
    • Designed to maximize programmer productivity
    • One iteration might take a long journey
  • We can benefit from the best of both worlds by using a Python package

Jupyter Notebook Data Science Workflow

To (Your Own) Python Package

  • What is a package and why do we want to use it?
  • How to create a (minimal) package
  • How to import and use

Wrap up / Some tips

  • Publish your awesome package
  • PyScaffold
  • VS Code

Contact

Sin-seok SEO@Safran Tech, Safran SA

About

[EuroPython 2023] From Jupyter Notebooks to a Python Package: The Best of Both Worlds

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published