Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancements to Documentation Structure and Theme Upgrade #249

Merged
merged 47 commits into from
Aug 26, 2024

Conversation

Fanchengyan
Copy link
Contributor

@Fanchengyan Fanchengyan commented Jul 21, 2024

The main modifications to the documentation include:

  1. Improved the document structure by dividing it into functional modules, enhancing searchability and readability.
  2. Changed the document theme from sphinx_rtd_theme to pydata_sphinx_theme, resulting in a more visually appealing and elegant documentation.
    1. Two themes are available for selection: black and white.
    2. Utilized both the left and right spaces (Section toc and Page toc), facilitating users in finding desired content.
    3. keep in line with the matplotlib documentation.

iShot_2024-07-21_17 03 25
iShot_2024-07-21_17 03 13

Fanchengyan and others added 7 commits July 21, 2024 15:12
This is an integration commit for the virtual branches that GitButler is tracking.

Due to GitButler managing multiple virtual branches, you cannot switch back and
forth between git branches and virtual branches easily. 

If you switch to another branch, GitButler will need to be reinitialized.
If you commit on this branch, GitButler will throw it away.

Here are the branches that are currently applied:
 - master (refs/gitbutler/master)
   branch head: c23b424b379c453ed7c85344d6af33a7a10fb651
   - tests/baseline/test_plot_shapes.test_shade_points_1D2D.png
   - tests/test_examples.py
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.attach.switch_layer.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.attach.clear_annotations.rst
   - docs/source/generated/eomaps.eomaps.Maps.indicate_extent.rst
   - docs/source/_static/data_visualization/colorbar_ticks.png
   - eomaps/_blit_manager.py
   - docs/source/_static/shape_imgs/scatter_points.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.rivers_europe.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.NASA_GIBS.rst
   - tests/test_callbacks.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.wgs84_bounding_box.rst
   - docs/_static/minigifs/add_wms.png
   - docs/source/generated/eomaps.eomaps.Maps.set_shade_dpi.rst
   - docs/source/examples/example_contour.py
   - docs/source/generated/eomaps.eomaps.Maps.all.rst
   - docs/api_scalebar.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.land_scale_rank.rst
   - docs/source/generated/eomaps.eomaps.Maps.draw.new_drawer.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_boundary_lines_map_units.rst
   - .github/ISSUE_TEMPLATE/feature_request.md
   - docs/api/eomaps.inset_maps.InsetMaps.rst
   - docs/source/_static/intro.png
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.join_limits.rst
   - docs/source/_static/minigifs/colorbar.png
   - docs/source/generated/eomaps.eomaps.Maps.draw.redraw.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_disputed_areas.rst
   - eomaps/qtcompanion/icons/peek_top_active.png
   - docs/source/generated/eomaps.grid.GridLabels.rst
   - docs/source/_static/logo.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.lakes_north_america.rst
   - docs/_static/shape_imgs/raster.png
   - docs/source/generated/eomaps.callbacks.PickCallbacks.print_to_console.rst
   - eomaps/reader.py
   - docs/_static/minigifs/simple_callbacks.gif
   - docs/source/generated/eomaps.eomaps.Maps.coll.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.add_logo.rst
   - docs/source/generated/eomaps.eomaps.Maps.config.rst
   - docs/source/generated/eomaps.scalebar.ScaleBar.remove.rst
   - docs/_static/data_visualization/colorbar_ticks.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_2_label_points_details.rst
   - eomaps/qtcompanion/widgets/save.py
   - docs/source/generated/eomaps.scalebar.ScaleBar.set_scale_props.rst
   - docs/source/generated/eomaps.eomaps.Maps.BM.remove_artist.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.preset.countries.rst
   - docs/source/generated/eomaps.eomaps.Maps.data_specs.cpos_radius.rst
   - tests/baseline/test_from_file.test_new_layer_from_file_NetCDF.png
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.get_layout.rst
   - docs/source/generated/eomaps.eomaps.Maps.redraw.rst
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.hexbin.rst
   - docs/source/generated/eomaps.widgets.LayerParser.rst
   - docs/source/generated/eomaps.scalebar.ScaleBar.set_pickable.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_1_states_provinces_lakes.rst
   - docs/source/_static/shape_imgs/shade_points.png
   - docs/source/_static/shape_imgs/delaunay_triangulation.png
   - docs/source/generated/eomaps.eomaps.Maps.add_marker.rst
   - docs/source/generated/eomaps.callbacks.PickCallbacks.highlight_geometry.rst
   - docs/examples/example_vector_data.py
   - docs/_static/minigifs/classify_data_01.png
   - docs/_static/shape_imgs/contour_unfilled_filled.png
   - eomaps/qtcompanion/widgets/wms.py
   - docs/_static/minigifs/annotations.png
   - eomaps/qtcompanion/widgets/click_callbacks.py
   - docs/api_utils.rst
   - docs/_static/minigifs/scalebar.gif
   - docs/_static/example_images/example_webmaps.gif
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.add_line.rst
   - docs/_static/data_visualization/colorbar.gif
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.remove.rst
   - docs/source/_static/minigifs/pick_multi.gif
   - docs/source/examples/example_multiple_maps.py
   - docs/_static/grids/grid7.png
   - docs/_static/example_images/example_inset_maps.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.share_events.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.get.permanent_markers.rst
   - docs/source/generated/eomaps.compass.Compass.set_pickable.rst
   - docs/source/generated/eomaps.eomaps.Maps.new_map.rst
   - docs/contribute.rst
   - eomaps/eomaps.py
   - eomaps/qtcompanion/icons/plus_hoover.png
   - docs/source/generated/eomaps.compass.Compass.set_position.rst
   - .pre-commit-config.yaml
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.Austria.rst
   - docs/_static/example_images/example_scalebars.gif
   - docs/examples/example_contour.py
   - docs/source/generated/eomaps.eomaps.Maps.new_inset_map.rst
   - docs/source/generated/eomaps.eomaps.Maps.read_file.CSV.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_line.rst
   - docs/source/_static/data_visualization/colorbar.gif
   - eomaps/qtcompanion/icons/peek_square.png
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.edit_layout.rst
   - docs/source/generated/eomaps.eomaps.Maps.edit_layout.rst
   - docs/gen_autodoc_file.py
   - docs/_static/example_images/example_row_col_selector.gif
   - docs/source/generated/eomaps.grid.GridLabels.add_labels.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_annotation.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_scalebar.rst
   - docs/source/generated/eomaps.callbacks.ClickCallbacks.print_to_console.rst
   - docs/source/generated/eomaps.eomaps.Maps.data.rst
   - docs/source/generated/eomaps.callbacks.PickCallbacks.annotate.rst
   - tests/baseline/test_examples.TestExamples.test_example_vector_data.png
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.add_wms.rst
   - docs/source/user_guide/interactivity/api_utils.rst
   - docs/source/user_guide/index.rst
   - pyproject.toml
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.add_feature.rst
   - docs/source/_static/inset_maps.png
   - docs/_static/example_images/example_callbacks.gif
   - docs/source/_static/minigifs/annotations.png
   - eomaps/scalebar.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.minor_islands_coastline.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.forward_events.rst
   - docs/source/_templates/custom-class-template.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.preset.lakes.rst
   - docs/source/_static/minigifs/classify_data_01.png
   - docs/source/generated/eomaps.colorbar.ColorBar.rst
   - docs/api_command_line_interface.rst
   - tests/baseline/test_plot_shapes.test_hexbin_1D2D.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.roads.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_boundary_lines_maritime_indicator_chn.rst
   - docs/source/generated/eomaps.eomaps.Maps.draw.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_2_counties_scale_rank.rst
   - tests/baseline/test_plot_shapes.test_shade_points_pandas.png
   - docs/source/generated/eomaps.eomaps.Maps.data_specs.encoding.rst
   - docs/source/generated/eomaps.eomaps.Maps.colorbar.rst
   - docs/source/generated/eomaps.eomaps.Maps.draw.save_shapes.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.lakes_pluvial.rst
   - docs/source/generated/eomaps.widgets.LayerDropdown.rst
   - docs/source/user_guide/map_features/api_gridlines.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_pak.rst
   - tests/baseline/test_plot_shapes.test_contour_pandas.png
   - tests/baseline/test_examples.TestExamples.test_example_callbacks.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.remove.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_map_units.rst
   - docs/source/_static/minigifs/companion_widget.gif
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.GMRT.rst
   - eomaps/_webmap.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.preset.rivers_lake_centerlines.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.set_sticky_modifiers.rst
   - docs/source/user_guide/miscellaneous/api_logging.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_rus.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_ind.rst
   - CONTRIBUTING.md
   - eomaps/layout_editor.py
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.get.picked_object.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.forward_events.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_gridlines.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_sau.rst
   - docs/source/generated/eomaps.colorbar.ColorBar.layer.rst
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.contour.rst
   - docs/api/reference.rst
   - docs/_static/grids/grid5.png
   - docs/substitutions.rst
   - tests/baseline/test_examples.TestExamples.test_example_overlays.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_prt.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.ocean.rst
   - docs/source/user_guide/map_features/api_scalebar.rst
   - docs/source/generated/eomaps.eomaps.Maps.draw.rectangle.rst
   - docs/_static/logo.png
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.set_data.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_title.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_1_states_provinces_scale_rank.rst
   - docs/source/_static/example_images/example_callbacks.gif
   - docs/source/generated/eomaps.scalebar.ScaleBar.set_n.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.add_gdf.rst
   - docs/source/generated/eomaps.eomaps.Maps.draw.polygon.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_usa.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.parks_and_protected_lands.rst
   - docs/source/api/eomaps.inset_maps.InsetMaps.rst
   - docs/source/_static/example_images/example_vector_data.gif
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.preset.ocean.rst
   - logos/EO_Maps_Logo_V2.png
   - docs/source/generated/eomaps.eomaps.Maps.show.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.plot_map.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.rst
   - docs/source/_static/widget_annotations.png
   - docs/source/user_guide/map_features/api_webmaps.rst
   - docs/_static/example_images/example_lines.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.execute_on_all_layers.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_iso.rst
   - docs/source/generated/eomaps.eomaps.Maps.draw.circle.rst
   - eomaps/qtcompanion/icons/logo.png
   - docs/source/user_guide/miscellaneous/index.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.attach.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.populated_places.rst
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.shade_raster.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_boundary_map_units.rst
   - docs/source/generated/eomaps.callbacks.ClickCallbacks.clear_annotations.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_2_counties_lakes.rst
   - docs/_templates/only_names_in_toc.rst
   - docs/source/generated/eomaps.eomaps.Maps.new_layer_from_file.rst
   - docs/_static/minigifs/plot_shapes.gif
   - tests/baseline/test_plot_shapes.test_hexbin_1D.png
   - docs/_static/minigifs/basics_first_map.png
   - docs/source/generated/eomaps.grid.GridLines.set_d.rst
   - docs/quickstart_quide.rst
   - docs/_static/shape_imgs/scatter_points.png
   - docs/source/generated/eomaps.eomaps.Maps.data_specs.x.rst
   - docs/examples/example_customization.py
   - docs/source/generated/eomaps.widgets.PickPrintToConsoleCheckbox.rst
   - docs/source/user_guide/interactivity/api_companion_widget.rst
   - eomaps/utilities.py
   - docs/_static/shape_imgs/contour_filled.png
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.util.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.set_props.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.geography_regions_polys.rst
   - docs/source/generated/eomaps.eomaps.Maps.BM.fetch_bg.rst
   - docs/source/_static/minigifs/select_layers_dropdown.gif
   - eomaps/_containers.py
   - docs/source/generated/eomaps.eomaps.Maps.shape.rst
   - eomaps/qtcompanion/icons/plus.png
   - docs/source/_static/grids/grid5.png
   - docs/source/generated/eomaps.scalebar.ScaleBar.set_position.rst
   - docs/source/_static/shape_imgs/hexbin.png
   - docs/source/_static/data_visualization/dynamic_colorbar.gif
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.rst
   - docs/source/_static/minigifs/add_feature.gif
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.coastline.rst
   - eomaps/annotation_editor.py
   - docs/example_galery.rst
   - docs/_templates/custom-class-template.rst
   - docs/source/user_guide/map_features/api_vector_data.rst
   - eomaps/qtcompanion/common.py
   - docs/source/_static/data_visualization/explicit_colors.png
   - docs/source/_static/shape_imgs/contour_filled.png
   - docs/source/generated/eomaps.eomaps.Maps.layer.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.geographic_lines.rst
   - docs/source/generated/eomaps.scalebar.ScaleBar.get_scale.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.preset.urban_areas.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_scale_rank.rst
   - docs/_static/widget_annotations.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.graticules_20.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_pacific_groupings.rst
   - docs/source/generated/eomaps.eomaps.Maps.draw.set_layer.rst
   - docs/source/generated/eomaps.eomaps.Maps.set_data.rst
   - docs/_static/shape_imgs/rectangles.png
   - docs/api_draw.rst
   - docs/source/generated/eomaps.scalebar.ScaleBar.set_auto_scale.rst
   - docs/_static/shape_imgs/delaunay_triangulation_flat.png
   - docs/source/user_guide/how_to_use/api_basics.rst
   - docs/source/generated/eomaps.eomaps.Maps.text.rst
   - docs/_static/example_images/example_gridlines.png
   - docs/source/generated/eomaps.colorbar.ColorBar.indicate_contours.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.EEA_DiscoMap.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.CAMS.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_1_states_provinces.rst
   - tests/test_basic_functions.py
   - docs/source/generated/eomaps.eomaps.Maps.data_specs.crs.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_compass.rst
   - eomaps/qtcompanion/icons/edit_layout_hover.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.rst
   - docs/source/generated/eomaps.grid.GridLines.bounds.rst
   - docs/source/_static/minigifs/markers.png
   - docs/source/generated/eomaps.eomaps.Maps.get_crs.rst
   - docs/api_callbacks.rst
   - docs/source/_static/minigifs/add_wms.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_grc.rst
   - docs/source/generated/eomaps.compass.Compass.set_scale.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.set_execute_on_all_layers.rst
   - docs/api_annotations_markers_etc.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.add_temporary_artist.rst
   - tests/baseline/test_from_file.test_new_layer_from_file_GeoTIFF.png
   - eomaps/scripts/open.py
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.attach.peek_layer.rst
   - docs/_static/minigifs/compass.gif
   - docs/notebooks/naturalearth_features.ipynb
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.get.attached_callbacks.rst
   - docs/_shape_table.rst
   - docs/source/generated/eomaps.callbacks.ClickCallbacks.annotate.rst
   - eomaps/qtcompanion/widgets/extent.py
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.get.picked_vals.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.add_scalebar.rst
   - docs/source/generated/eomaps.eomaps.Maps.classify_specs.scheme.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.set_execute_on_all_layers.rst
   - docs/source/generated/eomaps.callbacks.ClickCallbacks.peek_layer.rst
   - docs/source/examples/substitutions.rst
   - docs/source/_static/grids/grid1.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.roads_north_america.rst
   - docs/source/generated/eomaps.callbacks.ClickCallbacks.clear_markers.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.attach.mark.rst
   - docs/_static/grids/grid3.png
   - docs/source/examples/example_row_col_selector.py
   - eomaps/qtcompanion/icons/info.png
   - docs/_static/example_images/example_basics.gif
   - eomaps/projections.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_2_label_points.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.add_picker.rst
   - docs/source/generated/eomaps.callbacks.PickCallbacks.clear_markers.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.minor_islands.rst
   - tests/baseline/test_from_file.test_from_file_CSV.png
   - docs/_static/data_visualization/customize_plot.png
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.DLR.rst
   - docs/source/generated/eomaps.inset_maps.InsetMaps.add_extent_indicator.rst
   - eomaps/qtcompanion/icons/peek_ellipse.png
   - docs/source/_static/minigifs/simple_callbacks.gif
   - eomaps/colorbar.py
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.set_sticky_modifiers.rst
   - tests/baseline/test_plot_shapes.test_shade_points_1D.png
   - docs/source/generated/eomaps.eomaps.Maps.set_extent_to_location.rst
   - docs/source/_static/minigifs/grid_labels_01.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_map_subunits.rst
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.geod_circles.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_H_3000.rst
   - docs/examples/example_multiple_maps.py
   - docs/source/user_guide/interactivity/api_draw.rst
   - docs/source/generated/eomaps.widgets.ClickPeekLayerCheckbox.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_antarctic_claims.rst
   - docs/source/generated/eomaps.eomaps.Maps.subplots_adjust.rst
   - docs/source/generated/eomaps.eomaps.Maps.get_extent.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.ESA_WorldCover.rst
   - docs/source/_static/pycharm_preferences_2.png
   - environment.yml
   - docs/source/generated/eomaps.eomaps.Maps.f.rst
   - eomaps/qtcompanion/icons/open.png
   - docs/source/generated/eomaps.grid.GridLines.layer.rst
   - docs/_static/minigifs/add_feature.gif
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.ellipses.rst
   - docs/source/_static/example_images/example_row_col_selector.gif
   - docs/source/_static/minigifs/indicate_extent.png
   - CODE_OF_CONDUCT.md
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.preset.land.rst
   - eomaps/cb_container.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.geography_regions_points.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.children.rst
   - docs/_static/minigifs/colorbar.png
   - docs/source/user_guide/miscellaneous/api_read_data.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_colorbar.rst
   - docs/source/_static/shape_imgs/shade_raster.png
   - docs/source/generated/eomaps.eomaps.Maps.read_file.NetCDF.rst
   - docs/source/_static/custom_css.css
   - docs/_static/example_images/example_vector_data.gif
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.add_compass.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.remove.rst
   - tests/baseline/test_from_file.test_from_file_NetCDF.png
   - docs/source/generated/eomaps.scalebar.ScaleBar.set_scale.rst
   - docs/source/generated/eomaps.eomaps.Maps.get_layout.rst
   - docs/_static/shape_imgs/ellipses.png
   - docs/source/user_guide/interactivity/index.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.rst
   - docs/_static/intro.png
   - docs/source/generated/eomaps.eomaps.Maps.show_layer.rst
   - eomaps/grid.py
   - docs/source/generated/eomaps.eomaps.Maps.BM.update.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.attach.load.rst
   - docs/source/_static/grids/grid6.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.graticules_30.rst
   - docs/source/examples/example_overlays.py
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.add_temporary_artist.rst
   - eomaps/qtcompanion/widgets/files.py
   - docs/source/_static/minigifs/logos.png
   - docs/source/generated/eomaps.eomaps.Maps.from_file.GeoTIFF.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.subplots_adjust.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.execute_on_all_layers.rst
   - docs/source/_templates/custom-module-template.rst
   - docs/_static/minigifs/draw_shapes.gif
   - docs/source/_static/minigifs/companion_widget_feature_info.gif
   - LICENSE
   - eomaps/mapsgrid.py
   - docs/source/index.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_antarctic_claim_limit_lines.rst
   - docs/source/generated/eomaps.eomaps.Maps.BM.get_bg_artists.rst
   - docs/source/_static/example_images/example_scalebars.gif
   - docs/_static/minigifs/companion_widget_feature_info.gif
   - .github/workflows/testMaps.yml
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.geography_regions_elevation_points.rst
   - docs/api_layout_editor.rst
   - docs/_templates/custom-module-template.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.get.permanent_annotations.rst
   - docs/source/user_guide/interactivity/widgets.ipynb
   - docs/make.bat
   - docs/source/generated/eomaps.callbacks.KeypressCallbacks.overlay_layer.rst
   - docs/source/user_guide/map_features/inset_maps.ipynb
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_disputed_areas_scale_rank_minor_islands.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.attach.clear_markers.rst
   - eomaps/qtcompanion/icons/edit_layout_active.png
   - docs/source/FAQ.rst
   - docs/source/_static/minigifs/dynamic_axes_updates.gif
   - docs/source/_static/shape_imgs/rectangles.png
   - eomaps/helpers.py
   - docs/source/generated/eomaps.grid.GridLines.d.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_idn.rst
   - .zenodo.json
   - docs/source/_shape_table.rst
   - docs/source/_static/shape_imgs/geod_circles.png
   - tests/baseline/test_examples.TestExamples.test_example_timeseries.png
   - docs/source/generated/eomaps.grid.GridLines.set_auto_n.rst
   - docs/source/generated/eomaps.compass.Compass.remove.rst
   - docs/source/examples/example_timeseries.py
   - docs/source/user_guide/interactivity/api_layout_editor.rst
   - docs/source/generated/eomaps.colorbar.ColorBar.set_position.rst
   - docs/_static/minigifs/advanced_wms.gif
   - eomaps/qtcompanion/widgets/peek.py
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.rectangles.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.preset.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.playas.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.ISRIC_SoilGrids.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.urban_areas_landscan.rst
   - docs/source/user_guide/map_features/index.rst
   - docs/examples/example_timeseries.py
   - docs/source/generated/eomaps.eomaps.Maps.data_specs.y.rst
   - docs/source/examples/example_customization.py
   - tests/baseline/test_examples.TestExamples.test_example_multiple_maps.png
   - docs/source/generated/eomaps.eomaps.Maps.inherit_classification.rst
   - docs/source/generated/eomaps.callbacks.PickCallbacks.get_values.rst
   - docs/source/generated/eomaps.callbacks.PickCallbacks.plot.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.get.permanent_annotations.rst
   - docs/source/_static/shape_imgs/delaunay_triangulation_flat.png
   - docs/source/generated/eomaps.eomaps.Maps.add_gdf.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.cleanup.rst
   - tests/baseline/test_plot_shapes.test_contour_1D.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_1_label_points_details.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.preset.coastline.rst
   - docs/source/generated/eomaps.eomaps.Maps.inherit_data.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.lakes.rst
   - docs/source/generated/eomaps.callbacks.ClickCallbacks.mark.rst
   - docs/api_gridlines.rst
   - eomaps/qtcompanion/icons/peek_circle_active.png
   - eomaps/qtcompanion/icons/peek_ellipse_active.png
   - docs/source/generated/eomaps.eomaps.Maps.draw.remove_last_shape.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.attach.overlay_layer.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.show.rst
   - docs/source/user_guide/how_to_use/index.rst
   - docs/source/user_guide/map_features/api_compass.rst
   - docs/source/generated/eomaps.eomaps.Maps.BM.get_artists.rst
   - docs/source/generated/eomaps.inset_maps.InsetMaps.set_inset_position.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.ocean_scale_rank.rst
   - docs/source/examples/example_basics.py
   - docs/installation.md
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.add_marker.rst
   - docs/source/generated/eomaps.eomaps.Maps.copy.rst
   - docs/source/_static/example_images/example_lines.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.set_execute_during_toolbar_action.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.get.rst
   - docs/source/generated/eomaps.eomaps.Maps.BM.add_bg_artist.rst
   - docs/source/_static/minigifs/compass.gif
   - docs/source/examples/example_callbacks.py
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.attach.plot.rst
   - docs/source/generated/eomaps.eomaps.Maps.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_F_5000.rst
   - docs/source/generated/eomaps.eomaps.Maps.classify_specs.rst
   - docs/source/generated/eomaps.eomaps.Maps.read_file.GeoTIFF.rst
   - docs/source/_static/example_images/example_webmaps.gif
   - docs/_static/minigifs/markers.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_A_10000.rst
   - eomaps/qtcompanion/signal_container.py
   - docs/_static/example_images/example_customization.png
   - docs/source/user_guide/miscellaneous/api_command_line_interface.rst
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.scatter_points.rst
   - docs/make2.bat
   - docs/source/_static/shape_imgs/ellipses.png
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.share_move_events.rst
   - eomaps/qtcompanion/widgets/draw.py
   - docs/source/_static/minigifs/add_gdf_pick.gif
   - docs/examples/example_callbacks.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.populated_places_simple.rst
   - eomaps/qtcompanion/icons/peek_left_active.png
   - docs/source/generated/eomaps.eomaps.Maps.data_specs.cpos.rst
   - docs/source/gen_autodoc_file.py
   - eomaps/qtcompanion/widgets/annotate.py
   - docs/source/generated/eomaps.scalebar.ScaleBar.set_size_factor.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.snapshot.rst
   - docs/source/generated/eomaps.compass.Compass.get_scale.rst
   - docs/source/generated/eomaps.callbacks.KeypressCallbacks.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.savefig.rst
   - docs/api_compass.rst
   - docs/source/_static/widget_callbacks.png
   - tests/baseline/test_examples.TestExamples.test_example_webmaps.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.antarctic_ice_shelves_lines.rst
   - docs/source/generated/eomaps.eomaps.Maps.set_frame.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_ukr.rst
   - eomaps/qtcompanion/icons/eye_open.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.attach.clear_markers.rst
   - docs/source/_static/shape_imgs/contour_unfilled_filled.png
   - docs/source/generated/eomaps.colorbar.ColorBar.set_visible.rst
   - docs/source/generated/eomaps.colorbar.ColorBar.set_scale.rst
   - docs/examples/example_webmaps.py
   - docs/_static/shape_imgs/contour.png
   - docs/_static/data_visualization/plot_data.png
   - docs/_static/shape_imgs/hexbin.png
   - eomaps/qtcompanion/__init__.py
   - docs/_static/example_images/example_multiple_maps.gif
   - docs/api_read_data.rst
   - docs/source/generated/eomaps.eomaps.Maps.util.layer_selector.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.GOOGLE.rst
   - eomaps/qtcompanion/widgets/utils.py
   - docs/source/generated/eomaps.scalebar.ScaleBar.get_position.rst
   - docs/source/generated/eomaps.callbacks.PickCallbacks.load.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_logo.rst
   - docs/source/_static/spyder_preferences.png
   - docs/source/examples/example_vector_data.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.antarctic_ice_shelves_polys.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_seams.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.rivers_north_america.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.attach.annotate.rst
   - eomaps/qtcompanion/icons/peek_left.png
   - docs/api_logging.rst
   - docs/source/generated/eomaps.eomaps.Maps.refetch_wms_on_size_change.rst
   - docs/_static/minigifs/grid_labels_01.png
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.spherical_voronoi_diagram.rst
   - docs/source/generated/eomaps.eomaps.Maps.BM.remove_bg_artist.rst
   - docs/source/generated/eomaps.inset_maps.InsetMaps.add_indicator_line.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_tiny_countries_scale_rank.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.get_execute_callbacks.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.attach.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_jpn.rst
   - eomaps/qtcompanion/icons/eye_closed.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_I_2000.rst
   - docs/source/_static/minigifs/advanced_wms.gif
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.execute_on_all_layers.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.railroads_north_america.rst
   - docs/source/_static/data_visualization/rgba_composite.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_lakes.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.attach.peek_layer.rst
   - docs/_static/grids/grid6.png
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.delaunay_triangulation.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.rivers_australia.rst
   - docs/source/_static/shapes_decision_tree.png
   - docs/source/generated/eomaps.eomaps.Maps.join_limits.rst
   - docs/source/_static/minigifs/layout_editor.gif
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_arg.rst
   - eomaps/qtcompanion/icons/info_hoover.png
   - docs/source/generated/eomaps.eomaps.Maps.cleanup.rst
   - eomaps/NE_features.json
   - _config.yml
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.lakes_historic.rst
   - docs/_static/minigifs/grid_01.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_gbr.rst
   - docs/source/installation.md
   - docs/_static/grids/grid2.png
   - docs/source/_static/data_visualization/plot_data.png
   - eomaps/qtcompanion/icons/open_hover.png
   - docs/source/user_guide/map_features/api_annotations_markers_etc.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.graticules_5.rst
   - docs/_static/example_images/example_overlays.gif
   - docs/source/generated/eomaps.eomaps.Maps.BM.on_layer.rst
   - docs/source/_static/shape_imgs/raster.png
   - tests/test_doc_codeblocks.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_J_1000.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.add_temporary_artist.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_boundary_lines_land.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.attach.fetch_layers.rst
   - eomaps/qtcompanion/icons/info_checked.png
   - docs/source/generated/eomaps.eomaps.Maps.new_layer.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.rivers_lake_centerlines_scale_rank.rst
   - docs/_static/minigifs/layer_selector.gif
   - docs/index.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.minor_islands_label_points.rst
   - docs/source/generated/eomaps.compass.Compass.set_patch.rst
   - docs/source/examples/EOmaps_examples.rst
   - docs/source/generated/eomaps.eomaps.Maps.set_classify.rst
   - docs/api_vector_data.rst
   - docs/source/_static/example_images/example_customization.png
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.shade_points.rst
   - docs/examples/example_overlays.py
   - docs/source/user_guide/map_features/naturalearth_features.ipynb
   - docs/source/api/autodoc_additional_props.rst
   - .github/ISSUE_TEMPLATE/bug_report.md
   - docs/source/_static/pycharm_preferences.png
   - docs/source/generated/eomaps.scalebar.ScaleBar.print_code.rst
   - docs/_static/custom_css.css
   - docs/source/generated/eomaps.grid.GridLines.auto_n.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.GEBCO.rst
   - docs/_static/minigifs/indicate_extent.png
   - docs/source/generated/eomaps.scalebar.ScaleBar.apply_preset.rst
   - docs/examples/example_row_col_selector.py
   - docs/source/generated/eomaps.grid.GridLines.remove.rst
   - eomaps/_data_manager.py
   - docs/source/generated/eomaps.colorbar.ColorBar.set_hist_size.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.GLAD.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.set_classify_specs.rst
   - docs/source/generated/eomaps.callbacks.ClickCallbacks.plot.rst
   - docs/source/generated/eomaps.eomaps.Maps.data_specs.data.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.share_click_events.rst
   - docs/source/generated/eomaps.colorbar.ColorBar.max_n_classify_bins_to_label.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_G_4000.rst
   - docs/source/generated/eomaps.eomaps.Maps.BM.figure.rst
   - docs/examples/example_inset_maps.py
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.get.picked_vals.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_1_seams.rst
   - docs/_static/shape_imgs/delaunay_triangulation.png
   - eomaps/qtcompanion/widgets/__init__.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_sovereignty.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.get.rst
   - eomaps/inset_maps.py
   - docs/source/generated/eomaps.callbacks.KeypressCallbacks.fetch_layers.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_pse.rst
   - docs/source/generated/eomaps.widgets.LayerButton.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_breakaway_disputed_areas.rst
   - docs/_static/example_images/example_contour.png
   - docs/source/api/eomaps.eomaps.Maps.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.add_colorbar.rst
   - docs/conf.py
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.voronoi_diagram.rst
   - docs/source/generated/eomaps.grid.GridLines.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.attach.print_to_console.rst
   - eomaps/__init__.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_egy.rst
   - docs/source/_static/grids/grid3.png
   - docs/source/generated/eomaps.widgets.PickAnnotateCheckbox.rst
   - docs/_static/minigifs/inset_maps.png
   - docs/source/generated/eomaps.eomaps.Maps.fetch_companion_wms_layers.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.forward_events.rst
   - docs/source/_static/example_images/example_multiple_maps.gif
   - eomaps/qtcompanion/icons/peek_circle.png
   - tests/test_raster_aggregaton.py
   - docs/source/examples/example_scalebars.py
   - docs/source/generated/eomaps.eomaps.Maps.snapshot.rst
   - docs/_static/minigifs/select_layers_dropdown.gif
   - docs/source/quickstart_quide.rst
   - docs/source/_templates/obj_with_attributes_no_toc.rst
   - eomaps/webmap_containers.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_boundary_lines_maritime_indicator.rst
   - docs/_static/data_visualization/rgba_composite.png
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.new_layer.rst
   - eomaps/qtcompanion/app.py
   - docs/source/generated/eomaps.eomaps.Maps.read_file.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.attach.get_values.rst
   - docs/source/generated/eomaps.eomaps.Maps.from_file.NetCDF.rst
   - docs/source/generated/eomaps.widgets.LayerSelectionSlider.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_scale_rank_minor_islands.rst
   - docs/source/_static/grids/grid2.png
   - docs/api_webmaps.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.railroads.rst
   - docs/api_data_visualization.rst
   - tests/baseline/test_examples.TestExamples.test_example_customization.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.rst
   - docs/source/generated/eomaps.widgets.ClickMarkCheckbox.rst
   - docs/notebooks/widgets.ipynb
   - tests/baseline/test_examples.TestExamples.test_example_inset_maps.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_boundary_lines_disputed_areas.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.redraw.rst
   - docs/_static/data_visualization/uniform_colors.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.share_events.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.attach.annotate.rst
   - docs/_static/pycharm_preferences_2.png
   - docs/_static/shape_imgs/geod_circles.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_B_9000.rst
   - docs/source/generated/eomaps.eomaps.Maps.on_layer_activation.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.execute_on_all_layers.rst
   - docs/_static/grids/grid1.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.execute_callbacks.rst
   - docs/source/generated/eomaps.eomaps.Maps.fetch_layers.rst
   - docs/source/examples/example_gridlines.py
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.attach.print_to_console.rst
   - tests/test_doc_notebooks.py
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.get.attached_callbacks.rst
   - docs/source/generated/eomaps.eomaps.Maps.BM.blit_artists.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.get_service.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_mar.rst
   - docs/source/_static/example_images/example_basics.gif
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.set_execute_on_all_layers.rst
   - docs/source/generated/eomaps.scalebar.ScaleBar.set_line_props.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_K_200.rst
   - docs/source/generated/eomaps.compass.Compass.rst
   - eomaps/widgets.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_L_0.rst
   - tests/baseline/test_plot_shapes.test_hexbin_pandas.png
   - docs/source/user_guide/how_to_use/api_data_visualization.rst
   - docs/docs_env.yml
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.attach.mark.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.rivers_lake_centerlines.rst
   - docs/source/generated/eomaps.eomaps.Maps.crs_plot.rst
   - docs/_static/shape_imgs/voronoi_diagram.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.ports.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.attach.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.set_sticky_modifiers.rst
   - docs/notebooks/inset_maps.ipynb
   - docs/source/generated/eomaps.eomaps.Maps.parent.rst
   - docs/_static/minigifs/add_gdf_pick.gif
   - docs/api/eomaps.eomaps.Maps.rst
   - eomaps/compass.py
   - eomaps/qtcompanion/icons/close.png
   - docs/source/generated/eomaps.grid.GridLines.update_line_props.rst
   - eomaps/qtcompanion/icons/peek_right.png
   - docs/source/generated/eomaps.grid.GridLines.set_bounds.rst
   - docs/source/generated/eomaps.widgets.LayerSelect.rst
   - eomaps/qtcompanion/icons/edit_layout.png
   - docs/source/generated/eomaps.widgets.ClickAnnotateCheckbox.rst
   - docs/source/_static/minigifs/basics_first_map.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.attach.plot.rst
   - docs/source/generated/eomaps.eomaps.Maps.ax.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_D_7000.rst
   - docs/_static/minigifs/lines.png
   - docs/source/user_guide/miscellaneous/api_misc.rst
   - eomaps/shapes.py
   - .github/workflows/Publish_to_PyPi.yml
   - docs/source/examples/example_webmaps.py
   - tests/test_WMS_capabilities.py
   - docs/api_basics.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.get.permanent_markers.rst
   - docs/_static/minigifs/logos.png
   - docs/source/generated/eomaps.widgets.LayerSelectionRangeSlider.rst
   - eomaps/_maps_base.py
   - docs/source/generated/eomaps.widgets.LayerToggleButtons.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.get.rst
   - docs/source/contribute/contribute.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.glaciated_areas.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.airports.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_label_points.rst
   - docs/source/generated/eomaps.eomaps.Maps.BM.rst
   - docs/source/generated/eomaps.colorbar.ColorBar.remove.rst
   - docs/_static/minigifs/pick_multi.gif
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.graticules_10.rst
   - docs/_static/spyder_preferences.png
   - docs/source/examples/example_galery.rst
   - tests/baseline/test_from_file.test_from_file_GeoTIFF.png
   - docs/_static/widget_callbacks.png
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.f.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_1_states_provinces_lines.rst
   - docs/source/generated/eomaps.eomaps.Maps.set_classify_specs.rst
   - docs/source/generated/eomaps.colorbar.ColorBar.set_bin_labels.rst
   - docs/source/_static/minigifs/plot_shapes.gif
   - docs/source/_static/data_visualization/uniform_colors.png
   - docs/examples/example_gridlines.py
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.attach.peek_layer.rst
   - docs/source/examples/example_lines.py
   - tests/_testdata/testfile.nc
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.graticules_1.rst
   - eomaps/qtcompanion/icons/maximize.png
   - tests/baseline/test_examples.TestExamples.test_example_lines.png
   - docs/_static/example_images/example_timeseries.gif
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.attach.mark.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.forward_events.rst
   - docs/source/generated/eomaps.grid.GridLines.add_labels.rst
   - docs/examples/example_scalebars.py
   - eomaps/scripts/__init__.py
   - docs/source/api/reference.rst
   - docs/_static/grids/grid4.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.time_zones.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.geography_marine_polys.rst
   - eomaps/ne_features.py
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.raster.rst
   - docs/source/generated/eomaps.scalebar.ScaleBar.set_label_props.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.keypress.set_execute_during_toolbar_action.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.land_ocean_seams.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_deu.rst
   - docs/source/generated/eomaps.widgets.LayerOverlaySlider.rst
   - docs/source/generated/eomaps.colorbar.ColorBar.set_labels.rst
   - docs/source/generated/eomaps.eomaps.Maps.draw.layer.rst
   - docs/source/generated/eomaps.inset_maps.InsetMaps.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.add_temporary_artist.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_tiny_countries.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.lakes_europe.rst
   - eomaps/callbacks.py
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.add_annotation.rst
   - docs/source/generated/eomaps.eomaps.Maps.BM.canvas.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_bdg.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_isr.rst
   - docs/source/generated/eomaps.scalebar.ScaleBar.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_swe.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_nld.rst
   - docs/source/generated/eomaps.callbacks.KeypressCallbacks.switch_layer.rst
   - tests/baseline/test_examples.TestExamples.test_example_contour.png
   - docs/source/generated/eomaps.callbacks.PickCallbacks.clear_annotations.rst
   - docs/source/generated/eomaps.eomaps.Maps.savefig.rst
   - docs/_static/data_visualization/explicit_colors.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.attach.print_to_console.rst
   - docs/api_misc.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_twn.rst
   - docs/source/generated/eomaps.compass.Compass.set_ignore_invalid_angles.rst
   - eomaps/qtcompanion/widgets/editor.py
   - codecov.yml
   - eomaps/qtcompanion/icons/peek_rectangle.png
   - docs/source/generated/eomaps.widgets.ClickPrintToConsoleCheckbox.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.set_execute_during_toolbar_action.rst
   - docs/_static/minigifs/rearrange_layers.gif
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.reefs.rst
   - docs/source/_static/minigifs/inset_maps.png
   - eomaps/logo.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.land.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.urban_areas.rst
   - docs/source/generated/eomaps.callbacks.PickCallbacks.mark.rst
   - .readthedocs.yaml
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.land_ocean_label_points.rst
   - docs/source/_static/minigifs/grid_01.png
   - eomaps/qtcompanion/icons/layers_hover.png
   - docs/source/generated/eomaps.eomaps.Maps.BM.bg_layer.rst
   - eomaps/qtcompanion/base.py
   - tests/test_widgets.py
   - docs/source/generated/eomaps.eomaps.Maps.classify_specs.keys.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_fra.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.apply_layout.rst
   - tests/baseline/test_from_file.test_new_layer_from_file_CSV.png
   - tests/_testdata/testfile.tif
   - docs/source/generated/eomaps.callbacks.PickCallbacks.rst
   - docs/source/_static/grids/grid4.png
   - .github/workflows/pre-commit.yml
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.get.permanent_annotations.rst
   - logos/EO_Maps_Logo_V6.png
   - docs/source/_static/minigifs/draw_shapes.gif
   - tests/baseline/test_examples.TestExamples.test_example_basics.png
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_C_8000.rst
   - eomaps/draw.py
   - docs/source/user_guide/interactivity/api_callbacks.rst
   - docs/source/generated/eomaps.callbacks.ClickCallbacks.rst
   - docs/source/generated/eomaps.scalebar.ScaleBar.set_patch_props.rst
   - README.md
   - eomaps/qtcompanion/icons/peek_bottom.png
   - docs/source/_static/minigifs/lines.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.set_execute_on_all_layers.rst
   - docs/source/_static/example_images/example_contour.png
   - docs/source/generated/eomaps.eomaps.Maps.make_dataset_pickable.rst
   - tests/_testdata/testfile.csv
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_nep.rst
   - docs/source/_static/minigifs/layer_selector.gif
   - docs/_static/shape_imgs/shade_points.png
   - docs/_static/minigifs/layout_editor.gif
   - docs/source/generated/eomaps.grid.GridLines.n.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.get.picked_object.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_kor.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.graticules_15.rst
   - docs/source/generated/eomaps.scalebar.ScaleBar.get_size_factor.rst
   - docs/_static/pycharm_preferences.png
   - docs/source/generated/eomaps.eomaps.Maps.from_file.CSV.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.share_pick_events.rst
   - docs/source/generated/eomaps.eomaps.Maps.data_specs.delete.rst
   - eomaps/qtcompanion/icons/layers.png
   - docs/examples/example_basics.py
   - eomaps/qtcompanion/icons/peek_top.png
   - eomaps/qtcompanion/icons/peek_bottom_active.png
   - docs/source/generated/eomaps.compass.Compass.get_position.rst
   - docs/EOmaps_examples.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_2_counties.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.share_events.rst
   - docs/source/generated/eomaps.eomaps.Maps.edit_annotations.rst
   - tests/baseline/test_examples.TestExamples.test_example_gridlines.png
   - docs/_static/minigifs/companion_widget.gif
   - eomaps/qtcompanion/icons/peek_rectangle_active.png
   - eomaps/qtcompanion/widgets/layer.py
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_pol.rst
   - docs/source/generated/eomaps.eomaps.Maps.set_shape.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.get.attached_callbacks.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.get.picked_object.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.create_axes.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.share_events.rst
   - docs/source/generated/eomaps.eomaps.Maps.apply_layout.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.attach.clear_annotations.rst
   - tests/test_drawer.py
   - docs/source/generated/eomaps.eomaps.Maps.from_file.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.get.picked_vals.rst
   - docs/source/_static/example_images/example_timeseries.gif
   - docs/_static/shape_imgs/shade_raster.png
   - docs/source/generated/eomaps.eomaps.Maps.data_specs.parameter.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_bra.rst
   - docs/source/_static/data_visualization/customize_plot.png
   - docs/source/generated/eomaps.colorbar.ColorBar.tick_params.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_chn.rst
   - tests/baseline/test_examples.TestExamples.test_example_scalebars.png
   - docs/source/generated/eomaps.eomaps.Maps.util.layer_slider.rst
   - docs/source/generated/eomaps.eomaps.Maps.data_specs.keys.rst
   - docs/_templates/obj_with_attributes_no_toc.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.bathymetry_E_6000.rst
   - docs/source/generated/eomaps.widgets.PickMarkCheckbox.rst
   - tests/test_layout_editor.py
   - docs/source/generated/eomaps.grid.GridLabels.remove.rst
   - docs/source/conf.py
   - tests/baseline/test_plot_shapes.test_contour_2D.png
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.attach.annotate.rst
   - docs/source/generated/eomaps.eomaps.Maps.plot_map.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.remove.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.S1GBM.rst
   - docs/source/generated/eomaps.eomaps.Maps.data_specs.rst
   - tests/baseline/test_examples.TestExamples.test_example_row_col_selector.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.get.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.OpenStreetMap.rst
   - docs/source/_static/shape_imgs/voronoi_diagram.png
   - docs/source/_static/grids/grid7.png
   - docs/source/_static/example_images/example_inset_maps.png
   - docs/FAQ.rst
   - docs/Makefile
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.physical.lakes_australia.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.get.permanent_markers.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.click.get.attached_callbacks.rst
   - docs/source/generated/eomaps.widgets.LayerRadioButtons.rst
   - docs/source/_static/example_images/example_gridlines.png
   - tests/test_env.yml
   - docs/source/generated/eomaps.callbacks.ClickCallbacks.get_values.rst
   - docs/_static/inset_maps.png
   - docs/source/_templates/only_names_in_toc.rst
   - tests/baseline/test_plot_shapes.test_shade_points_2D.png
   - eomaps/qtcompanion/icons/peek_right_active.png
   - docs/source/generated/eomaps.eomaps.Maps.util.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.OpenPlanetary.rst
   - docs/source/_static/example_images/example_overlays.gif
   - eomaps/qtcompanion/icons/peek_square_active.png
   - tests/test_plot_shapes.py
   - docs/api_companion_widget.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_1_label_points.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_vnm.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_tlc.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_ita.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.attach.highlight_geometry.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_esp.rst
   - docs/_static/minigifs/dynamic_axes_updates.gif
   - docs/source/generated/eomaps.eomaps.Maps.set_extent.rst
   - docs/source/generated/eomaps.mapsgrid.MapsGrid.set_shape.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.attach.rst
   - docs/source/examples/example_inset_maps.py
   - docs/examples/example_lines.py
   - tests/baseline/test_plot_shapes.test_contour_1D2D.png
   - tests/test_config.py
   - docs/source/generated/eomaps.eomaps.Maps.classify_specs.SCHEMES.rst
   - docs/source/generated/eomaps.eomaps.Maps.BM.add_artist.rst
   - docs/source/_static/shape_imgs/contour.png
   - docs/_static/shapes_decision_tree.png
   - docs/source/_static/minigifs/rearrange_layers.gif
   - docs/_static/data_visualization/dynamic_colorbar.gif
   - tests/test_from_file.py
   - docs/source/generated/eomaps.widgets.LayerSelectMultiple.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.move.set_execute_during_toolbar_action.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.S2_cloudless.rst
   - tests/baseline/test_plot_shapes.test_hexbin_2D.png
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.rst
   - docs/source/_static/minigifs/scalebar.gif
   - docs/source/generated/eomaps.callbacks.PickCallbacks.peek_layer.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_2_counties_scale_rank_minor_islands.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_feature.cultural.admin_0_countries_tur.rst
   - docs/source/generated/eomaps.eomaps.Maps.add_wms.ESRI_ArcGIS.rst
   - docs/source/generated/eomaps.eomaps.Maps.cb.pick.attach.get_values.rst
   - docs/source/generated/eomaps.eomaps.Maps.set_clipboard_kwargs.rst
   - docs/source/generated/eomaps.grid.GridLines.set_n.rst
For more information about what we're doing here, check out our docs:
https://docs.gitbutler.com/features/virtual-branches/integration-branch
@raphaelquast
Copy link
Owner

Hey, thank you very much for your contribution to EOmaps! Highly appreciated!

I've already been thinking about moving to the PyData theme as well for quite some time now but never managed to find the time to actually give it a try... really curious to see how the docs look with this theme!
Screenshots already look really nice!

Some initial comments from my side before I can review your changes:
I see that you have commited all the files from the API docs (e.g. files in the "generated" folder) which is why there are now 647 changed files... Those files are auto-generated by sphinx-autodoc on each build and should not be part of the source-code (they would be overwritten during the build-process anyways).

Could you please remove those files from your PR? It would make it a lot easier to review your actual changes.
(The top-level .gitighore file should actually avoid that files in the generated folder are commited... )

Also... what is the purpose of this GitButtler Integration Commit?

@raphaelquast
Copy link
Owner

Tests are currently failing due to code-style issues reported by pre-commit.

Can you please run pre-commit to auto-format your changes so that they comply with the used code-style?
You can find instructions on how to use pre-commit in the docs: contribute - style-cecking. Thanks!

@raphaelquast raphaelquast added the documentation Improvements or additions to documentation label Jul 21, 2024
@Fanchengyan
Copy link
Contributor Author

OK, I'll revise it again soon.

@Fanchengyan
Copy link
Contributor Author

It should be fine now. The documentation can be previewed at: https://eomaps--249.org.readthedocs.build/en/249/index.html

@raphaelquast
Copy link
Owner

Awesome! It looks amazing 🤩
However, the "docs/generated" folder is still part of the PR so there are still 649 changed files... can you please remove it so that the auto-generated API docs are not part of the repo? Thanks!

Once this is done I'll try to find some time as soon as possible to do a proper review of the changes to see if all looks (and works) as expected.

Again, thanks a lot for your efforts here!

@Fanchengyan
Copy link
Contributor Author

I added a commit that deleted the generated folder. The compilation of the document itself shouldn't be a major issue, but there are two problems that may need further resolution:

  1. I've only done an initial restructuring of the document, and it may need further additions/modifications to some content. For example, some newly added items in the header don't have emojis, and some section index.rst files may need additional content to guide users into specific subsections.

  2. Because the structure of the document has changed, the content in the test section may need to be updated accordingly.

@Fanchengyan
Copy link
Contributor Author

Hi @raphaelquast

I've modified the pytest code related to the docs section, and it's now running properly. There should be no issues now. This is my first pull request, so the number of iterations might be a bit high. If there are any other problems, please let me know.

@raphaelquast
Copy link
Owner

I've only done an initial restructuring of the document, and it may need further additions/modifications to some content. For example, some newly added items in the header don't have emojis, and some section index.rst files may need additional content to guide users into specific subsections.

Yes, I agree... since this is quite a major change to the appearance of the docs, there are certainly a few additional changes required to make everything look and work as expected.
However, I believe that this is a good way forward and the docs will be much easier to navigate if this is done properly (... and the dark-theme switch is nice!)

I've modified the pytest code related to the docs section, and it's now running properly. There should be no issues now.

Great, thanks!

This is my first pull request, so the number of iterations might be a bit high. If there are any other problems, please let me know.

No worries on the iterations! Good thing takes time and we're all working in our free-time here.
If we go forward with switching to the pydata-theme I definitely want to do it properly!

I am happy to assist with this PR as much as I can until it's ready to be merged!

@raphaelquast
Copy link
Owner

I did a first quick review and so far most of the chapters look OK and the overall appearance and usabilty is very nice!
Thanks again for pushing this forward!


Please remove the docs/source/api/autodoc_additional_props.rst file as well (it is also automatically created during the build-process and should not be part of the repo). After that the tests should finally succeed.


And here's a list of suggstions I think would be nice to have... let me know what you think!

  • The logo on the titlepage somehow has a white background in the dark-theme... can you make that transparent?

  • There seems to be a mixup with the sectioin header levels in the sidebar

  • Is it possible to remove the gray background color for the shapes-grid on the titlepage ?

  • The User Guide already works really nice.
    However, the sections "Installation", "Examples", "API Reference" and "FAQ" somehow act like "standalone files" with an empty "Section Navigation"... Is it possible that they are part of the section hirachy?

@raphaelquast
Copy link
Owner

... and one general question:
I see that you allow changes by maintainers for this PR. Is it OK for you if i push changes directly to this PR (e.g. the associated branch of your fork) or would you prefer if i suggest edits as separate PRs to your fork?

@Fanchengyan
Copy link
Contributor Author

I'm comfortable with both. This is my first pull request, and I'm still getting familiar with the workflow of pull requests. Currently, I'm in the process of refactoring the example section, taking inspiration from matplotlib. Once I'm done with the modifications, I'll push all the changes together.

@raphaelquast
Copy link
Owner

Ok, perfect! Dont hesitate to get in touch if you have any questions or need help!

@Fanchengyan
Copy link
Contributor Author

Hi @raphaelquast

In this version, I switched myst-sphinx-gallery from pip to conda and pinned the version to 0.2.2. This way, even if there are issues with subsequent updates, it won't affect this library. Besides, I have added two new feature to myst-sphinx-gallery in version 0.2.2:

  1. It now will print the time taken in the generation of the gallery and thumbnails. This helps to identify any performance bottlenecks in the gallery generation process.
  2. I have added a new configuration to limit the maximum number of frames for the thumbnails. This helps to reduce the total time taken to generate the gallery to about 7.5 seconds in my computer.

Additionally, I made some adjustments to the documentation style of EOmaps to make it more visually appealing:

  • Changed the default font size to 17px, since the default font size of pydata-sphinx-theme is a bit small.
  • Adjusted the gallery style for better aesthetics:
    • Added margins to thumbnails so that they don't stick to the card border.
    • Reduced the font size of the image descriptions and changed the color to black.

Finally, I still recommend using myst-sphinx-gallery because I've added many new critical features based on the previous code. For instance, previously, I just simply referenced the example images directly, which had two issues:

  1. Inconsistent image proportions: some images are very long while others are quite wide, making the page look unappealing.
  2. Large image sizes: original images are very large, which could slow down the loading speed of the gallery page quite a bit. This will be more significant when adding more examples to the gallery in the future.

myst-sphinx-gallery, however, can automatically generate thumbnails to a consistent small size (Default: (320, 224)), enhancing visual appeal and ensuring optimal page load speed. Besides, it can easily customize the appearance of the gallery and thumbnails using a variety of configuration options.

environment.yml Outdated Show resolved Hide resolved
environment.yml Outdated Show resolved Hide resolved
docs/docs_env.yml Outdated Show resolved Hide resolved
@raphaelquast
Copy link
Owner

Hey @Fanchengyan
sorry for my late response!
I'm really grateful and amazed by your work here! Nice to see that you already managed to put myst_sphinx_galery on conda-forge!

After consideration of your comments I agree that using myst_sphinx_galery provides a lot of benefits compared to the current approach and I'm happy to use it in EOmaps!

I checked your changes and added some minor comments in the code.
In addition, I noticed the following issue:

  • Your change to make the image-descriptions black does not work well with the dark-theme...
    Can you set the color to white in case the dark-theme is active?

And finally, since none of your code should affect the baseline images for the unittests, can you please remove the updates to the tests/baseline folder from the PR?

Thanks again for all your work here! The new docs look amazing!

@raphaelquast
Copy link
Owner

Oh and a design question/suggestion...
I think the emojis in the header are not particularly nice... I'd suggest to remove them. What's your opinion on this?

grafik

@raphaelquast
Copy link
Owner

Perfect! The landing-page looks much cleaner now!
From a first quick look this seems to be ready to be merged! 🥳

Any pending changes from your side still?

@Fanchengyan
Copy link
Contributor Author

This PR looks fine to me now. However, I have a broader suggestion:

Consider duplicating some key examples from the User Guide in the Example Gallery in the future. This would make it easier for users to find relevant examples quickly. In my experience with matplotlib, I often directly search in the examples rather than in the User Guide. User Guide can be linked to each example for users who need more detailed information.

@raphaelquast
Copy link
Owner

This PR looks fine to me now.

OK nice! Then I'll try my best to merge this as soon as possible and then release a new version including some other pending changes/fixes!

Consider duplicating some key examples from the User Guide in the Example Gallery in the future. This would make it easier for users to find relevant examples quickly. In my experience with matplotlib, I often directly search in the examples rather than in the User Guide. User Guide can be linked to each example for users who need more detailed information.

