Skip to content

Commit 4f546a7

Browse files
authored
Make ipytree optional (#2295)
1 parent b74c1c2 commit 4f546a7

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

geemap/common.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
import ee
2525
import ipywidgets as widgets
26-
from ipytree import Node, Tree
26+
2727
from typing import Union, List, Dict, Optional, Any
2828

2929
from .coreutils import *
@@ -4359,6 +4359,7 @@ def build_api_tree(api_dict, output_widget, layout_width="100%"):
43594359
Returns:
43604360
tuple: Returns a tuple containing two items: a tree Output widget and a tree dictionary.
43614361
"""
4362+
from ipytree import Node, Tree
43624363

43634364
warnings.filterwarnings("ignore")
43644365

@@ -4412,6 +4413,7 @@ def search_api_tree(keywords, api_tree):
44124413
Returns:
44134414
object: An ipytree object/widget.
44144415
"""
4416+
from ipytree import Tree
44154417

44164418
warnings.filterwarnings("ignore")
44174419

@@ -4578,6 +4580,8 @@ def ee_user_id():
45784580

45794581

45804582
def build_asset_tree(limit=100):
4583+
4584+
from ipytree import Node, Tree
45814585
import geeadd.ee_report as geeadd
45824586

45834587
warnings.filterwarnings("ignore")
@@ -4825,6 +4829,7 @@ def file_browser(
48254829
object: An ipywidget.
48264830
"""
48274831
import platform
4832+
from ipytree import Node, Tree
48284833

48294834
if in_dir is None:
48304835
in_dir = os.getcwd()

geemap/coreutils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import ee
88
import ipywidgets as widgets
9-
from ipytree import Node, Tree
109

1110
try:
1211
from IPython.display import display, Javascript
@@ -245,7 +244,7 @@ def get_info(
245244
layer_name: str = "",
246245
opened: bool = False,
247246
return_node: bool = False,
248-
) -> Union[Node, Tree, None]:
247+
) -> Union["Node", "Tree", None]:
249248
"""Print out the information for an Earth Engine object using a tree structure.
250249
The source code was adapted from https://github.com/google/earthengine-jupyter.
251250
Credits to Tyler Erickson.
@@ -262,6 +261,7 @@ def get_info(
262261
Union[Node, Tree, None]: The tree or node representing the Earth Engine
263262
object information.
264263
"""
264+
from ipytree import Node, Tree
265265

266266
tree_json = build_computed_object_tree(ee_object, layer_name, opened)
267267

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ dependencies = [
3535
"ipyevents",
3636
"ipyfilechooser>=0.6.0",
3737
"ipyleaflet>=0.19.2",
38-
"ipytree",
3938
"matplotlib",
4039
"numpy",
4140
"pandas",
@@ -79,6 +78,7 @@ extra = [
7978
"geojson",
8079
"geopandas",
8180
"ipynb-py-convert",
81+
"ipytree",
8282
"jupyterlab>=3",
8383
"mapclassify>=2.4.0",
8484
"mss",

0 commit comments

Comments
 (0)