Skip to content
This repository was archived by the owner on Feb 18, 2025. It is now read-only.

Commit 9869a60

Browse files
authored
Merge pull request neptyneco#3 from neptyneco/split-requirements
Split requirements
2 parents b717f2e + 3aefab8 commit 9869a60

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+662
-544
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@ venv
66
build/
77
dist/
88
*.egg-info/
9+
10+
.idea
11+
.ipynb_checkpoints

neptyne_kernel/__init__.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
def init_notebook(api_key: str = "", api_host="https://app.neptyne.com") -> None:
2+
import os
3+
4+
from IPython import get_ipython
5+
6+
from .kernel import compile_jupyter
7+
8+
ip = get_ipython()
9+
ip.run_cell("from neptyne_kernel.kernel_init import *")
10+
ip.input_transformers_cleanup.append(compile_jupyter)
11+
os.environ["NEPTYNE_LOCAL_REPL"] = "1"
12+
if api_key:
13+
import neptyne as nt
14+
15+
nt.connect_kernel(api_key, api_host)

neptyne_kernel/bokeh_formatter.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
from typing import Any
22

3-
from bokeh.embed import file_html
4-
from bokeh.plotting import figure
5-
from bokeh.resources import CDN
6-
73

84
def maybe_format_bokeh(value: Any) -> str | None:
5+
try:
6+
from bokeh.embed import file_html
7+
from bokeh.plotting import figure
8+
from bokeh.resources import CDN
9+
except ImportError:
10+
return None
11+
912
if not isinstance(value, figure):
1013
return None
1114
try:

neptyne_kernel/cell_api.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
UNCONNECTED_MSG = " object not associated directly with a sheet"
2424

2525
if TYPE_CHECKING:
26-
from .formulas.spreadsheet_datetime import SpreadsheetDateTime
26+
from .spreadsheet_datetime import SpreadsheetDateTime
2727

2828

2929
@dataclass
@@ -291,7 +291,7 @@ def xy(self) -> tuple[int, int]:
291291
def _get_event(self) -> CellEvent:
292292
from neptyne_kernel.kernel_runtime import get_user
293293

294-
from .formulas.spreadsheet_datetime import SpreadsheetDateTime
294+
from .spreadsheet_datetime import SpreadsheetDateTime
295295

296296
return CellEvent(self, get_user(), SpreadsheetDateTime())
297297

neptyne_kernel/cell_execution_graph.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
from collections import defaultdict
22
from typing import TYPE_CHECKING, Any, Sequence
33

4-
import networkx as nx
5-
from graphlib import CycleError, TopologicalSorter
64

75
from .cell_address import Address
86
from .ops import ClearOp, ExecOp
@@ -18,6 +16,9 @@ def __init__(
1816
cell_ids: set[Address],
1917
pre_clear: Sequence[Address] | None,
2018
) -> None:
19+
from graphlib import CycleError, TopologicalSorter
20+
import networkx as nx
21+
2122
self.dash = dash
2223
self.cell_ids = cell_ids
2324
self.pre_clear = pre_clear

neptyne_kernel/cell_range.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,8 @@
2626
TypeVar,
2727
)
2828

29-
import geopandas as gpd
3029
import numpy as np
3130
import pandas as pd
32-
from shapely.geometry.base import BaseGeometry
3331

3432
from .api_ref import ApiRef, Int, IntOrSlice, shape, slice_or_int_to_range
3533
from .cell_address import Address, Range
@@ -48,6 +46,7 @@
4846
from .dash_ref import DashRef
4947
from .formulas.helpers import SimpleCellValue
5048
from .gsheets_api import GSheetRef
49+
from geopandas import GeoDataFrame
5150

5251

5352
T = TypeVar("T")
@@ -626,8 +625,15 @@ def pivot_table(self, *args: Any, **kwargs: Any) -> pd.DataFrame:
626625

627626
def to_geodataframe(
628627
self, header: bool = True, crs: str = "epsg:4326"
629-
) -> gpd.GeoDataFrame:
628+
) -> "GeoDataFrame":
630629
"""@private"""
630+
try:
631+
import geopandas as gpd
632+
from shapely.geometry.base import BaseGeometry
633+
except ImportError:
634+
raise ImportError(
635+
"Geopandas is not installed. Please install it using 'pip install geopandas'"
636+
)
631637
df = self.to_dataframe(header=header)
632638
geom_col = next(
633639
(
@@ -951,13 +957,13 @@ def __init__(self, init_value: "GSheetRef | CellRange", *args: Any, **kwargs: An
951957
if isinstance(init_value, CellRange):
952958
super().__init__(init_value)
953959
else:
954-
self.gspread_ref = init_value
960+
self.gsheet_ref = init_value
955961
super().__init__(init_value.values)
956962
self.two_dimensional = init_value.range.dimensions() > 1
957963

958964
@property
959965
def ref(self) -> ApiRef: # type: ignore
960-
return self.gspread_ref
966+
return self.gsheet_ref
961967

962968
@property
963969
def range(self) -> Range:
@@ -968,9 +974,9 @@ def __iter__(self) -> Iterator:
968974
for row_idx, row in enumerate(self._values):
969975
min_row = self.ref.range.min_row + row_idx
970976
yield CellRangeGSheet(
971-
self.gspread_ref.with_range(
977+
self.gsheet_ref.with_range(
972978
replace(
973-
self.gspread_ref.range, min_row=min_row, max_row=min_row
979+
self.gsheet_ref.range, min_row=min_row, max_row=min_row
974980
),
975981
[*row],
976982
)
@@ -983,7 +989,7 @@ def __iter__(self) -> Iterator:
983989
self.range.min_row + (idx if not horizontal else 0),
984990
0,
985991
)
986-
yield self.gspread_ref.with_value(address, val)
992+
yield self.gsheet_ref.with_value(address, val)
987993

988994
def __setitem__(
989995
self, key: tuple[IntOrSlice, IntOrSlice] | IntOrSlice | str, value: Any
@@ -1032,15 +1038,15 @@ def _insert_delete_row_column(
10321038
from .gsheets_api import insert_delete_row_column
10331039

10341040
return insert_delete_row_column(
1035-
self.gspread_ref.service,
1036-
self.gspread_ref.spreadsheet_id,
1037-
self.gspread_ref.range,
1041+
self.gsheet_ref.service,
1042+
self.gsheet_ref.spreadsheet_id,
1043+
self.gsheet_ref.range,
10381044
dimension,
10391045
transform,
10401046
index,
10411047
amount,
10421048
data,
1043-
self.gspread_ref.sheet_prefix,
1049+
self.gsheet_ref.sheet_prefix,
10441050
)
10451051

10461052

0 commit comments

Comments
 (0)