vitessce 3.6.0__py3-none-any.whl → 3.6.2__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.
- vitessce/__init__.py +0 -5
- vitessce/widget.py +15 -16
- {vitessce-3.6.0.dist-info → vitessce-3.6.2.dist-info}/METADATA +7 -8
- {vitessce-3.6.0.dist-info → vitessce-3.6.2.dist-info}/RECORD +6 -6
- {vitessce-3.6.0.dist-info → vitessce-3.6.2.dist-info}/WHEEL +0 -0
- {vitessce-3.6.0.dist-info → vitessce-3.6.2.dist-info}/licenses/LICENSE +0 -0
vitessce/__init__.py
CHANGED
|
@@ -27,11 +27,6 @@ from .constants import (
|
|
|
27
27
|
BASE_URL_PLACEHOLDER,
|
|
28
28
|
)
|
|
29
29
|
|
|
30
|
-
from .config_converter import (
|
|
31
|
-
CellBrowserToAnndataZarrConverter, # only exported for testing.
|
|
32
|
-
convert_cell_browser_project_to_anndata,
|
|
33
|
-
)
|
|
34
|
-
|
|
35
30
|
from .wrappers import AbstractWrapper
|
|
36
31
|
|
|
37
32
|
# We allow installation without all of the dependencies that the widget requires.
|
vitessce/widget.py
CHANGED
|
@@ -2,21 +2,11 @@ import importlib.util
|
|
|
2
2
|
from urllib.parse import quote_plus
|
|
3
3
|
import json
|
|
4
4
|
import sys
|
|
5
|
-
|
|
6
|
-
# Widget dependencies
|
|
7
|
-
import anywidget
|
|
8
|
-
from traitlets import Unicode, Dict, List, Int, Bool
|
|
9
5
|
import time
|
|
10
6
|
import uuid
|
|
7
|
+
import anywidget
|
|
8
|
+
from traitlets import Unicode, Dict, List, Int, Bool
|
|
11
9
|
|
|
12
|
-
# Server dependencies
|
|
13
|
-
from uvicorn import Config, Server
|
|
14
|
-
|
|
15
|
-
from starlette.applications import Starlette
|
|
16
|
-
from starlette.middleware import Middleware
|
|
17
|
-
from starlette.middleware.cors import CORSMiddleware
|
|
18
|
-
from threading import Thread
|
|
19
|
-
import socket
|
|
20
10
|
|
|
21
11
|
MAX_PORT_TRIES = 1000
|
|
22
12
|
DEFAULT_PORT = 8000
|
|
@@ -25,6 +15,10 @@ DEFAULT_PORT = 8000
|
|
|
25
15
|
class BackgroundServer:
|
|
26
16
|
# Reference: https://github.com/gosling-lang/gos/blob/main/gosling/data/_background_server.py#L10
|
|
27
17
|
def __init__(self, routes):
|
|
18
|
+
from starlette.applications import Starlette
|
|
19
|
+
from starlette.middleware import Middleware
|
|
20
|
+
from starlette.middleware.cors import CORSMiddleware
|
|
21
|
+
|
|
28
22
|
middleware = [
|
|
29
23
|
Middleware(CORSMiddleware, allow_origins=[
|
|
30
24
|
'*'], allow_methods=["OPTIONS", "GET"], allow_headers=['Range'])
|
|
@@ -47,6 +41,9 @@ class BackgroundServer:
|
|
|
47
41
|
return self
|
|
48
42
|
|
|
49
43
|
def start(self, port=None, timeout=1, daemon=True, log_level="warning"):
|
|
44
|
+
from uvicorn import Config, Server
|
|
45
|
+
from threading import Thread
|
|
46
|
+
|
|
50
47
|
if self.thread is not None:
|
|
51
48
|
return self
|
|
52
49
|
|
|
@@ -87,6 +84,7 @@ data_server = VitessceDataServer()
|
|
|
87
84
|
|
|
88
85
|
|
|
89
86
|
def is_port_in_use(port):
|
|
87
|
+
import socket
|
|
90
88
|
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
|
91
89
|
return s.connect_ex(('localhost', port)) == 0
|
|
92
90
|
|
|
@@ -497,7 +495,8 @@ async function render(view) {
|
|
|
497
495
|
const root = createRoot(view.el);
|
|
498
496
|
// Marimo puts AnyWidgets in a Shadow Root, so we need to tell Emotion to
|
|
499
497
|
// insert styles within the Shadow DOM.
|
|
500
|
-
const
|
|
498
|
+
const rootNode = view.el.getRootNode();
|
|
499
|
+
const styleContainer = rootNode === document ? undefined : rootNode;
|
|
501
500
|
root.render(e(VitessceWidget, { model: view.model, styleContainer }));
|
|
502
501
|
|
|
503
502
|
return () => {
|
|
@@ -601,7 +600,7 @@ class VitessceWidget(anywidget.AnyWidget):
|
|
|
601
600
|
|
|
602
601
|
next_port = DEFAULT_PORT
|
|
603
602
|
|
|
604
|
-
js_package_version = Unicode('3.
|
|
603
|
+
js_package_version = Unicode('3.6.3').tag(sync=True)
|
|
605
604
|
js_dev_mode = Bool(False).tag(sync=True)
|
|
606
605
|
custom_js_url = Unicode('').tag(sync=True)
|
|
607
606
|
plugin_esm = List(trait=Unicode(''), default_value=[]).tag(sync=True)
|
|
@@ -613,7 +612,7 @@ class VitessceWidget(anywidget.AnyWidget):
|
|
|
613
612
|
|
|
614
613
|
store_urls = List(trait=Unicode(''), default_value=[]).tag(sync=True)
|
|
615
614
|
|
|
616
|
-
def __init__(self, config, height=600, theme='auto', uid=None, port=None, proxy=False, js_package_version='3.
|
|
615
|
+
def __init__(self, config, height=600, theme='auto', uid=None, port=None, proxy=False, js_package_version='3.6.3', js_dev_mode=False, custom_js_url='', plugins=None, remount_on_uid_change=True, prefer_local=True, invoke_timeout=300000, invoke_batched=True, page_mode=False, page_esm=None):
|
|
617
616
|
"""
|
|
618
617
|
Construct a new Vitessce widget.
|
|
619
618
|
|
|
@@ -748,7 +747,7 @@ class VitessceWidget(anywidget.AnyWidget):
|
|
|
748
747
|
# Launch Vitessce using plain HTML representation (no ipywidgets)
|
|
749
748
|
|
|
750
749
|
|
|
751
|
-
def ipython_display(config, height=600, theme='auto', base_url=None, host_name=None, uid=None, port=None, proxy=False, js_package_version='3.
|
|
750
|
+
def ipython_display(config, height=600, theme='auto', base_url=None, host_name=None, uid=None, port=None, proxy=False, js_package_version='3.6.3', js_dev_mode=False, custom_js_url='', plugins=None, remount_on_uid_change=True, page_mode=False, page_esm=None):
|
|
752
751
|
from IPython.display import display, HTML
|
|
753
752
|
uid_str = "vitessce" + get_uid_str(uid)
|
|
754
753
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vitessce
|
|
3
|
-
Version: 3.6.
|
|
3
|
+
Version: 3.6.2
|
|
4
4
|
Summary: Jupyter widget facilitating interactive visualization of spatial single-cell data with Vitessce
|
|
5
5
|
Project-URL: repository, https://github.com/vitessce/vitessce-python
|
|
6
6
|
Author-email: Mark Keller <mark_keller@hms.harvard.edu>
|
|
@@ -37,28 +37,26 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
37
37
|
Classifier: Programming Language :: Python :: 3.12
|
|
38
38
|
Classifier: Topic :: Multimedia :: Graphics
|
|
39
39
|
Requires-Python: >=3.10
|
|
40
|
-
Requires-Dist: anndata>=0.7.8
|
|
41
40
|
Requires-Dist: black>=21.11b1
|
|
42
|
-
Requires-Dist: jsonschema>=3.2
|
|
43
|
-
Requires-Dist: negspy>=0.2.24
|
|
44
41
|
Requires-Dist: numcodecs<0.16.0,>=0.5.7
|
|
45
42
|
Requires-Dist: numpy>=1.21.2
|
|
46
|
-
Requires-Dist: ome-zarr<0.10.3
|
|
47
43
|
Requires-Dist: pandas>=1.1.2
|
|
48
|
-
Requires-Dist: scanpy>=1.10.2
|
|
49
44
|
Requires-Dist: scipy>=1.2.1
|
|
50
|
-
Requires-Dist: tifffile>=2020.10.1
|
|
51
|
-
Requires-Dist: tqdm>=4.1.0
|
|
52
45
|
Requires-Dist: zarr<3,>=2.5.0
|
|
53
46
|
Provides-Extra: all
|
|
54
47
|
Requires-Dist: aiofiles>=0.6.0; extra == 'all'
|
|
48
|
+
Requires-Dist: anndata>=0.7.8; extra == 'all'
|
|
55
49
|
Requires-Dist: anywidget>=0.9.10; extra == 'all'
|
|
56
50
|
Requires-Dist: fsspec; extra == 'all'
|
|
57
51
|
Requires-Dist: generate-tiff-offsets>=0.1.9; extra == 'all'
|
|
58
52
|
Requires-Dist: jupyter-server-proxy>=1.5.2; extra == 'all'
|
|
59
53
|
Requires-Dist: kerchunk>=0.2.6; extra == 'all'
|
|
54
|
+
Requires-Dist: negspy>=0.2.24; extra == 'all'
|
|
55
|
+
Requires-Dist: ome-zarr<0.10.3; extra == 'all'
|
|
60
56
|
Requires-Dist: oxc-py>=0.1.1; extra == 'all'
|
|
57
|
+
Requires-Dist: scanpy>=1.10.2; extra == 'all'
|
|
61
58
|
Requires-Dist: starlette>=0.14.0; extra == 'all'
|
|
59
|
+
Requires-Dist: tifffile>=2020.10.1; extra == 'all'
|
|
62
60
|
Requires-Dist: ujson>=4.0.1; extra == 'all'
|
|
63
61
|
Requires-Dist: uvicorn>=0.17.0; extra == 'all'
|
|
64
62
|
Provides-Extra: building
|
|
@@ -87,6 +85,7 @@ Requires-Dist: dask[dataframe]==2024.11.1; extra == 'notebook'
|
|
|
87
85
|
Requires-Dist: marimo; extra == 'notebook'
|
|
88
86
|
Requires-Dist: spatialdata>=0.3.0; extra == 'notebook'
|
|
89
87
|
Requires-Dist: starlette>=0.42.0; extra == 'notebook'
|
|
88
|
+
Requires-Dist: tqdm>=4.1.0; extra == 'notebook'
|
|
90
89
|
Provides-Extra: testing
|
|
91
90
|
Description-Content-Type: text/markdown
|
|
92
91
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
vitessce/__init__.py,sha256=
|
|
1
|
+
vitessce/__init__.py,sha256=GWGahpQMOGFotQXilRccGT0Bnn3OyoCQUCUphW_DtTI,1632
|
|
2
2
|
vitessce/config.py,sha256=vZX4k-kS3zspYVT08PRuLSBeB-tU4GJgbN93z1Ed1iY,81228
|
|
3
3
|
vitessce/config_converter.py,sha256=IRPnGPGaETvJbYZNUv2pe54SHHHsDY9VWo3JRjSI5FM,14681
|
|
4
4
|
vitessce/constants.py,sha256=nBMH55TcnSavcpvYE-epyx3cJ0iDS31eHsL_1e9qb9M,15360
|
|
@@ -8,7 +8,7 @@ vitessce/repr.py,sha256=qMmefmZ3E-3sRVxeI5q1DTZnfuwbXKiA85eyqk5MCT4,2287
|
|
|
8
8
|
vitessce/responses.py,sha256=Z6Wo4AXN-RyzmxMPhSuhpIsHTItHM4GyIgMLGoVEYcU,339
|
|
9
9
|
vitessce/routes.py,sha256=U8T-L-3QCD_tAbPF8LsUlSMhPWNbyzbLNUnxP9Z9s9o,2140
|
|
10
10
|
vitessce/utils.py,sha256=obzjj65qsagu60_yuhGc-0jmHO-BW0Y-bDs0FgrBqLY,981
|
|
11
|
-
vitessce/widget.py,sha256=
|
|
11
|
+
vitessce/widget.py,sha256=IGeYExc4XuSc4c23hwLGHxQUvT1hD--v33ensjzzF28,33210
|
|
12
12
|
vitessce/wrappers.py,sha256=3ZNldH2uDhOzUl8ahil7GxnPcr0nKwqfrjjbgS2IL0Y,75010
|
|
13
13
|
vitessce/data_utils/__init__.py,sha256=3mWi1lMjoj4_dNbhMOvyE-HEJu0qpMzcmkhfz_5T6n8,361
|
|
14
14
|
vitessce/data_utils/anndata.py,sha256=iLa5-bRezHgBzL_XCHO7w0pc0RQ4urzZbDsqJbBYeCk,10668
|
|
@@ -18,7 +18,7 @@ vitessce/data_utils/ome.py,sha256=aK-iGNgjUmUMsWgdZhW78VrtMBKMW_jIQDYnsupq6BE,54
|
|
|
18
18
|
vitessce/widget_plugins/__init__.py,sha256=lto2GXnc7KwjIoT-jvzyRYLj0XTJG3uxoX45Hc9EcWA,82
|
|
19
19
|
vitessce/widget_plugins/demo_plugin.py,sha256=14S7nOxdlKSxIHw9DUcNCN83NE_U1EMPy2D4k0FDues,1797
|
|
20
20
|
vitessce/widget_plugins/spatial_query.py,sha256=CYxvmMT1Je_jguikPROQxlegkPgIIzemKGbZSJfZMyI,12314
|
|
21
|
-
vitessce-3.6.
|
|
22
|
-
vitessce-3.6.
|
|
23
|
-
vitessce-3.6.
|
|
24
|
-
vitessce-3.6.
|
|
21
|
+
vitessce-3.6.2.dist-info/METADATA,sha256=oFYSpxrfXHugNhDmIB_EBdJhIZBSRgCTKdxq5cLhAIQ,9826
|
|
22
|
+
vitessce-3.6.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
23
|
+
vitessce-3.6.2.dist-info/licenses/LICENSE,sha256=sNNpI0PQ57AW8_XnTAjU5Yw8YBA_DRNkVHrHYpCIhRU,1067
|
|
24
|
+
vitessce-3.6.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|