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

Update pandas requirements #118

Merged
merged 3 commits into from Jan 4, 2022
Merged

Update pandas requirements #118

merged 3 commits into from Jan 4, 2022

Conversation

kandersolar
Copy link
Member

Description

This PR updates the requirements spec to prohibit pandas==1.1.*. I figured there was little point in cooking up a workaround that works on all pandas versions because there were only ~6 months between 1.0.5 and 1.2.0 and it's been about a year since 1.2.0 was released.

I tested a range of pandas versions locally (windows) before opening this PR and include the results for reference:

  • pandas==1.1.0: access violation/segfault
  • pandas>=1.1.1,<=1.1.5: test failure
  • pandas>=1.2.0: pass

Checklist

  • Closes Support pandas >= 1.1.0 #82
  • Added new API functions to docs/api.rst
  • Clearly documented all new API functions with PEP257 and numpydoc compliant docstrings
  • Adds description and name entries in the appropriate "what's new" file
    in docs/whatsnew
    for all changes. Includes link to the GitHub Issue with :issue:`num`
    or this Pull Request with :pull:`num`. Includes contributor name
    and/or GitHub username (link with :ghuser:`user`).
  • Non-API functions clearly documented with docstrings or comments as necessary
  • Added tests to cover all new or modified code
  • Pull request is nearly complete and ready for detailed review

@kandersolar kandersolar added the dependency Issues relating to dependencies or dependency management label Dec 14, 2021
@@ -7,7 +7,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
os: [ubuntu-latest, macos-10.15, windows-latest] # macos-latest does not have py3.6
Copy link
Member Author

Choose a reason for hiding this comment

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

This has nothing to do with the pandas change; it's because macos-latest recently changed to macos 11 instead of macos 10, and they dropped python 3.6 in macos 11. That made the 3.6 test fail here because this is the first PR since the change. See the table here: actions/runner-images#4060.

We might consider dropping python 3.6 from testing though as it is slated to reach EOL in a week or two: https://devguide.python.org/#status-of-python-branches

Copy link
Member

Choose a reason for hiding this comment

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

+1 to dropping support for python 3.6. I'm OK to do that in this PR if it simplifies the pandas requirement.

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think dropping 3.6 changes anything for the pandas requirement. pvanalytics's current minimum (0.24.0) supports python 3.7, so dropping 3.6 is not itself an excuse to bump our minimum and skip over the problematic 1.1.x series.

@wfvining
Copy link
Collaborator

Do you think we want to prohibit pandas 1.1 across the board? It's just a few functions that depend on the rolling groupby functionality. I'd kind of like to just add a guard in front of those functions that causes an error if the 1.1.x is installed (or issues a warning), but I'm not sure of the added maintenance burden on that approach.

@kandersolar
Copy link
Member Author

Normally I'd also support doing a little gymnastics to not drop support unnecessarily, so I wouldn't object to some kind of function-level version check here. RdTools has its own set of pandas restrictions (link), so that's another motivator, at least to the extent that we want pvanalytics and RdTools to be used in tandem.

@cwhanse
Copy link
Member

cwhanse commented Dec 17, 2021

I say we merge this for v0.2 and add an issue to drop support for py36 and pandas<1.2 in v0.3.

@cwhanse cwhanse added this to the v0.2 milestone Jan 4, 2022
@cwhanse cwhanse merged commit e9fdd5a into pvlib:master Jan 4, 2022
@cwhanse
Copy link
Member

cwhanse commented Jan 4, 2022

Thanks @kanderso-nrel

@kandersolar kandersolar deleted the pandas branch January 4, 2022 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependency Issues relating to dependencies or dependency management
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support pandas >= 1.1.0
3 participants