Bug 2032550

Summary: [RFE:EPEL9] EPEL9 branch for python-pandas
Product: [Fedora] Fedora EPEL Reporter: Pat Riehecky <riehecky>
Component: python-pandasAssignee: Jonathan Wright <jonathan>
Status: ASSIGNED --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel9CC: brett.lentz, carl, c.handel, code, cquike, dbranchini, don.fanucci, gui1ty, jonathan, josdekloe, mail, mattias.ellert, mhroncok, nnavneet1001, orion, panos.asproulis, richard.bishop, sergio.pasra, steve.traylen, tomspur
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2041315, 2081727, 2099679, 2125065, 2144662, 2144663, 2144664, 2144665, 2144666, 2144667, 2144668, 2144672, 2144673, 2144674, 2144675, 2144676, 2144677, 2144678, 2144679    
Bug Blocks: 2211202, 2309668, 2032546, 2099676, 2144670    

Description Pat Riehecky 2021-12-14 17:11:01 UTC
Description of problem:

Can python-pandas be branched for EPEL9

Version-Release number of selected component (if applicable): current fedora version


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Orion Poplawski 2021-12-15 02:30:03 UTC
No matching package to install: 'python3-matplotlib'

Comment 2 Orion Poplawski 2022-05-06 02:32:55 UTC
*** Bug 2081722 has been marked as a duplicate of this bug. ***

Comment 3 Ben Beasley 2022-05-27 18:00:34 UTC
*** Bug 2091164 has been marked as a duplicate of this bug. ***

Comment 4 Orion Poplawski 2022-07-09 02:04:37 UTC
*** Bug 2105154 has been marked as a duplicate of this bug. ***

Comment 5 Orion Poplawski 2022-11-22 14:10:24 UTC
Jonathan - I'm afraid you've made a bit of a mess of things by just going ahead and pushing the latest rawhide into the epel9 branch.  We can't package the latest due to the scipy (and possibly other) dep.  Much better from the start to just do scratch or mock builds to see what will work.

Comment 6 Jonathan Wright 2022-11-22 14:23:27 UTC
(In reply to Orion Poplawski from comment #5)
> Jonathan - I'm afraid you've made a bit of a mess of things by just going
> ahead and pushing the latest rawhide into the epel9 branch.  We can't
> package the latest due to the scipy (and possibly other) dep.  Much better
> from the start to just do scratch or mock builds to see what will work.

Yep I realized that last night after I did it.  I thought I'd done some EPEL9 builds already but I was mistaken.

I'll be getting it cleaned up.

Comment 7 Ben Beasley 2022-11-29 15:03:51 UTC
Testing https://src.fedoraproject.org/rpms/python-pandas/pull-request/13, for Pandas 1.5.2 in Rawhide:

-----

These are too old in E(PE)L9. That suggests we must work backwards to find the newest version of Pandas that supports the dependency version that is available.

No matching package to install: 'python3dist(scipy) >= 1.7.1' (available: 1.6.2)

-----

These have updates in testing for EPEL9:

No matching package to install: 'python3dist(cloudpickle) >= 0.2.1'
No matching package to install: 'python3dist(numexpr) >= 2.7.3'
No matching package to install: 'python3dist(openpyxl) >= 3.0.7'

-----

These are not yet branched and built in EPEL9:

No matching package to install: 'python3dist(bottleneck) >= 1.3.2' (bug 2081727)
No matching package to install: 'python3dist(dask)' (bug 2144663)
No matching package to install: 'python3dist(fsspec) >= 2021.7' (bug 2144664)
No matching package to install: 'python3dist(jinja2) >= 3' (bug 2144665)
No matching package to install: 'python3dist(matplotlib) >= 3.3.2' (bug 2041315)
No matching package to install: 'python3dist(odfpy) >= 1.4.1' (bug 2144667)
No matching package to install: 'python3dist(pandas-datareader)' (bug 2144670)
No matching package to install: 'python3dist(partd) >= 0.3.10' (bug 2144672)
No matching package to install: 'python3dist(pymysql) >= 1.0.2' (bug 2144673)
No matching package to install: 'python3dist(qtpy)' (bug 2125065)
No matching package to install: 'python3dist(seaborn)' (bug 2144675)
No matching package to install: 'python3dist(statsmodels)' (bug 2144676)
No matching package to install: 'python3dist(tables) >= 3.6.1' (bug 2099679)
No matching package to install: 'python3dist(xarray) >= 1.19' (bug 213112)
No matching package to install: 'python3dist(xlsxwriter) >= 1.4.3' (bug 2144678)
No matching package to install: 'python3dist(xlwt) >= 1.3' (bug 2144679)

Of these, python3dist(bottleneck) provides large speedups, so it is a hard dependency in the Fedora package. It would be best to have it available.

The rest are all optional dependencies, and their BuildRequires and Recommends can be commented out of the EPEL9 spec file until they are available.

Comment 8 Ben Beasley 2022-11-29 15:05:37 UTC
It looks like pandas 1.4.x may be the way to go for EPEL9, since it requires scipy≥1.4.1.

Comment 9 Jonathan Wright 2022-11-29 19:27:03 UTC
I'm working diligently on all the deps for EPEL9.

Comment 10 Ben Beasley 2023-01-03 05:02:29 UTC
This comment is a reminder to update the python-fastavro package in EPEL9 when python-pandas is packaged there.

https://bugzilla.redhat.com/show_bug.cgi?id=2157766#c1

Comment 11 Jonathan Wright 2023-01-18 20:51:47 UTC
*** Bug 2162126 has been marked as a duplicate of this bug. ***

Comment 12 Sandro 2023-01-19 09:33:44 UTC
(In reply to Jonathan Wright from comment #9)
> I'm working diligently on all the deps for EPEL9.

Is there anything I can help with? Is the dependency list below c#1 what still needs to be branched to el9? Or is there more?

Comment 13 Jonathan Wright 2023-01-19 18:08:25 UTC
(In reply to Sandro from comment #12)
> (In reply to Jonathan Wright from comment #9)
> > I'm working diligently on all the deps for EPEL9.
> 
> Is there anything I can help with? Is the dependency list below c#1 what
> still needs to be branched to el9? Or is there more?

Really only if you're a maintainer of some of the dependent packages.

I think I've mostly got the entire dep tree documented and requests open so I'm waiting on people to do builds and/or for time limits to hit so I can request EPEL branch access to the packages.  If you want to help me stay on top of all of these other BZs for the deps that'd be helpful.

Comment 14 Pat Riehecky 2023-01-19 19:49:23 UTC
Eventually we'll have to have a plan for `jinja2>=3.0.0` as the most recent releases require the higher jinja2 version

https://bugzilla.redhat.com/show_bug.cgi?id=2153843

Comment 15 Miro Hrončok 2023-01-25 13:17:38 UTC
Upgrading jinja in RHEL9 is very unlikely to be allowed, see bz2153843.

If you folks want to branch and build python-pandas for EPEL9, you have the following options:

 - package an older version of pandas that works with the older version of jinja
 - patch current pandas to work with the older version of jinja
 - patch pandas to use a bundled version of jinja (please don't)
 - package pandas, jinja, and the entire stack you care about for Python 3.11 instead (to be available in c9s soon)

Comment 16 Carl George 🤠 2023-02-11 05:33:11 UTC
> These are not yet branched and built in EPEL9:
> 
> No matching package to install: 'python3dist(jinja2) >= 3' (bug 2144665)
> ...
> No matching package to install: 'python3dist(pymysql) >= 1.0.2' (bug 2144673)

Both of these are in RHEL 9 AppStream (at lower versions) so they cannot be branched for EPEL 9.

Comment 17 Sergio Pascual 2023-07-10 11:49:15 UTC
Regarding python-pandas-datareader, this package has a dependency on pandas, so it cannot be built until a first version of pandas is available.

Comment 18 Enrique 2023-10-21 12:01:19 UTC
I have tried to get a pandas 1.2.5 RPM in EPEL9 with the following command:

mock -r alma+epel-9-x64_64 --rebuild python-pandas-1.2.5-1.el9.src.rpm

The SRPM was created from the f34 branch in https://src.fedoraproject.org/rpms/python-pandas 

The RPM creates successfully with the existing dependencies in EPEL 9, installs correctly and I could run the pandas tutorial (https://pandas.pydata.org/docs/user_guide/10min.html) successfully.

I know this is a relatively old version of pandas (2.5 years), but getting this now in EPEL 9 is straightforward and gives a quick way to get it into EPEL 9. It looks like the problem with jinja2 in newer versions is kind of difficult to overcome.

Other option is to install pandas without the [output_formatting] option (https://pandas.pydata.org/docs/getting_started/install.html#visualization), which seems to be the only part that depends on jinja2, but I have not tried that option.

Comment 19 Sergio Pascual 2023-11-01 18:29:49 UTC
Seaborn has a hard dependency on pandas so it can't be built until this is out. In this bug is listed as a dependency instead.