\n\nMaybe it's possible to make `ReactiveSequence` generic for both way like this.",[3214],{"name":3185,"color":3186},454,"[hmr] Advanced generic typing","2025-09-25T10:43:48Z","https://github.com/promplate/pyth-on-line/issues/454",0.8022013,{"description":3221,"labels":3222,"number":3224,"owner":3171,"repository":3188,"state":3173,"title":3225,"updated_at":3226,"url":3227,"score":3228},"This would fix #408, but may not be ideal.\n\n1. Methods `__delitem__`, `__setitem__` (with `check_equality=True`), and `__getitem__` need be updated\n2. Even `__iter__` might need to call `__getitem__` to ensure consistency, or we still can't promise they are in sync\n3. Users can manually sync via simply `self.update(self._data)` if needed\n\nHowever, without this, direct modifications to `__dict__` or `globals()` still won't be accessible through `__getattr__`, as noted in #211—this should be considered.\n",[3223],{"name":3185,"color":3186},431,"[hmr] Add an `strict` option in `ReactiveMappingProxy` to always check `_data.__getitem__`","2025-09-11T06:00:01Z","https://github.com/promplate/pyth-on-line/issues/431",0.81063104,{"description":3230,"labels":3231,"number":3232,"owner":3171,"repository":3188,"state":3173,"title":3233,"updated_at":3234,"url":3235,"score":3236},"This is urgent. I can't imagine pitching the HMR ecosystem without having an intuitive documentation 😅",[],413,"Document HMR behaviors and usage of `reactivity` members","2025-09-05T05:02:24Z","https://github.com/promplate/pyth-on-line/issues/413",0.8114021,{"description":3238,"labels":3239,"number":3240,"owner":3171,"repository":3188,"state":3173,"title":3241,"updated_at":3242,"url":3243,"score":3244},"Besides [`watchfiles`](https://github.com/samuelcolvin/watchfiles), we may also support popular fs-watching libraries like\n\n- [`watchdog`](https://github.com/gorakhargosh/watchdog)\n- the legacy [`watchgod`](https://github.com/samuelcolvin/watchfiles/tree/watchgod)\n\nAnd we may implement a simple polling-based watcher like [statreload.py](https://github.com/Kludex/uvicorn/blob/master/uvicorn/supervisors/statreload.py) bundled in uvicorn.\n\nFor some backends, we may be able to do some smart filtering stuff like only watch for used files, which can be inferred from `ReactiveModules.instances` and or the fs signals in `fs.py`",[],410,"[hmr] Support more watcher backends","2025-09-05T04:42:20Z","https://github.com/promplate/pyth-on-line/issues/410",0.8160247,{"description":3246,"labels":3247,"number":3249,"owner":3171,"repository":3188,"state":3173,"title":3250,"updated_at":3251,"url":3252,"score":3253},"For a standard reaction model:\n\n```\n########## ----> ########### ----> ##########\n# Signal # # Derived # # Effect #\n########## \u003C - - ########### \u003C - - ##########\n```\n\n\nA `Derived` referenced only by `Signal`s is unreachable and should be GC’d, yet we can’t make every `Signal → Derived` reference weak or the `Derived` may vanish too soon.\n\nSolution: give `Derived` an `unsubscribe` method that disposes it once no `BaseComputation` holds it.\n\n> Edit: or in a `BaseComputation.__del__`\n\nWe may also need to remind users not to treat `Derived` as a lazy `Effect`. But wait, then what can they use if they just need a lazy `Effect`? So we may implement a `weak=False` attribute in `Derived` and `AsyncDerived` to allow user control the lifespan of a `Derived` (just like we provide `force_flush=True` for `Batch`s).",[3248],{"name":3182,"color":3183},453,"[hmr] `WeakDerived` or something similar","2025-09-25T06:49:07Z","https://github.com/promplate/pyth-on-line/issues/453",0.81650263,{"description":3255,"labels":3256,"number":3258,"owner":3171,"repository":3188,"state":3173,"title":3259,"updated_at":3260,"url":3261,"score":3262},"IPython provides convenient [programmatic API](https://ipython.readthedocs.io/en/stable/api/generated/IPython.core.interactiveshell.html#IPython.core.interactiveshell.InteractiveShell.run_cell) to execute code cells with [custom namespace support](https://ipython.readthedocs.io/en/stable/api/generated/IPython.core.interactiveshell.html#IPython.core.interactiveshell.InteractiveShell.__init__).\n\nThe project already has a console implementation at `src/routes/console/` - we could easily add an `/ipython` page to support IPython's rich syntax (magic commands, auto-completion, etc.) on top of the existing infrastructure.\n\n## References\n- [IPython InteractiveShell.run_cell documentation](https://ipython.readthedocs.io/en/stable/api/generated/IPython.core.interactiveshell.html#IPython.core.interactiveshell.InteractiveShell.run_cell)\n- [IPython source code](https://github.com/ipython/ipython/blob/main/IPython/core/interactiveshell.py)\n- [Custom namespace configuration](https://ipython.readthedocs.io/en/stable/api/generated/IPython.core.interactiveshell.html#IPython.core.interactiveshell.InteractiveShell.__init__)\n- [IPython embedding guide](https://ipython.readthedocs.io/en/stable/config/options/terminal.html#embed)",[3257],{"name":3182,"color":3183},438,"[hmr] Add IPython web interface page","2025-09-17T19:01:29Z","https://github.com/promplate/pyth-on-line/issues/438",0.82159394,["Reactive",3264],{},["Set"],["ShallowReactive",3267],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fH1YVdhZRtN_Cw6OKV1eyBKp6xkMtEaFJZTH1ihvFHkk":-1},"/promplate/pyth-on-line/269"]