Yes, I fully agree on that part... I hope to find some time in the future to also extend the galery to include both more simple examples that just show a specific feature as well as extensive examples showing how far you can go with EOmaps.
The new galery is definitely a big step forward to make this a reality since the thumbnails now allow having a lot of images in the galery without slowing down the browser too much!

@raphaelquast
Copy link
Owner

Hey, I made some minor adjustments to fix remaining issues:

  • Updated dependencies to latest versions

  • Fixed remaining sphinx-build warnings

  • Fixed decrease in code-coverage due to no longer tested examples and doc-codeblocks

    All code-blocks found in the documentation that have a tag ":id: test_...." are automatically parsed and run as unittests.
    The re-structuring of the docs broke this since previously it was assumed all source files are in the same folder.
    The same is true for the examples (.py files have previously been used to auto-generate unittests for each example)
    Now a recursive glob-pattern is used to ensure all files are properly checked for codeblocks.

@raphaelquast
Copy link
Owner

I did some more re-structuring and fine-tuning of the docs:

  • Removed left/right sidebar on pages where they are not needed
  • Removed intermediate pages from the User guide in favor of a richer landing-page
  • Shortened all titles as much as possible so that most of them fit properly in the sidebars
  • Fixed some issues with the auto-generated pages for the "reader" methods
  • Re-structured the API docs landing-page a bit to make it less crowded

I think with those final changes the new docs are ready to be released!

Thanks again for all your work here! It really helped to make the docs a lot better!

@raphaelquast raphaelquast merged commit f9d9e82 into raphaelquast:dev Aug 26, 2024
9 checks passed
@raphaelquast
Copy link
Owner

Its done! 🥳
Big thanks for all your efforts here! Hope we can collaborate again in the future!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants