diff --git a/scripts/vitessce_spatialbeta.ipynb b/scripts/vitessce_spatialbeta.ipynb deleted file mode 100644 index aa0cdc6..0000000 --- a/scripts/vitessce_spatialbeta.ipynb +++ /dev/null @@ -1,385 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from pathlib import Path\n", - "\n", - "from vitessce import (\n", - " AnnDataWrapper,\n", - " ImageOmeZarrWrapper,\n", - " ObsSegmentationsOmeZarrWrapper,\n", - " VitessceConfig,\n", - ")\n", - "from vitessce import (\n", - " CoordinationLevel as CL,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "fov = \"TONIC_TMA5_R1C2\"\n", - "vitessce_fovs = Path(\"../data/vitessce_ingestable\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "vc = VitessceConfig(schema_version=\"1.0.16\", name=\"Vitessce spatialBeta testing\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset = (\n", - " vc.add_dataset(name=fov)\n", - " .add_object(\n", - " AnnDataWrapper(\n", - " adata_path=vitessce_fovs / fov / \"whole_cell_table.zarr\",\n", - " obs_feature_matrix_path=\"X\",\n", - " obs_locations_path=\"obsm/spatial\",\n", - " obs_labels_path=\"obs/label\",\n", - " obs_set_paths=[[\"obs/cell_cluster_broad\", \"obs/cell_cluster\", \"obs/cell_meta_cluster\"]],\n", - " obs_set_names=[\"Cell Type\"],\n", - " coordination_values={\n", - " \"fileUid\": \"adata-table\",\n", - " \"obsType\": \"Cell Segmentation\",\n", - " \"featureType\": \"gene\",\n", - " \"featureValueType\": \"expression\",\n", - " },\n", - " )\n", - " )\n", - " .add_object(\n", - " ImageOmeZarrWrapper(img_path=vitessce_fovs / fov / \"image.ome.zarr\", coordination_values={\"fileUid\": \"image\"})\n", - " )\n", - " .add_object(\n", - " ObsSegmentationsOmeZarrWrapper(\n", - " img_path=vitessce_fovs / fov / \"cell_segmentation.ome.zarr\",\n", - " obs_types_from_channel_names=True,\n", - " coordination_values={\"fileUid\": \"segmentation\"},\n", - " )\n", - " )\n", - ")\n", - "spatial_view = vc.add_view(\"spatialBeta\", dataset=dataset)\n", - "lc_view = vc.add_view(\"layerControllerBeta\", dataset=dataset)\n", - "obs_sets_view = vc.add_view(\"obsSets\", dataset=dataset)\n", - "\n", - "selectionScope, colorScope = vc.add_coordination(\"obsSetSelection\", \"obsSetColor\")\n", - "\n", - "obs_sets_view.use_coordination(selectionScope, colorScope)\n", - "\n", - "imageLayerCL = CL(\n", - " [\n", - " {\n", - " \"fileUid\": \"image\",\n", - " \"spatialLayerOpacity\": 1,\n", - " \"spatialLayerVisible\": True,\n", - " \"photometricInterpretation\": \"BlackIsZero\",\n", - " \"spatialTargetResolution\": None,\n", - " \"imageChannel\": CL(\n", - " [\n", - " {\n", - " \"spatialTargetC\": 0,\n", - " \"spatialChannelColor\": [255, 0, 0],\n", - " \"spatialChannelVisible\": True,\n", - " \"spatialChannelOpacity\": 1,\n", - " \"spatialChannelWindow\": [0, 255],\n", - " },\n", - " ]\n", - " ),\n", - " }\n", - " ]\n", - ")\n", - "segmentationLayerCL = CL(\n", - " [\n", - " {\n", - " \"fileUid\": \"segmentation\",\n", - " \"spatialLayerVisible\": True,\n", - " \"spatialLayerOpacity\": 1,\n", - " \"segmentationChannel\": CL(\n", - " [\n", - " {\n", - " \"obsType\": \"Cell Segmentation\",\n", - " \"spatialTargetC\": 0,\n", - " \"spatialChannelColor\": [255, 255, 255],\n", - " \"spatialChannelOpacity\": 1.0,\n", - " \"featureType\": \"gene\",\n", - " \"featureValueType\": \"expression\",\n", - " \"spatialChannelVisible\": True,\n", - " \"spatialSegmentationFilled\": False,\n", - " \"spatialSegmentationStrokeWidth\": 0.01,\n", - " \"obsHighlight\": None,\n", - " \"obsSelection\": selectionScope,\n", - " \"obsSetColor\": colorScope,\n", - " },\n", - " {\n", - " \"obsType\": \"Nuclear Segmentation\",\n", - " \"spatialTargetC\": 1,\n", - " \"spatialChannelColor\": [255, 255, 255],\n", - " \"spatialChannelOpacity\": 0.2,\n", - " \"featureType\": \"gene\",\n", - " \"featureValueType\": \"expression\",\n", - " \"spatialChannelVisible\": True,\n", - " \"spatialSegmentationFilled\": False,\n", - " \"spatialSegmentationStrokeWidth\": 0.01,\n", - " \"obsHighlight\": None,\n", - " \"obsSelection\": selectionScope,\n", - " \"obsSetColor\": colorScope,\n", - " },\n", - " ]\n", - " ),\n", - " }\n", - " ]\n", - ")\n", - "\n", - "vc.link_views_by_dict(\n", - " views=[spatial_view, lc_view, obs_sets_view],\n", - " input_val={\"imageLayer\": imageLayerCL, \"segmentationLayer\": segmentationLayerCL},\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "import pprint" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'coordinationSpace': {'dataset': {'A': 'A'},\n", - " 'featureType': {'A': 'gene', 'B': 'gene'},\n", - " 'featureValueType': {'A': 'expression',\n", - " 'B': 'expression'},\n", - " 'fileUid': {'A': 'image', 'B': 'segmentation'},\n", - " 'imageChannel': {'A': '__dummy__'},\n", - " 'imageLayer': {'A': '__dummy__'},\n", - " 'metaCoordinationScopes': {'A': {'imageLayer': ['A'],\n", - " 'segmentationLayer': ['A']}},\n", - " 'metaCoordinationScopesBy': {'A': {'imageChannel': {'spatialChannelColor': {'A': 'A'},\n", - " 'spatialChannelOpacity': {'A': 'A'},\n", - " 'spatialChannelVisible': {'A': 'A'},\n", - " 'spatialChannelWindow': {'A': 'A'},\n", - " 'spatialTargetC': {'A': 'A'}},\n", - " 'imageLayer': {'fileUid': {'A': 'A'},\n", - " 'imageChannel': {'A': ['A']},\n", - " 'photometricInterpretation': {'A': 'A'},\n", - " 'spatialLayerOpacity': {'A': 'A'},\n", - " 'spatialLayerVisible': {'A': 'A'},\n", - " 'spatialTargetResolution': {'A': 'A'}},\n", - " 'segmentationChannel': {'featureType': {'A': 'A',\n", - " 'B': 'B'},\n", - " 'featureValueType': {'A': 'A',\n", - " 'B': 'B'},\n", - " 'obsHighlight': {'A': 'A',\n", - " 'B': 'B'},\n", - " 'obsSelection': {'A': 'A',\n", - " 'B': 'A'},\n", - " 'obsSetColor': {'A': 'A',\n", - " 'B': 'A'},\n", - " 'obsType': {'A': 'A',\n", - " 'B': 'B'},\n", - " 'spatialChannelColor': {'A': 'B',\n", - " 'B': 'C'},\n", - " 'spatialChannelOpacity': {'A': 'B',\n", - " 'B': 'C'},\n", - " 'spatialChannelVisible': {'A': 'B',\n", - " 'B': 'C'},\n", - " 'spatialSegmentationFilled': {'A': 'A',\n", - " 'B': 'B'},\n", - " 'spatialSegmentationStrokeWidth': {'A': 'A',\n", - " 'B': 'B'},\n", - " 'spatialTargetC': {'A': 'B',\n", - " 'B': 'C'}},\n", - " 'segmentationLayer': {'fileUid': {'A': 'B'},\n", - " 'segmentationChannel': {'A': ['A',\n", - " 'B']},\n", - " 'spatialLayerOpacity': {'A': 'B'},\n", - " 'spatialLayerVisible': {'A': 'B'}}}},\n", - " 'obsHighlight': {'A': None, 'B': None},\n", - " 'obsSetColor': {'A': None},\n", - " 'obsSetSelection': {'A': None},\n", - " 'obsType': {'A': 'Cell Segmentation',\n", - " 'B': 'Nuclear Segmentation'},\n", - " 'photometricInterpretation': {'A': 'BlackIsZero'},\n", - " 'segmentationChannel': {'A': '__dummy__',\n", - " 'B': '__dummy__'},\n", - " 'segmentationLayer': {'A': '__dummy__'},\n", - " 'spatialChannelColor': {'A': [255, 0, 0],\n", - " 'B': [255, 255, 255],\n", - " 'C': [255, 255, 255]},\n", - " 'spatialChannelOpacity': {'A': 1, 'B': 1.0, 'C': 0.2},\n", - " 'spatialChannelVisible': {'A': True,\n", - " 'B': True,\n", - " 'C': True},\n", - " 'spatialChannelWindow': {'A': [0, 255]},\n", - " 'spatialLayerOpacity': {'A': 1, 'B': 1},\n", - " 'spatialLayerVisible': {'A': True, 'B': True},\n", - " 'spatialSegmentationFilled': {'A': False, 'B': False},\n", - " 'spatialSegmentationStrokeWidth': {'A': 0.01, 'B': 0.01},\n", - " 'spatialTargetC': {'A': 0, 'B': 0, 'C': 1},\n", - " 'spatialTargetResolution': {'A': None}},\n", - " 'datasets': [{'files': [{'coordinationValues': {'featureType': 'gene',\n", - " 'featureValueType': 'expression',\n", - " 'fileUid': 'adata-table',\n", - " 'obsType': 'Cell '\n", - " 'Segmentation'},\n", - " 'fileType': 'anndata.zarr',\n", - " 'options': {'obsFeatureMatrix': {'path': 'X'},\n", - " 'obsLabels': [{'obsLabelsType': 'label',\n", - " 'path': 'obs/label'}],\n", - " 'obsLocations': {'path': 'obsm/spatial'},\n", - " 'obsSets': [{'name': 'Cell Type',\n", - " 'path': ['obs/cell_cluster_broad',\n", - " 'obs/cell_cluster',\n", - " 'obs/cell_meta_cluster']}]},\n", - " 'url': 'http://localhost:3000/A/0/1512c4d5-3029-49e6-a0dd-31082598c3dc.adata.zarr'},\n", - " {'coordinationValues': {'fileUid': 'image'},\n", - " 'fileType': 'image.ome-zarr',\n", - " 'url': 'http://localhost:3000/A/1/475f8e58-9e0c-4d79-8cba-fff761c7544c.ome.zarr'},\n", - " {'coordinationValues': {'fileUid': 'segmentation'},\n", - " 'fileType': 'obsSegmentations.ome-zarr',\n", - " 'options': {'obsTypesFromChannelNames': True},\n", - " 'url': 'http://localhost:3000/A/2/4a9c1241-8464-413f-81e4-b6062fb060f3.ome.zarr'}],\n", - " 'name': 'TONIC_TMA5_R1C2',\n", - " 'uid': 'A'}],\n", - " 'description': '',\n", - " 'initStrategy': 'auto',\n", - " 'layout': [{'component': 'spatialBeta',\n", - " 'coordinationScopes': {'dataset': 'A',\n", - " 'metaCoordinationScopes': ['A'],\n", - " 'metaCoordinationScopesBy': ['A']},\n", - " 'h': 1,\n", - " 'w': 1,\n", - " 'x': 0,\n", - " 'y': 0},\n", - " {'component': 'layerControllerBeta',\n", - " 'coordinationScopes': {'dataset': 'A',\n", - " 'metaCoordinationScopes': ['A'],\n", - " 'metaCoordinationScopesBy': ['A']},\n", - " 'h': 1,\n", - " 'w': 1,\n", - " 'x': 0,\n", - " 'y': 0},\n", - " {'component': 'obsSets',\n", - " 'coordinationScopes': {'dataset': 'A',\n", - " 'obsSetColor': 'A',\n", - " 'obsSetSelection': 'A'},\n", - " 'h': 1,\n", - " 'w': 1,\n", - " 'x': 0,\n", - " 'y': 0}],\n", - " 'name': 'Vitessce spatialBeta testing',\n", - " 'version': '1.0.16'}\n" - ] - } - ], - "source": [ - "pprint.pprint(vc.to_dict(base_url=\"http://localhost:3000\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "vc.layout(spatial_view | lc_view | obs_sets_view)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'http://vitessce.io/#?theme=light&url=data:,%7B%22version%22%3A+%221.0.16%22%2C+%22name%22%3A+%22Vitessce+spatialBeta+testing%22%2C+%22description%22%3A+%22%22%2C+%22datasets%22%3A+%5B%7B%22uid%22%3A+%22A%22%2C+%22name%22%3A+%22TONIC_TMA5_R1C2%22%2C+%22files%22%3A+%5B%7B%22fileType%22%3A+%22anndata.zarr%22%2C+%22url%22%3A+%22http%3A%2F%2Flocalhost%3A8000%2FA%2F0%2F1512c4d5-3029-49e6-a0dd-31082598c3dc.adata.zarr%22%2C+%22options%22%3A+%7B%22obsLocations%22%3A+%7B%22path%22%3A+%22obsm%2Fspatial%22%7D%2C+%22obsSets%22%3A+%5B%7B%22name%22%3A+%22Cell+Type%22%2C+%22path%22%3A+%5B%22obs%2Fcell_cluster_broad%22%2C+%22obs%2Fcell_cluster%22%2C+%22obs%2Fcell_meta_cluster%22%5D%7D%5D%2C+%22obsFeatureMatrix%22%3A+%7B%22path%22%3A+%22X%22%7D%2C+%22obsLabels%22%3A+%5B%7B%22path%22%3A+%22obs%2Flabel%22%2C+%22obsLabelsType%22%3A+%22label%22%7D%5D%7D%2C+%22coordinationValues%22%3A+%7B%22fileUid%22%3A+%22adata-table%22%2C+%22obsType%22%3A+%22Cell+Segmentation%22%2C+%22featureType%22%3A+%22gene%22%2C+%22featureValueType%22%3A+%22expression%22%7D%7D%2C+%7B%22fileType%22%3A+%22image.ome-zarr%22%2C+%22url%22%3A+%22http%3A%2F%2Flocalhost%3A8000%2FA%2F1%2F475f8e58-9e0c-4d79-8cba-fff761c7544c.ome.zarr%22%2C+%22coordinationValues%22%3A+%7B%22fileUid%22%3A+%22image%22%7D%7D%2C+%7B%22fileType%22%3A+%22obsSegmentations.ome-zarr%22%2C+%22url%22%3A+%22http%3A%2F%2Flocalhost%3A8000%2FA%2F2%2F4a9c1241-8464-413f-81e4-b6062fb060f3.ome.zarr%22%2C+%22options%22%3A+%7B%22obsTypesFromChannelNames%22%3A+true%7D%2C+%22coordinationValues%22%3A+%7B%22fileUid%22%3A+%22segmentation%22%7D%7D%5D%7D%5D%2C+%22coordinationSpace%22%3A+%7B%22dataset%22%3A+%7B%22A%22%3A+%22A%22%7D%2C+%22obsSetSelection%22%3A+%7B%22A%22%3A+null%7D%2C+%22obsSetColor%22%3A+%7B%22A%22%3A+null%7D%2C+%22imageLayer%22%3A+%7B%22A%22%3A+%22__dummy__%22%7D%2C+%22fileUid%22%3A+%7B%22A%22%3A+%22image%22%2C+%22B%22%3A+%22segmentation%22%7D%2C+%22spatialLayerOpacity%22%3A+%7B%22A%22%3A+1%2C+%22B%22%3A+1%7D%2C+%22spatialLayerVisible%22%3A+%7B%22A%22%3A+true%2C+%22B%22%3A+true%7D%2C+%22photometricInterpretation%22%3A+%7B%22A%22%3A+%22BlackIsZero%22%7D%2C+%22spatialTargetResolution%22%3A+%7B%22A%22%3A+null%7D%2C+%22imageChannel%22%3A+%7B%22A%22%3A+%22__dummy__%22%7D%2C+%22spatialTargetC%22%3A+%7B%22A%22%3A+0%2C+%22B%22%3A+0%2C+%22C%22%3A+1%7D%2C+%22spatialChannelColor%22%3A+%7B%22A%22%3A+%5B255%2C+0%2C+0%5D%2C+%22B%22%3A+%5B255%2C+255%2C+255%5D%2C+%22C%22%3A+%5B255%2C+255%2C+255%5D%7D%2C+%22spatialChannelVisible%22%3A+%7B%22A%22%3A+true%2C+%22B%22%3A+true%2C+%22C%22%3A+true%7D%2C+%22spatialChannelOpacity%22%3A+%7B%22A%22%3A+1%2C+%22B%22%3A+1.0%2C+%22C%22%3A+0.2%7D%2C+%22spatialChannelWindow%22%3A+%7B%22A%22%3A+%5B0%2C+255%5D%7D%2C+%22segmentationLayer%22%3A+%7B%22A%22%3A+%22__dummy__%22%7D%2C+%22segmentationChannel%22%3A+%7B%22A%22%3A+%22__dummy__%22%2C+%22B%22%3A+%22__dummy__%22%7D%2C+%22obsType%22%3A+%7B%22A%22%3A+%22Cell+Segmentation%22%2C+%22B%22%3A+%22Nuclear+Segmentation%22%7D%2C+%22featureType%22%3A+%7B%22A%22%3A+%22gene%22%2C+%22B%22%3A+%22gene%22%7D%2C+%22featureValueType%22%3A+%7B%22A%22%3A+%22expression%22%2C+%22B%22%3A+%22expression%22%7D%2C+%22spatialSegmentationFilled%22%3A+%7B%22A%22%3A+false%2C+%22B%22%3A+false%7D%2C+%22spatialSegmentationStrokeWidth%22%3A+%7B%22A%22%3A+0.01%2C+%22B%22%3A+0.01%7D%2C+%22obsHighlight%22%3A+%7B%22A%22%3A+null%2C+%22B%22%3A+null%7D%2C+%22metaCoordinationScopes%22%3A+%7B%22A%22%3A+%7B%22imageLayer%22%3A+%5B%22A%22%5D%2C+%22segmentationLayer%22%3A+%5B%22A%22%5D%7D%7D%2C+%22metaCoordinationScopesBy%22%3A+%7B%22A%22%3A+%7B%22imageLayer%22%3A+%7B%22fileUid%22%3A+%7B%22A%22%3A+%22A%22%7D%2C+%22spatialLayerOpacity%22%3A+%7B%22A%22%3A+%22A%22%7D%2C+%22spatialLayerVisible%22%3A+%7B%22A%22%3A+%22A%22%7D%2C+%22photometricInterpretation%22%3A+%7B%22A%22%3A+%22A%22%7D%2C+%22spatialTargetResolution%22%3A+%7B%22A%22%3A+%22A%22%7D%2C+%22imageChannel%22%3A+%7B%22A%22%3A+%5B%22A%22%5D%7D%7D%2C+%22imageChannel%22%3A+%7B%22spatialTargetC%22%3A+%7B%22A%22%3A+%22A%22%7D%2C+%22spatialChannelColor%22%3A+%7B%22A%22%3A+%22A%22%7D%2C+%22spatialChannelVisible%22%3A+%7B%22A%22%3A+%22A%22%7D%2C+%22spatialChannelOpacity%22%3A+%7B%22A%22%3A+%22A%22%7D%2C+%22spatialChannelWindow%22%3A+%7B%22A%22%3A+%22A%22%7D%7D%2C+%22segmentationLayer%22%3A+%7B%22fileUid%22%3A+%7B%22A%22%3A+%22B%22%7D%2C+%22spatialLayerVisible%22%3A+%7B%22A%22%3A+%22B%22%7D%2C+%22spatialLayerOpacity%22%3A+%7B%22A%22%3A+%22B%22%7D%2C+%22segmentationChannel%22%3A+%7B%22A%22%3A+%5B%22A%22%2C+%22B%22%5D%7D%7D%2C+%22segmentationChannel%22%3A+%7B%22obsType%22%3A+%7B%22A%22%3A+%22A%22%2C+%22B%22%3A+%22B%22%7D%2C+%22spatialTargetC%22%3A+%7B%22A%22%3A+%22B%22%2C+%22B%22%3A+%22C%22%7D%2C+%22spatialChannelColor%22%3A+%7B%22A%22%3A+%22B%22%2C+%22B%22%3A+%22C%22%7D%2C+%22spatialChannelOpacity%22%3A+%7B%22A%22%3A+%22B%22%2C+%22B%22%3A+%22C%22%7D%2C+%22featureType%22%3A+%7B%22A%22%3A+%22A%22%2C+%22B%22%3A+%22B%22%7D%2C+%22featureValueType%22%3A+%7B%22A%22%3A+%22A%22%2C+%22B%22%3A+%22B%22%7D%2C+%22spatialChannelVisible%22%3A+%7B%22A%22%3A+%22B%22%2C+%22B%22%3A+%22C%22%7D%2C+%22spatialSegmentationFilled%22%3A+%7B%22A%22%3A+%22A%22%2C+%22B%22%3A+%22B%22%7D%2C+%22spatialSegmentationStrokeWidth%22%3A+%7B%22A%22%3A+%22A%22%2C+%22B%22%3A+%22B%22%7D%2C+%22obsHighlight%22%3A+%7B%22A%22%3A+%22A%22%2C+%22B%22%3A+%22B%22%7D%2C+%22obsSelection%22%3A+%7B%22A%22%3A+%22A%22%2C+%22B%22%3A+%22A%22%7D%2C+%22obsSetColor%22%3A+%7B%22A%22%3A+%22A%22%2C+%22B%22%3A+%22A%22%7D%7D%7D%7D%7D%2C+%22layout%22%3A+%5B%7B%22component%22%3A+%22spatialBeta%22%2C+%22coordinationScopes%22%3A+%7B%22dataset%22%3A+%22A%22%2C+%22metaCoordinationScopes%22%3A+%5B%22A%22%5D%2C+%22metaCoordinationScopesBy%22%3A+%5B%22A%22%5D%7D%2C+%22x%22%3A+0.0%2C+%22y%22%3A+0%2C+%22w%22%3A+3.0%2C+%22h%22%3A+12%7D%2C+%7B%22component%22%3A+%22layerControllerBeta%22%2C+%22coordinationScopes%22%3A+%7B%22dataset%22%3A+%22A%22%2C+%22metaCoordinationScopes%22%3A+%5B%22A%22%5D%2C+%22metaCoordinationScopesBy%22%3A+%5B%22A%22%5D%7D%2C+%22x%22%3A+3.0%2C+%22y%22%3A+0%2C+%22w%22%3A+3.0%2C+%22h%22%3A+12%7D%2C+%7B%22component%22%3A+%22obsSets%22%2C+%22coordinationScopes%22%3A+%7B%22dataset%22%3A+%22A%22%2C+%22obsSetSelection%22%3A+%22A%22%2C+%22obsSetColor%22%3A+%22A%22%7D%2C+%22x%22%3A+6.0%2C+%22y%22%3A+0%2C+%22w%22%3A+6.0%2C+%22h%22%3A+12%7D%5D%2C+%22initStrategy%22%3A+%22auto%22%7D'" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "vc.web_app()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "vc" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": ".venv", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.7" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -}