Skip to content

Cap pandas to 2.x and clean up unused dependencies - #94

Merged
sbesson merged 5 commits into
ome:masterfrom
sbesson:pandas2
Aug 10, 2026
Merged

sbesson merged 5 commits into
ome:masterfrom
sbesson:pandas2

Conversation

@sbesson

@sbesson sbesson commented Aug 5, 2026

Copy link
Copy Markdown
Member

Fixes #93

  • caps pandas to 2.x - the support of Pandas 3.x will need to be evaluated separately
  • removes the unused Jinja2 and PyYAML dependencies - probably a legacy from the old population code in omero-py
  • bumps the minimum version of Python to 3.10. Pandas 2.x mandates Python 3.8+ but 3.8 and 3.9 are already EOL

@sbesson sbesson closed this Aug 5, 2026
@sbesson sbesson reopened this Aug 5, 2026
@sbesson sbesson changed the title Pandas2 Cap pandas to 2.x and clean up unused dependencies Aug 5, 2026
@muhanadz

muhanadz commented Aug 6, 2026

Copy link
Copy Markdown
Member

Looks good to me.

Tested in a fresh venv. Without PR:

((venv) ) ➜  omero-metadata git:(master) ✗ pip install /Users/muhanad/Glencoe/omero-metadata/dist/omero_metadata-0.13.1.dev0-py3-none-any.whl
...
...
Installing collected packages: appdirs, urllib3, six, PyYAML, portalocker, Pillow, numpy, MarkupSafe, idna, future, charset_normalizer, certifi, requests, python-dateutil, jinja2, pandas, omero-py, omero-metadata
Successfully installed MarkupSafe-3.0.3 Pillow-12.3.0 PyYAML-6.0.3 appdirs-1.4.4 certifi-2026.7.22 charset_normalizer-3.4.9 future-1.0.0 idna-3.18 jinja2-3.1.6 numpy-2.5.1 omero-metadata-0.13.1.dev0 omero-py-5.23.0 pandas-3.0.5 portalocker-4.1.0 python-dateutil-2.9.0.post0 requests-2.34.2 six-1.17.0 urllib3-2.7.0


((venv) ) ➜  omero-metadata git:(master) ✗ pip list |grep pandas    
pandas             3.0.5

With PR:

((venv) ) ➜  omero-metadata git:(pandas2) ✗ pip install /Users/muhanad/Glencoe/omero-metadata/dist/omero_metadata-0.13.1.dev0-py3-none-any.whl
...
...
...
Installing collected packages: pytz, appdirs, urllib3, tzdata, six, PyYAML, portalocker, Pillow, numpy, idna, future, charset_normalizer, certifi, requests, python-dateutil, pandas, omero-py, omero-metadata
Successfully installed Pillow-12.3.0 PyYAML-6.0.3 appdirs-1.4.4 certifi-2026.7.22 charset_normalizer-3.4.9 future-1.0.0 idna-3.18 numpy-2.5.1 omero-metadata-0.13.1.dev0 omero-py-5.23.0 pandas-2.3.3 portalocker-4.1.0 python-dateutil-2.9.0.post0 pytz-2026.3.post1 requests-2.34.2 six-1.17.0 tzdata-2026.3 urllib3-2.7.0

((venv) ) ➜  omero-metadata git:(pandas2) ✗ pip list |grep pandas
pandas             2.3.3

@muhanadz
muhanadz self-requested a review August 6, 2026 16:47
@sbesson

sbesson commented Aug 6, 2026

Copy link
Copy Markdown
Member Author

Thanks @muhanadz, I would be inclined to schedule a release of omero-metadata with this fix so that the issues with Pandas 3.x do no start creeping up into production. This should probably be released as 0.14.0 to communicate the changes in minimal Python version.

Is there anything else in https://github.com/ome/omero-metadata/pulls that should be considered for review and inclusion alongside this fix?

@sbesson

sbesson commented Aug 10, 2026

Copy link
Copy Markdown
Member Author

On second thoughts, the weekly OMERO integration workflow has been reactivated and is now consistently failing due to the incompatibility of the current state of the library with Pandas 3.x which is installed by default in a fresh environment - see https://github.com/ome/omero-metadata/actions/runs/31289021208.

Merging this in order to prepare a release that restores compatibility. I have also manually created a series of GitHub releases for each tag since 0.1.0 consistently with other OME repositories. I will open a follow-up PR to delete the manually maintained changelog and extend the release workflow to create the GitHub release automatically before tagging 0.14.0

@sbesson
sbesson merged commit eda0496 into ome:master Aug 10, 2026
1 of 2 checks passed
@sbesson
sbesson deleted the pandas2 branch August 10, 2026 07:23
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.

MetadataControl.detect_headers() drops string columns with pandas 3

2 participants