Skip to content

Conversation

hoxbro
Copy link
Member

@hoxbro hoxbro commented May 30, 2024

Updates required dependencies:
Numpy 1.0 --> 1.21
Pandas 0.20.0 --> 1.3
Bokeh (moved up from recommended)

Updates recommended dependencies:
Removed notebook and IPython.
Moved Bokeh up to required.

@hoxbro hoxbro requested review from philippjfr and maximlt May 30, 2024 13:23
@hoxbro hoxbro added the type: maintenance infrastructure and maintenance of CI label May 30, 2024
Copy link
Member

@maximlt maximlt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To make it easier to understand the consequences of this change:

dependencies = [
    "param >=2.0,<3.0",
    "numpy >=1.0",
    "pyviz_comms >=2.1",
    "panel >=1.0",
    "colorcet",
    "packaging",
    "pandas >=0.20.0",
]
recommended = ["ipython >=5.4.0", "notebook", "matplotlib >=3", "bokeh >=3.1", "plotly >=4.0"]

Compared with what's on conda-forge:

  run:
    - python >=3.9
    - param >=1.12.0,<3.0
    - panel >=1.0
    - numpy >=1.0
    - pandas >=0.20.0
    - matplotlib-base >=3.0
    - bokeh >=3.1
    - colorcet
    - pyviz_comms >=0.7.4
    - packaging

And defaults:

  run:
    - python
    - colorcet
    - numpy >=1.0
    - packaging
    - panel >=1.0
    - pandas >=0.20.0
    - param >=1.12.0,<3.0
    - pyviz_comms >=0.7.4
    - matplotlib-base >=3
  • I'd vote for aligning the runtime dependencies defined on these three channels.
  • I care less about the pyviz channel, in fact I hope we could retire it in some way, only pyviz/label/dev seems useful these days. We should certainly remove references to the -c pyviz channel in the docs. Yet, removing/updating the recommended packages is a breaking change for users of this channel, so I'd motivate a change there by the goal of aligning the deps across the channels, rather than the intent to gain a few seconds on the CI.

@hoxbro
Copy link
Member Author

hoxbro commented May 30, 2024

goal of aligning the deps across the channels, rather than the intent to gain a few seconds on the CI.

Users are also affected by this. We pull in a big dependency that we don't use. I just noticed it is because of our CI.

For alignment, I would propose these as required dependencies.

bokeh >=3.1
colorcet
numpy >=1.0
packaging
pandas >=0.20.0
panel >=1.0
param >=2.0,<3.0
pyviz_comms >=2.1

Maybe even bump the lower pin of pandas and numpy to something released in the last 3-5 years, or even remove them as they are so low it doesn't matter.

(numpy 1.0 was released 25th October 2006, pandas 0.20.0 was released 5th May 2017)

@hoxbro hoxbro force-pushed the remove_optional branch from 06cfd68 to 1d35b8c Compare June 3, 2024 13:00
Comment on lines +35 to +37
"numpy >=1.21",
"packaging",
"pandas >=0.20.0",
"pandas >=1.3",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pandas and numpy versions were changed to the first minor version with a micro release after Python 3.10 was released.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pandas and Numpy of these versions were released 3 years ago in June/July, this looks fine to me.

@hoxbro hoxbro changed the title Remove recommended dependencies from conda build Update dependencies Jun 3, 2024
Copy link

codecov bot commented Jun 3, 2024

Codecov Report

Attention: Patch coverage is 90.90909% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 88.49%. Comparing base (f39e0a0) to head (2ef8690).
Report is 1 commits behind head on main.

Files Patch % Lines
holoviews/plotting/renderer.py 50.00% 2 Missing ⚠️
holoviews/core/util.py 95.65% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6253      +/-   ##
==========================================
+ Coverage   88.48%   88.49%   +0.01%     
==========================================
  Files         323      323              
  Lines       67640    67599      -41     
==========================================
- Hits        59848    59825      -23     
+ Misses       7792     7774      -18     

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

@hoxbro hoxbro requested a review from maximlt June 3, 2024 14:40
@hoxbro hoxbro added this to the 1.19.0 milestone Jun 3, 2024
Copy link
Member

@maximlt maximlt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. You may want to list the versions bumped and packages removed from recommended in the original post, to make it easier to write the release notes.

Comment on lines +35 to +37
"numpy >=1.21",
"packaging",
"pandas >=0.20.0",
"pandas >=1.3",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pandas and Numpy of these versions were released 3 years ago in June/July, this looks fine to me.

Copy link
Member

@philippjfr philippjfr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fully on board with this.

@hoxbro hoxbro merged commit 9cc87fe into main Jun 5, 2024
@hoxbro hoxbro deleted the remove_optional branch June 5, 2024 08:48
Copy link

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: maintenance infrastructure and maintenance of CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants