nbdev tries to solve this problem by giving you
- automatically turning notebooks into publishable Python modules
- bidirectional sync with plaintext .py for IDE usage
- fixes for other "real" project needs: tests, continuous integration, documentation export, conflict resolution
Conversation
While nbdev seems focused on helping individual developers avoid the "switch" when implementing their own projects, I think layers like this could help solve a big problem with "executable books": the huge barrier for *readers* to build on embedded code to do anything real.
1
9
The fast.ai docs get at something pretty exciting, then. Like many notebooks, it contains narrative content which explains computational material and lets readers explore. But the executable book is *also* the implementation of a published production-level library
1
14
The narrative in those docs is a bit limited: it's more documentation than prose. "Deep Learning for Coders" is the expository text from the same authors, but it isn't made available in an executable context AFAICT. I think that could be really powerful!
1
4
(For more on these themes and on dreams of executable books, see numinous.productions/ttft/#executab)
2
3
22
My wishlist for exec. books:
– author did their "real thinking" in the authoring computational environment
– reading environment invites + supports meaningful experimentation/exploration
– book elements transparently and usefully reusable by author and readers in derivative works
4
16
Imagine if creating a derivative work was as easy as importing one notebook from another, or even importing it into normal non-notebook code... ;)
1
I didn't realize the latter was supported from RunKit—very cool! Are you aware of any serious "executable books" published using RunKit?
1
Depends what “serious” means — the goal is precisely to bring notebook style development to normal programming:
1. Tons of bugs filed using RunKit notebooks (no more “works on my computer”, always reproducible forever since packages frozen in time):
1
2. A huge amount of “notebooks” embedded in docs all over the web using RunKit embeds — interactive programming “as a service”. Why ask users to imagine code behavior when they can run it on a real Linux server in the docs:
expressjs.com/en/starter/hel
Docs: runkit.com/docs/embed
2
Replying to
Right! These seem like super valuable use cases, and they're the ones I think about when I think about RunKit. I was wondering whether anyone's used it as an environment for interactive expository text, as described in
Replying to
Ah, I thought from original tweet you meant the “switching” to real impls by “serious”. Most expository text ends up using embeds interestingly enough (plenty of dev.to use RunKit for their examples fir example). vs. hosting *on* RunKit.
1
1
This is something I’m pretty interested in: the fact that the former model is “host on service” (and don’t own the post on your machine), or host yourself (and probably lose interactivity since it’s just a “rendering”). (Cont.)
1
1
Show replies

