more-compute 0.2.4__py3-none-any.whl → 0.2.6__py3-none-any.whl
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.
- frontend/components/popups/SettingsPopup.tsx +3 -0
- frontend/styling_README.md +5 -13
- kernel_run.py +25 -7
- {more_compute-0.2.4.dist-info → more_compute-0.2.6.dist-info}/METADATA +2 -3
- {more_compute-0.2.4.dist-info → more_compute-0.2.6.dist-info}/RECORD +10 -10
- morecompute/__version__.py +1 -1
- {more_compute-0.2.4.dist-info → more_compute-0.2.6.dist-info}/WHEEL +0 -0
- {more_compute-0.2.4.dist-info → more_compute-0.2.6.dist-info}/entry_points.txt +0 -0
- {more_compute-0.2.4.dist-info → more_compute-0.2.6.dist-info}/licenses/LICENSE +0 -0
- {more_compute-0.2.4.dist-info → more_compute-0.2.6.dist-info}/top_level.txt +0 -0
|
@@ -46,6 +46,9 @@ const SettingsPopup: React.FC<{ onSettingsChange?: (settings: NotebookSettings)
|
|
|
46
46
|
|
|
47
47
|
return (
|
|
48
48
|
<div className="settings-container">
|
|
49
|
+
<div style={{ fontSize: '12px', marginBottom: '8px', color: 'var(--mc-text-secondary, #6b7280)' }}>
|
|
50
|
+
See all themes at <a href="https://github.com/DannyMang/more-compute/blob/main/frontend/styling_README.md" target="_blank" rel="noopener noreferrer" style={{ color: 'var(--mc-link-color, #3b82f6)', textDecoration: 'underline' }}>styling_README.md</a>
|
|
51
|
+
</div>
|
|
49
52
|
<textarea
|
|
50
53
|
className="settings-editor"
|
|
51
54
|
value={settingsJson}
|
frontend/styling_README.md
CHANGED
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
# For settings.json
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Available themes: `light`, `dark`, `tokyo-night`, `tokyo-night-storm`, `tokyo-night-light`, `night-owl`, `night-owl-light`, `synthwave-84`, `one-dark-pro`
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
tokyo-night
|
|
8
|
-
tokyo-night-storm
|
|
9
|
-
tokyo-night-light
|
|
10
|
-
night-owl
|
|
11
|
-
night-owl-light
|
|
12
|
-
synthwave-84
|
|
13
|
-
one-dark-pro
|
|
14
|
-
|
|
15
|
-
Example settings.json:
|
|
5
|
+
Example:
|
|
6
|
+
```json
|
|
16
7
|
{
|
|
17
8
|
"theme": "dark"
|
|
18
9
|
}
|
|
10
|
+
```
|
kernel_run.py
CHANGED
|
@@ -305,13 +305,19 @@ class NotebookLauncher:
|
|
|
305
305
|
print("\n Edit notebook in your browser!\n")
|
|
306
306
|
print(" ➜ URL: http://localhost:3000\n")
|
|
307
307
|
|
|
308
|
+
# Track Ctrl+C presses
|
|
309
|
+
interrupt_count = [0] # Use list to allow modification in nested function
|
|
310
|
+
|
|
308
311
|
# Set up signal handlers
|
|
309
312
|
def signal_handler(signum, frame):
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
313
|
+
interrupt_count[0] += 1
|
|
314
|
+
if interrupt_count[0] == 1:
|
|
315
|
+
print("\n\nREMINDER: Any running GPU pods will continue to incur costs until you terminate them in the Compute popup.")
|
|
316
|
+
print("[CTRL-C AGAIN TO EXIT]")
|
|
317
|
+
else:
|
|
318
|
+
print("\n Thanks for using MoreCompute!\n")
|
|
319
|
+
self.cleanup()
|
|
320
|
+
sys.exit(0)
|
|
315
321
|
|
|
316
322
|
# Windows signal handling is different
|
|
317
323
|
if not self.is_windows:
|
|
@@ -341,6 +347,7 @@ class NotebookLauncher:
|
|
|
341
347
|
time.sleep(1)
|
|
342
348
|
|
|
343
349
|
except KeyboardInterrupt:
|
|
350
|
+
# This shouldn't be reached due to signal handler, but keep as fallback
|
|
344
351
|
print("\n\n Thanks for using MoreCompute!\n")
|
|
345
352
|
self.cleanup()
|
|
346
353
|
|
|
@@ -371,11 +378,22 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
371
378
|
def ensure_notebook_exists(notebook_path: Path):
|
|
372
379
|
if notebook_path.exists():
|
|
373
380
|
if notebook_path.suffix != '.ipynb':
|
|
374
|
-
raise ValueError(
|
|
381
|
+
raise ValueError(
|
|
382
|
+
f"Error: '{notebook_path}' is not a notebook file.\n"
|
|
383
|
+
f"Notebook files must have a .ipynb extension.\n"
|
|
384
|
+
f"Example: more-compute {notebook_path}.ipynb"
|
|
385
|
+
)
|
|
375
386
|
return
|
|
376
387
|
|
|
377
388
|
if notebook_path.suffix != '.ipynb':
|
|
378
|
-
raise ValueError(
|
|
389
|
+
raise ValueError(
|
|
390
|
+
f"Error: '{notebook_path}' does not have the .ipynb extension.\n"
|
|
391
|
+
f"Notebook files must end with .ipynb\n\n"
|
|
392
|
+
f"Did you mean?\n"
|
|
393
|
+
f" more-compute {notebook_path}.ipynb\n\n"
|
|
394
|
+
f"Or to create a new notebook with timestamp:\n"
|
|
395
|
+
f" more-compute new"
|
|
396
|
+
)
|
|
379
397
|
|
|
380
398
|
notebook_path.parent.mkdir(parents=True, exist_ok=True)
|
|
381
399
|
notebook = Notebook()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: more-compute
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.6
|
|
4
4
|
Summary: An interactive notebook environment for local and GPU computing
|
|
5
5
|
Home-page: https://github.com/DannyMang/MORECOMPUTE
|
|
6
6
|
Author: MoreCompute Team
|
|
@@ -44,8 +44,7 @@ Dynamic: requires-python
|
|
|
44
44
|
[](https://www.python.org/downloads/)
|
|
45
45
|
[](LICENSE)
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
similar to Jupyter Lab but more awesome.
|
|
47
|
+
An interactive notebook environment, similar to Marimo and Google Colab, that runs locally. It works with standard `.ipynb` files, similar to Jupyter Lab but more awesome.
|
|
49
48
|
|
|
50
49
|
## Installation
|
|
51
50
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
kernel_run.py,sha256
|
|
1
|
+
kernel_run.py,sha256=XAgUmZO9EVPXMlQe8RO8w4s_NveB9U7J6S-CyF12D0o,15847
|
|
2
2
|
frontend/.DS_Store,sha256=uQeHnkKyuTF1AVax3NPqtN0uCH6XNXAxL9Nkb6Q9cGw,8196
|
|
3
3
|
frontend/.gitignore,sha256=IH4mX_SQH5rZ-W2M4IUw4E-fxgCBVHKmbQpEYJbWVM0,480
|
|
4
4
|
frontend/README.md,sha256=YLVf9995r3JZD5UkII5GZCvDK9wXXNrUE0loHA4vlY8,1450
|
|
@@ -10,7 +10,7 @@ frontend/next.config.ts,sha256=OL_rEfTIZxsB_B5R9JX2AxYXgC0Fc_XiDoRlOGEDEpk,368
|
|
|
10
10
|
frontend/package-lock.json,sha256=pGL_J72WHNTz7iLx2MOwHwnDGfbKzN-r_qnnbzfGbEU,334369
|
|
11
11
|
frontend/package.json,sha256=nUVMqlXGT5m431ArOzzs_geSfmq0AKfqUB40zIAeZ5s,1395
|
|
12
12
|
frontend/postcss.config.mjs,sha256=jEBxSXR5tLs0bQ67U7G961Vb62WVEqqg1piNDYPd7tU,105
|
|
13
|
-
frontend/styling_README.md,sha256=
|
|
13
|
+
frontend/styling_README.md,sha256=H7eCyVMCNk_3tsKvJQHISFSL7ra6M6V58Vfsbt28wBY,220
|
|
14
14
|
frontend/tailwind.config.ts,sha256=eP9nVaAuyYo46vGQfCyWbo25_pr2hW830fs1Itcix9Q,620
|
|
15
15
|
frontend/tsconfig.json,sha256=7SvBlRBYmuXAlAteRQTGwEE7ooWuNaPUrZ219dOo61E,598
|
|
16
16
|
frontend/app/favicon.ico,sha256=K4rS0zRVqPc2_DqOv48L3qiEitTA20iigzvQ-c13WTI,25931
|
|
@@ -35,7 +35,7 @@ frontend/components/popups/FilterPopup.tsx,sha256=4kx9txg8cWeC6XHlh0pu0-BAfZkLTD
|
|
|
35
35
|
frontend/components/popups/FolderPopup.tsx,sha256=V2tDAbztvNIUyPWtFiwjeIoCmFGQyDosQgST_JsAzLo,5215
|
|
36
36
|
frontend/components/popups/MetricsPopup.tsx,sha256=V4Srat-RRr7B046Ezg5w99_E_t9j0P3Ch5DO9rF7Nx0,5028
|
|
37
37
|
frontend/components/popups/PackagesPopup.tsx,sha256=K_9kGlQ-y-njugOLrahbv0KHRh_mXIlzuMg0giRsTb8,3606
|
|
38
|
-
frontend/components/popups/SettingsPopup.tsx,sha256=
|
|
38
|
+
frontend/components/popups/SettingsPopup.tsx,sha256=rGwYxjkADnyTtpP0MjVpFPBsGoT1eENN2z7nWjLuzFE,2773
|
|
39
39
|
frontend/contexts/PodWebSocketContext.tsx,sha256=QyEg1Msyum7h3T6F3j6pn4Ds5sXFT_9WYu5_0YZ2IUI,8256
|
|
40
40
|
frontend/lib/api.ts,sha256=0N4PCSC5pfbq7GvR_6aOdPZ3JGujzi1Rz4V51g8sHP8,10852
|
|
41
41
|
frontend/lib/monaco-themes.ts,sha256=jh_pZAmSMKjY_belbMbZX2WpFBN7baRxvJp9shUDYgk,5396
|
|
@@ -65,9 +65,9 @@ frontend/public/fonts/Fira.ttf,sha256=dbSM4W7Drd9n_EkfXq8P31KuxbjZ1wtuFiZ8aFebvT
|
|
|
65
65
|
frontend/public/fonts/Tiempos.woff2,sha256=h83bJKvAK301wXCMIvK7ZG5j0H2K3tzAfgo0yk4z8OE,13604
|
|
66
66
|
frontend/public/fonts/VeraMono.ttf,sha256=2kKB3H2xej385kpiztkodcWJU0AFXsi6JKORTrl7NJ0,49224
|
|
67
67
|
frontend/types/notebook.ts,sha256=v23RaZe6H3lU5tq6sqnJDPxC2mu0NZFDCJfiN0mgvSs,1359
|
|
68
|
-
more_compute-0.2.
|
|
68
|
+
more_compute-0.2.6.dist-info/licenses/LICENSE,sha256=0Ot-XIetYt06iay6IhtpJkruD-cLZtjyv7_aIEE-oSc,1073
|
|
69
69
|
morecompute/__init__.py,sha256=pcMVq8Q7qb42AOn7tqgoZJOi3epDDBnEriiv2WVKnXY,87
|
|
70
|
-
morecompute/__version__.py,sha256=
|
|
70
|
+
morecompute/__version__.py,sha256=Oz5HbwHMyE87nmwV80AZzpkJPf-wBg7eDuJr_BXZkhU,22
|
|
71
71
|
morecompute/cli.py,sha256=kVvzvPBqF8xO6UuhU_-TBn99nKwJ405R2mAS6zU0KBc,734
|
|
72
72
|
morecompute/notebook.py,sha256=KEcv0eOEh9N7bPVGoRuKJb47G9MmpQ5zz1B6Dm58w18,4651
|
|
73
73
|
morecompute/process_worker.py,sha256=KsE3r-XpkYGuyO4w3t54VKkD51LfNHAZc3TYattMtrg,7185
|
|
@@ -93,8 +93,8 @@ morecompute/utils/python_environment_util.py,sha256=l8WWWPwKbypknw8GwL22NXCji5i1
|
|
|
93
93
|
morecompute/utils/special_commands.py,sha256=JTc9II2EitmivwTTdnydEefShasiTa-7w8tNyYVIenw,19104
|
|
94
94
|
morecompute/utils/system_environment_util.py,sha256=32mQRubo0i4X61o-825T7m-eUSidcEp07qkInP1sWZA,4774
|
|
95
95
|
morecompute/utils/zmq_util.py,sha256=tx7-iS04UN69OFtBzkxcEnRhT7xtI9EzRnrZ_nsH_O0,1889
|
|
96
|
-
more_compute-0.2.
|
|
97
|
-
more_compute-0.2.
|
|
98
|
-
more_compute-0.2.
|
|
99
|
-
more_compute-0.2.
|
|
100
|
-
more_compute-0.2.
|
|
96
|
+
more_compute-0.2.6.dist-info/METADATA,sha256=WwIvC8bdlk8MTsPcfHiiyoVOShlimReIQuEaPwYep0Q,3631
|
|
97
|
+
more_compute-0.2.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
98
|
+
more_compute-0.2.6.dist-info/entry_points.txt,sha256=xp7z9eRPNRM4oxkZZVlyXkhkSjN1AjoYI_B7qpDJ1bI,49
|
|
99
|
+
more_compute-0.2.6.dist-info/top_level.txt,sha256=Tamm6ADzjwaQa1z27O7Izcyhyt9f0gVjMv1_tC810aI,32
|
|
100
|
+
more_compute-0.2.6.dist-info/RECORD,,
|
morecompute/__version__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.2.
|
|
1
|
+
__version__ = "0.2.6"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|