hmr 0.5.0__tar.gz → 0.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hmr-0.5.0 → hmr-0.5.2}/PKG-INFO +1 -1
- {hmr-0.5.0 → hmr-0.5.2}/pyproject.toml +1 -1
- {hmr-0.5.0 → hmr-0.5.2}/reactivity/functional.py +1 -1
- {hmr-0.5.0 → hmr-0.5.2}/reactivity/helpers.py +2 -2
- {hmr-0.5.0 → hmr-0.5.2}/reactivity/hmr/api.py +5 -0
- {hmr-0.5.0 → hmr-0.5.2}/reactivity/hmr/core.py +6 -3
- {hmr-0.5.0 → hmr-0.5.2}/reactivity/primitives.py +2 -0
- {hmr-0.5.0 → hmr-0.5.2}/reactivity/__init__.py +0 -0
- {hmr-0.5.0 → hmr-0.5.2}/reactivity/hmr/__init__.py +0 -0
- {hmr-0.5.0 → hmr-0.5.2}/reactivity/hmr/__main__.py +0 -0
- {hmr-0.5.0 → hmr-0.5.2}/reactivity/hmr/hooks.py +0 -0
- {hmr-0.5.0 → hmr-0.5.2}/reactivity/hmr/utils.py +0 -0
{hmr-0.5.0 → hmr-0.5.2}/PKG-INFO
RENAMED
@@ -99,8 +99,8 @@ class Reactive[K, V](Subscribable, MutableMapping[K, V]):
|
|
99
99
|
|
100
100
|
def __setitem__(self, key: K, value: V):
|
101
101
|
with Batch(force_flush=False):
|
102
|
-
self._signals[key].set(value)
|
103
|
-
|
102
|
+
if self._signals[key].set(value):
|
103
|
+
self.notify()
|
104
104
|
|
105
105
|
def __delitem__(self, key: K):
|
106
106
|
state = self._signals[key]
|
@@ -1,9 +1,13 @@
|
|
1
|
+
import sys
|
2
|
+
|
1
3
|
from .core import AsyncReloader, BaseReloader, SyncReloader, create_effect
|
2
4
|
from .hooks import call_post_reload_hooks, call_pre_reload_hooks
|
3
5
|
|
4
6
|
|
5
7
|
class LifecycleMixin(BaseReloader):
|
6
8
|
def run_with_hooks(self):
|
9
|
+
self._original_main_module = sys.modules["__main__"]
|
10
|
+
sys.modules["__main__"] = self.entry_module
|
7
11
|
call_pre_reload_hooks()
|
8
12
|
self.effect = create_effect(self.run_entry_file)
|
9
13
|
call_post_reload_hooks()
|
@@ -12,6 +16,7 @@ class LifecycleMixin(BaseReloader):
|
|
12
16
|
self.effect.dispose()
|
13
17
|
self.entry_module.load.dispose()
|
14
18
|
self.entry_module.load.invalidate()
|
19
|
+
sys.modules["__main__"] = self._original_main_module
|
15
20
|
|
16
21
|
|
17
22
|
class SyncReloaderAPI(SyncReloader, LifecycleMixin):
|
@@ -331,11 +331,14 @@ def cli():
|
|
331
331
|
if len(sys.argv) < 2:
|
332
332
|
print("\n Usage: hmr <entry file>, just like python <entry file>\n")
|
333
333
|
exit(1)
|
334
|
-
|
334
|
+
sys.argv.pop(0) # this file itself
|
335
|
+
entry = sys.argv[0]
|
335
336
|
if not (path := Path(entry)).is_file():
|
336
337
|
raise FileNotFoundError(path.resolve())
|
337
338
|
sys.path.insert(0, ".")
|
338
|
-
SyncReloader(entry)
|
339
|
+
reloader = SyncReloader(entry)
|
340
|
+
sys.modules["__main__"] = reloader.entry_module
|
341
|
+
reloader.keep_watching_until_interrupt()
|
339
342
|
|
340
343
|
|
341
|
-
__version__ = "0.5.
|
344
|
+
__version__ = "0.5.2"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|