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

Optimize dependency management and installation #216

Merged
merged 14 commits into from
Jan 2, 2024
Merged

Conversation

raphaelquast
Copy link
Owner

@raphaelquast raphaelquast commented Dec 19, 2023

Response to PyOpenSci Review comments (pyOpenSci/software-submission#138)

TODOs


⚠️ Major changes to pip install

Dependency management for EOmaps has been improved to split between required and optional dependencies.

❗Using pip install eomaps now only installs the bare minimum requirements to run EOmaps.

The following optional dependency groups can be used to activate additional features and functionalities:

  • pip install eomaps[all]
    • install all optional dependencies (this was the default for EOmaps < v8.0)
  • pip install eomaps[all_nogui]
    • install all optional dependencies except for PyQt5 (and qtpy)
  • pip install eomaps[wms]
    • add support for WebMap services
  • pip install eomaps[io]
    • add io support for pandas, xarray, geopandas and rioxarray
  • pip install eomaps[classify]
    • add capabilities to classify datasets prior to plotting (via mapclassify)
  • pip install eomaps[shade]
    • add data-shading capabilities to visualize extremely large datasets (via datashader)
  • pip install eomaps[gui]
    • add support for the Qt GUI framework (required for the CompanionWidget and matplotlib's QtAgg backend)

🌦️ Changes

  • ❗Installation config is now provided as a pyproject.toml file (instead of setup.py)
  • ❗Supported python version is now >=3.8
  • _version.py has been removed. The version is now specified in the [project] category of the pyproject.toml file.
  • Actions now use micromamba to setup (and cache) test environments

🔨 Fixes

  • Avoid blocking the terminal in unittests for jupyter notebooks

@raphaelquast raphaelquast changed the base branch from master to dev December 19, 2023 14:39
This was referenced Dec 19, 2023
This was linked to issues Dec 19, 2023
Copy link

codecov bot commented Dec 19, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (2aeb6a3) 75.58% compared to head (5aeee73) 76.71%.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev     #216      +/-   ##
==========================================
+ Coverage   75.58%   76.71%   +1.12%     
==========================================
  Files          24       23       -1     
  Lines       11154    11155       +1     
==========================================
+ Hits         8431     8557     +126     
+ Misses       2723     2598     -125     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

- single-source version number to pyproject.toml
- implement optional dependency groups
@raphaelquast raphaelquast linked an issue Dec 30, 2023 that may be closed by this pull request
@raphaelquast raphaelquast merged commit 3313346 into dev Jan 2, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant