[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

pandas: Python 2 removal, 0.23 -> 0.25 transition



Python 3.8 is being added (#942106). pandas <0.25 does not support Python 3.8[0] (when Ubuntu tried they got 268 test failures [1]), while pandas>=0.25 does not support Python 2.

Hence, our options are:
(a) Remove python-pandas and upgrade pandas to 0.25
(b) Split pandas into two source packages (like matplotlib) so we can have python-pandas 0.23 and python3-pandas 0.25
(c) Let pandas be broken on 3.8 for now
I currently favour (a), but this is still open for discussion.

pandas is currently in a big strongly connected component [2], but it looks possible to cut it out of that tangle without actually breaking anything, by removing these 2 build-dependencies:
matplotlib2 (only uses pandas in examples/tests)
python-apptools (only uses pandas in H5TableNode which (according to codesearch) nothing uses)

This leaves the following needing to drop Python 2 before pandas can:

Already supports Python 3:
bcolz
mdp
patsy
python-biom-format
scikit-learn
statsmodels (my package, will deal with it when its dependencies are cleared)

Need a new upstream version to support Python 3:
metaphlan2
psychopy
pymvpa2 (upstream say they don't test this, but the package already fails its tests)
stimfit
tnseq-transit (needs new dependency pypubsub, in NEW)

Also, the move from pandas 0.23 to 0.25 involves API changes [3], and hence may break some reverse dependencies. I haven't tested this yet, but if you maintain a pandas reverse dependency that has a newer upstream version available, this might be a good time to package it.

To simplify such testing, I hope to upload pandas 0.25 to experimental today.

[0] https://github.com/pandas-dev/pandas/issues/29043
[1] https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/amd64/p/pandas/20191024_181815_7c017@/log.gz [2] https://lists.debian.org/debian-python/2019/10/msg00092.html (not quite that big since we started ignoring Suggests, but still not something to remove just yet)
[3] https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html#release


Reply to: