Interested in submitting a new cookbook


I have a cookbook that I would like to contribute. It’s fairly complete at this stage:

The conda environment creation step sometimes stalls when using “conda env create”, but when using mamba, creation is fairly quick. So I made a small note of that in the README.

I haven’t tried building via binder yet, but build step works with “cache” setting.

I look forward to your response!


1 Like


Per the cookbook guide, I guess the next step is to add you to the Project Pythia org. I will send the invitation shortly.

Great! I just submitted the transfer, but I’m not sure how to check the build status after switching the build from “cache” to “binder”. I also wanted to preview the sphinx output, but I’m not sure how to do that.

I could be wrong, but it looks like switching the build to “binder” is failing with an OperationError. If I should switch back to “cache”, which seems to work, just let me know and I will make that switch.

We’re rolling out a new binder service to support cookbooks ahead of next week’s hackathon. There should be an update later this week about migrating the automated builds to the new binder. Stay tuned for that!

For now you should be able to manually test running your notebooks on the new binder.
Go to, authenticate via GitHub, and point the binder to your cookbook repo. It should build the image and launch an interactive Jupyter environment where you can run your notebooks.

Great! I’ve gotten the notebook to work using the binder service by using a dask LocalCluster with four workers. The github build action currently fails with

“2023-06-14 14:19:22 [info ] Binder: Build Failed Failed to create temporary user for ktyle/binder-dev-projectpythia-2dna-2dcordex-2dviz-2dcookbook-cdc8ac:340b0f913e040d6f3f3d0ee04570fb71d50acef2”

The notebook can also be configured to use dask-gateway, but I didn’t know the proper server config settings for this. I’ll leave the notebook settings to use LocalCluster for now.

Yes, the binder-based build option currently doesn’t know how to deal with the authentication step, which is why it fails.

We’ll hopefully have some updates on this before the start of next week’s hackathon.