Interest in Codex re-write of the dashboard?
- Dominant language
- Python
- Stars
- 1.7k
- Forks
- 778
- Avg merge
- 2h 50m
- Merged PRs (30d)
- 3
Description
Hi 👋 I've been working on some improvements to Bokeh that will land soon in version 3.10, specifically [making the server usable in ASGI frameworks without tornado](https://github.com/bokeh/bokeh/pull/15239) and also [actually fulfilling an async/non-blocking promise](https://github.com/bokeh/bokeh/pull/15295). I've also got some relevant WebGL improvements in the pipeline (e.g. have a POC streaming 400k tasks without hammering my laptop fan now).
Anyway, I wanted to use the dask dashboard as a test bed for trying out these new features, so I spend last night with codex re-factoring things to see how they'd really work in a real app. The result no longer depends on Tornado at all (just the dashboard, I leave the rest as an exercise for the reader) and also has some performance improvements as well.
https://github.com/user-attachments/assets/5f4a3100-5393-4767-9693-abde8ac4fd65
All the original views still work, and AFAICT everything also works in JupyterLab with `dask_labextension`, and `jupyter-server-proxy`, etc.
Since I was tinkering, I pressed for a few other things: a task filter built into the task stream, visual/navigation fixes, shared design elements, responsive layout, more tests, reduced bandwidth requirements and lower CPU usage, etc.
As I said this was really just an experiment for me to tinker with new Bokeh features. OTOH the result also seems pretty cool! I don't want to just dump a giant unsolicited PR on folks out of nowhere, though. But, in case you do have any interest in some or all of these changes, I'm happy to split things out, remove parts, or iterate however you like. Let me know what you think. (And of course, if you don't have any interest, that's perfectly fine too 😄)
Contributor guide
Research direction
Start by reviewing the linked Bokeh pull requests and the existing dask dashboard, including its JupyterLab and jupyter-server-proxy use. First confirm whether maintainers want a rewrite and which improvements are in scope; done means an agreed subset is implemented and its existing views and integrations remain working.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter, python
- Domain
- frontend, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100