Nir Barazida - Unlock the Full Potential of Jupyter Notebooks | PyData Global 2023

Nir Barazida

"Unlock the full potential of Jupyter Notebooks with Nir Barazida as he shares expert tips on organizing, versioning, and automating your data science workflows"

Key takeaways
  • Move code to modules: Break down single-notebook applications into separate modules to enable version control, reproducibility, and reuse.
  • version Jupyter Notebooks: Version notebooks to enable tracking of changes and reproducibility.
  • Use scripts for training and deployment: Use scripts for training and deployment to simplify the process and improve efficiency.
  • Avoid ad-hoc versioning: Avoid ad-hoc versioning and instead use version control systems to manage code and data.
  • Use CI/CD for automations: Use CI/CD for automations to streamline the process and ensure reproducibility.
  • Break down modules: Break down large modules into smaller, more manageable pieces to improve maintenance and debugging.
  • Use peer review: Use peer review to ensure code quality and reproducibility.
  • Use task-oriented notebooks: Use task-oriented notebooks to focus on specific tasks and improve collaboration.
  • Use libraries for data versioning: Use libraries for data versioning, such as nbdime, to enable tracking of changes and reproducibility.
  • Use logging and tracking: Use logging and tracking to monitor and analyze the development process.
  • Use collaboration tools: Use collaboration tools, such as Slack or GitHub, to facilitate communication and collaboration.
  • Avoid global variables: Avoid using global variables to improve code organization and readability.
  • Use nbdime: Use nbdime to enable cell and output diffing and to track changes in Jupyter Notebooks.
  • Version data and models: Version data and models to enable tracking of changes and reproducibility.
  • Use Daxup: Use Daxup to manage notebooks and enable collaboration.
  • Avoid deploying notebooks to production: Avoid deploying notebooks to production and instead use scripts for training and deployment.