Code Monkey home page Code Monkey logo

europython2023-package's Introduction

[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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.