Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discussion: A notebook native workflow #643

Open
DamienIrving opened this issue Nov 10, 2021 · 0 comments
Open

Discussion: A notebook native workflow #643

DamienIrving opened this issue Nov 10, 2021 · 0 comments
Labels
discussion discussion before a proposal

Comments

@DamienIrving
Copy link
Contributor

DamienIrving commented Nov 10, 2021

Something I'm acutely aware of when talking about this book or running Software Carpentry workshops is that people love working in Jupyter notebooks, but my teaching is constantly steering them away from notebooks (i.e. I effectively tell learners that notebooks are great for prototyping but they should ultimately take the code they've developed in notebooks and incorporate it into a command line script using argparse etc).

There are now tools out there for running notebooks from the command line with different input parameters (papermill), for visualising notebook diffs (ReviewNB) and for building and publishing Python packages from notebooks (nbdev).

An interesting exercise would be to re-do the Zipfs Law analysis and packaging/release in a notebook native fashion, which would essentially mean replacing our content on argparse with papermill, adding ReviewNB to the git content and replacing our packaging content (i.e. setuptools, sphinx, readthedocs) with nbdev. As far as I can tell (I haven't used papermill or nbdev in depth yet), by using these tools it would be possible to define a notebook native workflow (for the Python coding - we'd still be using the command line and make for workflow automation) that doesn't betray any of the best practices we teach.

Thoughts?

@DamienIrving DamienIrving added the discussion discussion before a proposal label Nov 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion discussion before a proposal
Projects
None yet
Development

No branches or pull requests

1 participant