figpack 0.2.16__py3-none-any.whl → 0.2.18__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.

Potentially problematic release.


This version of figpack might be problematic. Click here for more details.

Files changed (45) hide show
  1. figpack/__init__.py +2 -3
  2. figpack/cli.py +74 -0
  3. figpack/core/__init__.py +2 -2
  4. figpack/core/_bundle_utils.py +85 -18
  5. figpack/core/_file_handler.py +192 -0
  6. figpack/core/_server_manager.py +42 -6
  7. figpack/core/_show_view.py +1 -1
  8. figpack/core/_view_figure.py +43 -12
  9. figpack/core/extension_view.py +7 -25
  10. figpack/core/figpack_extension.py +0 -71
  11. figpack/extensions.py +356 -0
  12. figpack/figpack-figure-dist/assets/{index-D9a3K6eW.css → index-BJUFDPIM.css} +1 -1
  13. figpack/figpack-figure-dist/assets/index-nBpxgXXT.js +91 -0
  14. figpack/figpack-figure-dist/index.html +2 -2
  15. figpack/views/PlotlyExtension/PlotlyExtension.py +4 -50
  16. figpack/views/PlotlyExtension/_plotly_extension.py +46 -0
  17. figpack/views/PlotlyExtension/plotly_view.js +84 -80
  18. figpack/views/__init__.py +1 -0
  19. {figpack-0.2.16.dist-info → figpack-0.2.18.dist-info}/METADATA +1 -1
  20. figpack-0.2.18.dist-info/RECORD +45 -0
  21. figpack/figpack-figure-dist/assets/index-DtOnN02w.js +0 -846
  22. figpack/franklab/__init__.py +0 -5
  23. figpack/franklab/views/TrackAnimation.py +0 -154
  24. figpack/franklab/views/__init__.py +0 -9
  25. figpack/spike_sorting/__init__.py +0 -5
  26. figpack/spike_sorting/views/AutocorrelogramItem.py +0 -32
  27. figpack/spike_sorting/views/Autocorrelograms.py +0 -116
  28. figpack/spike_sorting/views/AverageWaveforms.py +0 -146
  29. figpack/spike_sorting/views/CrossCorrelogramItem.py +0 -35
  30. figpack/spike_sorting/views/CrossCorrelograms.py +0 -131
  31. figpack/spike_sorting/views/RasterPlot.py +0 -284
  32. figpack/spike_sorting/views/RasterPlotItem.py +0 -28
  33. figpack/spike_sorting/views/SpikeAmplitudes.py +0 -364
  34. figpack/spike_sorting/views/SpikeAmplitudesItem.py +0 -38
  35. figpack/spike_sorting/views/UnitMetricsGraph.py +0 -127
  36. figpack/spike_sorting/views/UnitSimilarityScore.py +0 -40
  37. figpack/spike_sorting/views/UnitsTable.py +0 -82
  38. figpack/spike_sorting/views/UnitsTableColumn.py +0 -40
  39. figpack/spike_sorting/views/UnitsTableRow.py +0 -36
  40. figpack/spike_sorting/views/__init__.py +0 -41
  41. figpack-0.2.16.dist-info/RECORD +0 -61
  42. {figpack-0.2.16.dist-info → figpack-0.2.18.dist-info}/WHEEL +0 -0
  43. {figpack-0.2.16.dist-info → figpack-0.2.18.dist-info}/entry_points.txt +0 -0
  44. {figpack-0.2.16.dist-info → figpack-0.2.18.dist-info}/licenses/LICENSE +0 -0
  45. {figpack-0.2.16.dist-info → figpack-0.2.18.dist-info}/top_level.txt +0 -0
@@ -1,38 +0,0 @@
1
- """
2
- SpikeAmplitudesItem for figpack - represents spike amplitudes for a single unit
3
- """
4
-
5
- from typing import Union
6
-
7
- import numpy as np
8
-
9
-
10
- class SpikeAmplitudesItem:
11
- """
12
- Represents spike amplitudes for a single unit
13
- """
14
-
15
- def __init__(
16
- self,
17
- *,
18
- unit_id: Union[str, int],
19
- spike_times_sec: np.ndarray,
20
- spike_amplitudes: np.ndarray,
21
- ):
22
- """
23
- Initialize a SpikeAmplitudesItem
24
-
25
- Args:
26
- unit_id: Identifier for the unit
27
- spike_times_sec: 1D numpy array of spike times in seconds
28
- spike_amplitudes: 1D numpy array of spike amplitudes
29
- """
30
- assert spike_times_sec.ndim == 1, "Spike times must be 1-dimensional"
31
- assert spike_amplitudes.ndim == 1, "Spike amplitudes must be 1-dimensional"
32
- assert len(spike_times_sec) == len(
33
- spike_amplitudes
34
- ), "Spike times and amplitudes must have the same length"
35
-
36
- self.unit_id = unit_id
37
- self.spike_times_sec = np.array(spike_times_sec, dtype=np.float32)
38
- self.spike_amplitudes = np.array(spike_amplitudes, dtype=np.float32)
@@ -1,127 +0,0 @@
1
- """
2
- UnitMetricsGraph view for figpack - displays unit metrics in a graph format
3
- """
4
-
5
- from typing import List, Optional, Union, Dict
6
- import json
7
-
8
- import numpy as np
9
- import zarr
10
-
11
- from ...core.figpack_view import FigpackView
12
- from ...core.zarr import Group
13
-
14
-
15
- class UnitMetricsGraphMetric:
16
- """
17
- Defines a metric with key, label, and data type
18
- """
19
-
20
- def __init__(
21
- self,
22
- *,
23
- key: str,
24
- label: str,
25
- dtype: str,
26
- ):
27
- """
28
- Initialize a UnitMetricsGraphMetric
29
-
30
- Args:
31
- key: Unique identifier for the metric
32
- label: Human-readable label for display
33
- dtype: Data type of the metric ("int", "float", etc.)
34
- """
35
- self.key = key
36
- self.label = label
37
- self.dtype = dtype
38
-
39
- def to_dict(self) -> Dict:
40
- """Convert to dictionary for serialization"""
41
- return {
42
- "key": self.key,
43
- "label": self.label,
44
- "dtype": self.dtype,
45
- }
46
-
47
-
48
- class UnitMetricsGraphUnit:
49
- """
50
- Represents a unit with its metric values
51
- """
52
-
53
- def __init__(
54
- self,
55
- *,
56
- unit_id: Union[str, int],
57
- values: Dict[str, Union[int, float]],
58
- ):
59
- """
60
- Initialize a UnitMetricsGraphUnit
61
-
62
- Args:
63
- unit_id: Identifier for the unit
64
- values: Dictionary mapping metric keys to their values
65
- """
66
- self.unit_id = unit_id
67
- self.values = values
68
-
69
- def to_dict(self) -> Dict:
70
- """Convert to dictionary for serialization"""
71
- return {
72
- "unit_id": str(self.unit_id),
73
- "values": self.values,
74
- }
75
-
76
-
77
- class UnitMetricsGraph(FigpackView):
78
- """
79
- A view that displays unit metrics in a graph format
80
- """
81
-
82
- def __init__(
83
- self,
84
- *,
85
- units: List[UnitMetricsGraphUnit],
86
- metrics: List[UnitMetricsGraphMetric],
87
- height: Optional[int] = None,
88
- ):
89
- """
90
- Initialize a UnitMetricsGraph view
91
-
92
- Args:
93
- units: List of UnitMetricsGraphUnit objects containing the data
94
- metrics: List of UnitMetricsGraphMetric objects defining the metrics
95
- height: Height of the view in pixels
96
- """
97
- self.units = units
98
- self.metrics = metrics
99
- self.height = height
100
-
101
- def _write_to_zarr_group(self, group: Group) -> None:
102
- """
103
- Write the UnitMetricsGraph data to a Zarr group
104
-
105
- Args:
106
- group: Zarr group to write data into
107
- """
108
- # Set the view type
109
- group.attrs["view_type"] = "UnitMetricsGraph"
110
-
111
- # Set view properties
112
- if self.height is not None:
113
- group.attrs["height"] = self.height
114
-
115
- # Store metrics metadata
116
- metrics_metadata = [metric.to_dict() for metric in self.metrics]
117
- group.attrs["metrics"] = metrics_metadata
118
-
119
- # Store units data in a zarr array
120
- units_data = [unit.to_dict() for unit in self.units]
121
- units_json = json.dumps(units_data).encode("utf-8")
122
- units_array = np.frombuffer(units_json, dtype=np.uint8)
123
- group.create_dataset(
124
- "units_data",
125
- data=units_array,
126
- )
127
- group.attrs["units_data_size"] = len(units_json)
@@ -1,40 +0,0 @@
1
- """
2
- UnitSimilarityScore for spike sorting views
3
- """
4
-
5
- from typing import Union
6
-
7
-
8
- class UnitSimilarityScore:
9
- """
10
- Represents a similarity score between two units
11
- """
12
-
13
- def __init__(
14
- self,
15
- *,
16
- unit_id1: Union[str, int],
17
- unit_id2: Union[str, int],
18
- similarity: float,
19
- ):
20
- """
21
- Initialize a UnitSimilarityScore
22
-
23
- Args:
24
- unit_id1: Identifier for the first unit
25
- unit_id2: Identifier for the second unit
26
- similarity: Similarity score between the units (typically 0-1)
27
- """
28
- self.unit_id1 = unit_id1
29
- self.unit_id2 = unit_id2
30
- self.similarity = similarity
31
-
32
- def to_dict(self):
33
- """
34
- Convert the similarity score to a dictionary representation
35
- """
36
- return {
37
- "unitId1": self.unit_id1,
38
- "unitId2": self.unit_id2,
39
- "similarity": self.similarity,
40
- }
@@ -1,82 +0,0 @@
1
- """
2
- UnitsTable view for figpack - displays a table of units with their properties
3
- """
4
-
5
- from typing import List, Optional
6
- import json
7
-
8
- import numpy as np
9
- import zarr
10
-
11
- from ...core.figpack_view import FigpackView
12
- from ...core.zarr import Group
13
- from .UnitSimilarityScore import UnitSimilarityScore
14
- from .UnitsTableColumn import UnitsTableColumn
15
- from .UnitsTableRow import UnitsTableRow
16
-
17
-
18
- class UnitsTable(FigpackView):
19
- """
20
- A view that displays a table of units with their properties and optional similarity scores
21
- """
22
-
23
- def __init__(
24
- self,
25
- *,
26
- columns: List[UnitsTableColumn],
27
- rows: List[UnitsTableRow],
28
- similarity_scores: Optional[List[UnitSimilarityScore]] = None,
29
- height: Optional[int] = 600,
30
- ):
31
- """
32
- Initialize a UnitsTable view
33
-
34
- Args:
35
- columns: List of UnitsTableColumn objects defining the table structure
36
- rows: List of UnitsTableRow objects containing the data
37
- similarity_scores: Optional list of UnitSimilarityScore objects
38
- height: Height of the view in pixels
39
- """
40
- self.columns = columns
41
- self.rows = rows
42
- self.similarity_scores = similarity_scores or []
43
- self.height = height
44
-
45
- def _write_to_zarr_group(self, group: Group) -> None:
46
- """
47
- Write the UnitsTable data to a Zarr group
48
-
49
- Args:
50
- group: Zarr group to write data into
51
- """
52
- # Set the view type
53
- group.attrs["view_type"] = "UnitsTable"
54
-
55
- # Set view properties
56
- if self.height is not None:
57
- group.attrs["height"] = self.height
58
-
59
- # Store columns metadata
60
- columns_metadata = [col.to_dict() for col in self.columns]
61
- group.attrs["columns"] = columns_metadata
62
-
63
- # Store rows data in a zarr array
64
- rows_data = [row.to_dict() for row in self.rows]
65
- rows_json = json.dumps(rows_data).encode("utf-8")
66
- rows_array = np.frombuffer(rows_json, dtype=np.uint8)
67
- group.create_dataset(
68
- "rows_data",
69
- data=rows_array,
70
- )
71
- group.attrs["rows_data_size"] = len(rows_json)
72
-
73
- # Store similarity scores in a zarr array
74
- if self.similarity_scores:
75
- scores_data = [score.to_dict() for score in self.similarity_scores]
76
- scores_json = json.dumps(scores_data).encode("utf-8")
77
- scores_array = np.frombuffer(scores_json, dtype=np.uint8)
78
- group.create_dataset(
79
- "similarity_scores_data",
80
- data=scores_array,
81
- )
82
- group.attrs["similarity_scores_data_size"] = len(scores_json)
@@ -1,40 +0,0 @@
1
- """
2
- UnitsTableColumn for spike sorting views
3
- """
4
-
5
- from typing import Literal
6
-
7
-
8
- class UnitsTableColumn:
9
- """
10
- Represents a column in a units table
11
- """
12
-
13
- def __init__(
14
- self,
15
- *,
16
- key: str,
17
- label: str,
18
- dtype: Literal["int", "float", "str", "bool"],
19
- ):
20
- """
21
- Initialize a UnitsTableColumn
22
-
23
- Args:
24
- key: The key used to access values in the row data
25
- label: Display label for the column
26
- dtype: Data type of the column values
27
- """
28
- self.key = key
29
- self.label = label
30
- self.dtype = dtype
31
-
32
- def to_dict(self):
33
- """
34
- Convert the column to a dictionary representation
35
- """
36
- return {
37
- "key": self.key,
38
- "label": self.label,
39
- "dtype": self.dtype,
40
- }
@@ -1,36 +0,0 @@
1
- """
2
- UnitsTableRow for spike sorting views
3
- """
4
-
5
- from typing import Any, Dict, Union
6
-
7
-
8
- class UnitsTableRow:
9
- """
10
- Represents a row in a units table
11
- """
12
-
13
- def __init__(
14
- self,
15
- *,
16
- unit_id: Union[str, int],
17
- values: Dict[str, Any],
18
- ):
19
- """
20
- Initialize a UnitsTableRow
21
-
22
- Args:
23
- unit_id: Identifier for the unit
24
- values: Dictionary of column key to value mappings
25
- """
26
- self.unit_id = unit_id
27
- self.values = values
28
-
29
- def to_dict(self):
30
- """
31
- Convert the row to a dictionary representation
32
- """
33
- return {
34
- "unitId": self.unit_id,
35
- "values": self.values,
36
- }
@@ -1,41 +0,0 @@
1
- """
2
- Spike sorting views for figpack
3
- """
4
-
5
- from .AutocorrelogramItem import AutocorrelogramItem
6
- from .Autocorrelograms import Autocorrelograms
7
- from .CrossCorrelogramItem import CrossCorrelogramItem
8
- from .CrossCorrelograms import CrossCorrelograms
9
- from .UnitSimilarityScore import UnitSimilarityScore
10
- from .UnitsTable import UnitsTable
11
- from .UnitsTableColumn import UnitsTableColumn
12
- from .UnitsTableRow import UnitsTableRow
13
- from .AverageWaveforms import AverageWaveforms
14
- from .SpikeAmplitudesItem import SpikeAmplitudesItem
15
- from .SpikeAmplitudes import SpikeAmplitudes
16
- from .RasterPlotItem import RasterPlotItem
17
- from .RasterPlot import RasterPlot
18
- from .UnitMetricsGraph import (
19
- UnitMetricsGraph,
20
- UnitMetricsGraphMetric,
21
- UnitMetricsGraphUnit,
22
- )
23
-
24
- __all__ = [
25
- "AutocorrelogramItem",
26
- "Autocorrelograms",
27
- "CrossCorrelogramItem",
28
- "CrossCorrelograms",
29
- "UnitsTableColumn",
30
- "UnitsTableRow",
31
- "UnitSimilarityScore",
32
- "UnitsTable",
33
- "AverageWaveforms",
34
- "SpikeAmplitudesItem",
35
- "SpikeAmplitudes",
36
- "RasterPlotItem",
37
- "RasterPlot",
38
- "UnitMetricsGraph",
39
- "UnitMetricsGraphMetric",
40
- "UnitMetricsGraphUnit",
41
- ]
@@ -1,61 +0,0 @@
1
- figpack/__init__.py,sha256=ZzDwKk8AfWS09QYjRrL0YdJDKDLn_i0ZdmF9gJFRWRk,402
2
- figpack/cli.py,sha256=xWF7J2BxUqOLvPu-Kje7Q6oGukTroXsLq8WN8vJgyw0,8321
3
- figpack/core/__init__.py,sha256=V4wVdyBJ80mi9Rz8HjDSQNkqhqYB6sq4vWH3xQ10kaE,232
4
- figpack/core/_bundle_utils.py,sha256=mEhdyw5dytQBIIJ5a_sPiQOR2ARPhuYurX40-mX_5Q0,6602
5
- figpack/core/_save_figure.py,sha256=52ny-m1ThGgxY4ZgMn7m33n8A2OCyezj8H8TMvw0Y8Q,1043
6
- figpack/core/_server_manager.py,sha256=BTLeZtSbaJtAmtslAfgvp9C-SV0aJnn4WCpUJzd1Mlg,10997
7
- figpack/core/_show_view.py,sha256=-5HT1MYSeVuEoaL3RNNyoCjYsZy4Jy9XLjljUqLuvV4,5146
8
- figpack/core/_upload_bundle.py,sha256=54hdWayJJdRZdx7N9V2aH_X33KkR6hImMjN6tkBTLi8,14894
9
- figpack/core/_view_figure.py,sha256=xKmOdrqV-tQTRAK3n3eQx75de5el2KNIbHXdkCIqxSg,4201
10
- figpack/core/config.py,sha256=oOR7SlP192vuFhYlS-h14HnG-kd_3gaz0vshXch2RNc,173
11
- figpack/core/extension_view.py,sha256=isBQa2iZpdVdSbegEdlB4NxFbpYWysgpx5lS5kirMEA,2008
12
- figpack/core/figpack_extension.py,sha256=EJHZpe7GsQMUnSvxcYf8374-f6n85F_k1IEelFMRFP8,4332
13
- figpack/core/figpack_view.py,sha256=L--pBg-PjEiAE2Ry4u-1eZsRVu4j4-p-NKwtJSVnGj0,6304
14
- figpack/core/zarr.py,sha256=LTWOIX6vuH25STYTQS9_apfnfYXmATAEQkil3z9eYKE,1634
15
- figpack/figpack-figure-dist/index.html,sha256=QEgK_8r_xh9cEtRs_85TSUb2cCYOdar73GYaC7T2bqU,486
16
- figpack/figpack-figure-dist/assets/index-D9a3K6eW.css,sha256=ki61XkOz_TBJnU9Qyk5EgBzh2-_ilZQui2i8DHSarEo,5584
17
- figpack/figpack-figure-dist/assets/index-DtOnN02w.js,sha256=0PDEXSULzwI8N4YYSOAtQJOtOYa6XsRrk1GBd0VHlkg,1625494
18
- figpack/figpack-figure-dist/assets/neurosift-logo-CLsuwLMO.png,sha256=g5m-TwrGh5f6-9rXtWV-znH4B0nHgc__0GWclRDLUHs,9307
19
- figpack/franklab/__init__.py,sha256=HkehqGImJE_sE2vbPDo-HbgtEYaMICb9-230xTYvRTU,56
20
- figpack/franklab/views/TrackAnimation.py,sha256=eQultUKsHwzKwZ9er48ZvpLfWB3vEooTO7GJOTojEik,5662
21
- figpack/franklab/views/__init__.py,sha256=XXZ9QJLh9KAeeLgKbi6ogYOyfTgHP-N6o3u981NFwx8,116
22
- figpack/spike_sorting/__init__.py,sha256=09njqh-oFaCTdZUsc4HAOFTliUYV9DClddfZ0Q_dm0I,61
23
- figpack/spike_sorting/views/AutocorrelogramItem.py,sha256=qHmvIdHpbfVA_utPb5N2oP3hSP2cGnlT8VLaxOXV4UM,738
24
- figpack/spike_sorting/views/Autocorrelograms.py,sha256=kkGUvRbqDmwJcAPXb5e6QYeiqlNH8mbK3Vu3h0G940Y,3623
25
- figpack/spike_sorting/views/AverageWaveforms.py,sha256=cvGUI-7IImW2Mnx2-jOsyGaabXE_UEKFyGAd9hb549U,5113
26
- figpack/spike_sorting/views/CrossCorrelogramItem.py,sha256=uSd0i2hupteuILi_aKp7bYPYpL_PdC3CUDRMOEKUEM0,880
27
- figpack/spike_sorting/views/CrossCorrelograms.py,sha256=NbG3jLIUkAovAvx500e1KvEGYgoRUgvBUVfvTNyv6vc,4383
28
- figpack/spike_sorting/views/RasterPlot.py,sha256=Y0anPrLPbf_rEg66M7bCK6B1RRCELlb4q_OBXiMqcGg,9819
29
- figpack/spike_sorting/views/RasterPlotItem.py,sha256=iW7fuDEjSfvf5YMIwrF_6cmKvD76oCigOUMHtGgBsPI,638
30
- figpack/spike_sorting/views/SpikeAmplitudes.py,sha256=iTENfvPj5o1Wlui1UCewnvsPRXgGoDTXmWn-R33VzsQ,13111
31
- figpack/spike_sorting/views/SpikeAmplitudesItem.py,sha256=j5Na-diY-vRUAPu0t0VkyFCSKFnQ_f5HT077mB3Cy8c,1134
32
- figpack/spike_sorting/views/UnitMetricsGraph.py,sha256=_o8iO7ozQBoX80oGDXxEfkMV-zOIbJpbG5WaCcsYDy0,3267
33
- figpack/spike_sorting/views/UnitSimilarityScore.py,sha256=cJA9MkETos9qHhV1tqgA7SfNEaPo-duXYCE76hSFGnA,948
34
- figpack/spike_sorting/views/UnitsTable.py,sha256=moWVNVV9u39k5TdLaaI2WLDJw_5gxP6Igx53ngw13YI,2665
35
- figpack/spike_sorting/views/UnitsTableColumn.py,sha256=zBnuoeILTuiVLDvtcOxqa37E5WlbR12rlwNJUeWXxY4,847
36
- figpack/spike_sorting/views/UnitsTableRow.py,sha256=rEb2hMTA_pl2fTW1nOvnGir0ysfNx4uww3aekZzfWjk,720
37
- figpack/spike_sorting/views/__init__.py,sha256=2caaV9yxi97aHoYfUWUYyyIXQSZJRtRVqmPOW9ZeG1I,1159
38
- figpack/views/Box.py,sha256=dH4Vxax4NPJExZSx8jAG6feMgkNU5mOPEf-lLOd41-4,2421
39
- figpack/views/DataFrame.py,sha256=FAqrEddh3v0MNXlXA1DQzN34d9gacDXHUdiahIKlgOI,3401
40
- figpack/views/Gallery.py,sha256=D6drCKfnPN6MNn3wjQV0i5FW2s3q9xP-X75q-PR4Sc8,3326
41
- figpack/views/GalleryItem.py,sha256=b_upJno5P3ANSulbG-h3t6Xj56tPGJ7iVxqyiZu3zaQ,1244
42
- figpack/views/Image.py,sha256=8eNWzednvpsz0EcaoK3GdWGBfCybT2pXnBhMlZMr4yA,3742
43
- figpack/views/LayoutItem.py,sha256=wy8DggkIzZpU0F1zFIBceS7HpBb6lu-A3hpYINQzedk,1595
44
- figpack/views/Markdown.py,sha256=8kScwS1XaiQt5KRcbWG1B4RNUbA_FG5fIUJcv6csB8g,1134
45
- figpack/views/MatplotlibFigure.py,sha256=v4rc8sT9FcuHPrwljq9s-BUT5vlJiRDAf5tBP4YujAE,2423
46
- figpack/views/MultiChannelTimeseries.py,sha256=loZ1zGyIC_VJbduR7EIBbFHFPEr8DRQw-QNQSFVSdHQ,8292
47
- figpack/views/Spectrogram.py,sha256=9aJpzlOsOo7ReddR-i6riN2MG2RdveRS7m6MI2cCYjM,9336
48
- figpack/views/Splitter.py,sha256=q29pBu4RJgr0o_m1Jliv5FrGGCm5_jhowMg8Xgh70gk,2019
49
- figpack/views/TabLayout.py,sha256=bKLjeI_CnllThB6t7AwlP-Oh5mKbWt8hpubW5Zyj420,1910
50
- figpack/views/TabLayoutItem.py,sha256=xmHA0JsW_6naJze4_mQuP_Fy0Nm17p2N7w_AsmVRp8k,880
51
- figpack/views/TimeseriesGraph.py,sha256=VErwmzRqNFq1i2XEWzAHM6csbHry064did32AbxLMms,17700
52
- figpack/views/__init__.py,sha256=nyd3Ot2x702W4j9oBN0lK6i0DZzg9Ai41XoYCm5DeQ8,546
53
- figpack/views/PlotlyExtension/PlotlyExtension.py,sha256=HLmaRiTC62Q-uEg2OVkCL0-MxFwWL9lvRcWp4mRRCmM,3582
54
- figpack/views/PlotlyExtension/__init__.py,sha256=80Wy1mDMWyagjuR99ECxJePIYpRQ6TSyHkB0uZoBZ_0,70
55
- figpack/views/PlotlyExtension/plotly_view.js,sha256=gCsZS0IaYGTN5a3DC2c4NmzoOxZi1xGfCAYI6WSoFpM,3596
56
- figpack-0.2.16.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
57
- figpack-0.2.16.dist-info/METADATA,sha256=xRrlEnscZFMvAvM5uCXPYMzJ-qyAnVMwLBVjLsfIRi0,4501
58
- figpack-0.2.16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
59
- figpack-0.2.16.dist-info/entry_points.txt,sha256=l6d3siH2LxXa8qJGbjAqpIZtI5AkMSyDeoRDCzdrUto,45
60
- figpack-0.2.16.dist-info/top_level.txt,sha256=lMKGaC5xWmAYBx9Ac1iMokm42KFnJFjmkP2ldyvOo-c,8
61
- figpack-0.2.16.dist-info/RECORD,,