rs-station / reciprocalspaceship

Tools for exploring reciprocal space
https://rs-station.github.io/reciprocalspaceship/
MIT License
28 stars 11 forks source link

Update dependency pandas to v2 #211

Closed renovate[bot] closed 11 months ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
pandas >=1.2.0, <=1.4.4 -> >=1.2.0, <=2.0.3 age adoption passing confidence

Release Notes

pandas-dev/pandas (pandas) ### [`v2.0.3`](https://togithub.com/pandas-dev/pandas/releases/tag/v2.0.3): Pandas 2.0.3 [Compare Source](https://togithub.com/pandas-dev/pandas/compare/v2.0.2...v2.0.3) This is a patch release in the 2.0.x series and includes some regression and bug fixes. We recommend that all users upgrade to this version. See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/2.0.3/whatsnew/v2.0.3.html) for a list of all the changes. The release will be available on the defaults and conda-forge channels: conda install pandas Or via PyPI: python3 -m pip install --upgrade pandas Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues). Thanks to all the contributors who made this release possible. ### [`v2.0.2`](https://togithub.com/pandas-dev/pandas/releases/tag/v2.0.2): Pandas 2.0.2 [Compare Source](https://togithub.com/pandas-dev/pandas/compare/v2.0.1...v2.0.2) This is a patch release in the 2.0.x series and includes some regression and bug fixes. We recommend that all users upgrade to this version. See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/2.0.2/whatsnew/v2.0.2.html) for a list of all the changes. The release will be available on the defaults and conda-forge channels: conda install pandas Or via PyPI: python3 -m pip install --upgrade pandas Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues). Thanks to all the contributors who made this release possible. ### [`v2.0.1`](https://togithub.com/pandas-dev/pandas/releases/tag/v2.0.1): Pandas 2.0.1 [Compare Source](https://togithub.com/pandas-dev/pandas/compare/v2.0.0...v2.0.1) This is a patch release in the 2.0.x series and includes some regression and bug fixes. We recommend that all users upgrade to this version. See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/2.0.1/whatsnew/v2.0.1.html) for a list of all the changes. The release will be available on the defaults and conda-forge channels: conda install pandas Or via PyPI: python3 -m pip install --upgrade pandas Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues). Thanks to all the contributors who made this release possible. ### [`v2.0.0`](https://togithub.com/pandas-dev/pandas/releases/tag/v2.0.0): Pandas 2.0.0 [Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.5.3...v2.0.0) We are pleased to announce the release of pandas 2.0.0, a major release from the pandas 1 series. This release includes some new features, bug fixes, and performance improvements, as well as possible breaking changes. It is recommended that users with existing code upgrade to pandas 1.5.3 before they upgrade to pandas 2, and make sure their code does not generate FutureWarning or DeprecationWarning messages. See the [whatsnew][0] for a list of all the changes. The release will be available on conda-forge and PyPI. The release can be installed from PyPI python -m pip install --upgrade pandas==2.0.0 Or from conda-forge mamba install -c conda-forge pandas==2.0.0 Please report any issues with the release candidate on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues/new/choose). [0]: https://pandas.pydata.org/pandas-docs/version/2.0/whatsnew/v2.0.0.html ### [`v1.5.3`](https://togithub.com/pandas-dev/pandas/releases/tag/v1.5.3): Pandas 1.5.3 [Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.5.2...v1.5.3) This is a patch release in the 1.5.x series and includes some regression and bug fixes. We recommend that all users upgrade to this version. See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.5.3/whatsnew/v1.5.3.html) for a list of all the changes. The release will be available on the defaults and conda-forge channels: conda install pandas Or via PyPI: python3 -m pip install --upgrade pandas Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues). Thanks to all the contributors who made this release possible. ### [`v1.5.2`](https://togithub.com/pandas-dev/pandas/releases/tag/v1.5.2): Pandas 1.5.2 [Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.5.1...v1.5.2) This is a patch release in the 1.5.x series and includes some regression and bug fixes. We recommend that all users upgrade to this version. See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.5.2/whatsnew/v1.5.2.html) for a list of all the changes. The release will be available on the defaults and conda-forge channels: conda install pandas Or via PyPI: python3 -m pip install --upgrade pandas Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues). Thanks to all the contributors who made this release possible. ### [`v1.5.1`](https://togithub.com/pandas-dev/pandas/releases/tag/v1.5.1): Pandas 1.5.1 [Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.5.0...v1.5.1) This is a patch release in the 1.5.x series and includes some regression and bug fixes. We recommend that all users upgrade to this version. See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.5.1/whatsnew/v1.5.1.html) for a list of all the changes. The release will be available on the defaults and conda-forge channels: conda install pandas Or via PyPI: python3 -m pip install --upgrade pandas Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues). Thanks to all the contributors who made this release possible. ### [`v1.5.0`](https://togithub.com/pandas-dev/pandas/releases/tag/v1.5.0): Pandas 1.5.0 [Compare Source](https://togithub.com/pandas-dev/pandas/compare/v1.4.4...v1.5.0) This release includes some new features, bug fixes, and performance improvements. We recommend that all users upgrade to this version. See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/1.5.0/whatsnew/v1.5.0.html) for a list of all the changes. pandas 1.5.0 supports Python 3.8 and higher. The release will be available on the defaults and conda-forge channels: `conda install -c conda-forge pandas` Or via PyPI: `python3 -m pip install --upgrade pandas` Please report any issues with the release on the [pandas issue tracker](https://togithub.com/pandas-dev/pandas/issues).

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.

renovate[bot] commented 12 months ago

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.

codecov-commenter commented 12 months ago

Codecov Report

Merging #211 (0a1f327) into main (859e75c) will decrease coverage by 6.02%. Report is 2 commits behind head on main. The diff coverage is 83.15%.

@@            Coverage Diff             @@
##             main     #211      +/-   ##
==========================================
- Coverage   98.39%   92.38%   -6.02%     
==========================================
  Files          45       37       -8     
  Lines        1803     2428     +625     
==========================================
+ Hits         1774     2243     +469     
- Misses         29      185     +156     
Flag Coverage Δ
unittests 92.38% <83.15%> (-6.02%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed Coverage Δ
reciprocalspaceship/dtypes/internals.py 72.55% <72.55%> (ø)
reciprocalspaceship/dtypes/base.py 89.47% <88.23%> (-5.27%) :arrow_down:
reciprocalspaceship/dtypes/integer.py 92.26% <92.26%> (ø)
reciprocalspaceship/dtypes/floating.py 95.23% <95.23%> (ø)
reciprocalspaceship/dataset.py 98.26% <100.00%> (+<0.01%) :arrow_up:
reciprocalspaceship/dtypes/__init__.py 100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

JBGreisman commented 12 months ago

This PR includes a refactor of the dtypes used to implement persistent MTZ column types. Previously, we had directly subclassed pd.Int32Dtype and pd.Float32Dtype for each of these column types; however, this was never quite a supported use of these pandas dtypes and the interface was broken by the recent pandas updates.

Here, we implement our own versions of MTZInt32Dtype and MTZFloat32Dtype using the same "masked array" implementation used by pandas. These are then subclassed further to support each of the individual MTZ column types. The base "masked arrays" are largely copied from pandas, with some modifications to support our specific use cases. Although this design choice adds more code to be maintained in rs, I believe this choice should improve the stability of the library to internal changes in pandas.

I think this PR should be used instead of #185. This is a larger change than was needed to address #185, but this update will lead to improved compatibility with more pandas versions (v1.4.0-2.0.3 here; vs. v1.5.0-1.5.3 in #185)