ydata-profiling icon indicating copy to clipboard operation
ydata-profiling copied to clipboard

Python 3.13 support

Open chrisemke opened this issue 10 months ago • 13 comments

there's any plan of supporting python 3.13?

I recently started updating 2 projects that used Python 3.8 to the latest Python, but I had to stick to version 3.12 because of this library, so I would like to know about the plans or any roadmap to support 3.13

I only found this issues related:

https://github.com/ydataai/ydata-profiling/issues/1419 https://github.com/ydataai/ydata-profiling/issues/1675

chrisemke avatar Jan 29 '25 13:01 chrisemke

Hi @chrisemke ,

We don’t have a specific date yet. Earlier this year, we evaluated the possibility of adding support for Python 3.13 but found that many of our dependencies have not yet been updated to support it.

Since Python 3.12 will be supported until at least 2029, we believe that maintaining compatibility up to 3.12 ensures stability for our users without any immediate drawbacks.

That said, we’re keeping an eye on the ecosystem and will provide updates in the coming weeks as more information becomes available.

fabclmnt avatar Feb 06 '25 18:02 fabclmnt

Adding a note: https://github.com/ydataai/ydata-profiling/pull/1704

afeld avatar Feb 21 '25 23:02 afeld

Regarding this topic, I added some updates for htmlmin, considering it's been years since that repository is not updated. Feel free to use the changes here, I have 70% test coverage.

And if you want to go directly to the fix, there's this PR open there.

Edit: It's now on pypi

tatianass avatar Mar 09 '25 02:03 tatianass

Hey group. running into dependency drama on Python 3.12. I am running with Pixi package manger from the devs @ prefix.dev. Really cool tool. Anyone know the backend stack for ydata. I tried installing ydata-sdk to maybe build something on the backend I can maybe gift to the Python community. Really cool development going on here no less.

Robert

rcghpge avatar Jul 11 '25 14:07 rcghpge

Since Python 3.12 will be supported until at least 2029, we believe that maintaining compatibility up to 3.12 ensures stability for our users without any immediate drawbacks.

Please update this library to support Python 3.13. It's a real problem when a library doesn't work with the standard released version of Python.

I've used and promoted your library in my online course, and I'm now getting a lot of complaints that this library doesn't work with the latest Python version. All users have to downgrade to Python 3.12 to use it.

I chose your library and promoted it in my course because it appeared seriously stable and well-supported (while many others didn't look that way). You know, Python 3.13 has been here for almost a year, so it's nothing new, and it's now widely distributed around the world to thousands of users through the Anaconda distribution. Anyone who wants to use your library just encounters errors. This creates a really poor first-time experience with the library and is somewhat embarrassing for such a widely-known library with a good reputation.

In the current situation, this awesome library appears completely unsupported and obsolete. It would be great if you could make it work and get the library back into good shape again.

@fabclmnt

stefansimik avatar Aug 14 '25 21:08 stefansimik

Assuming I install e.g. htmlmin2 or htmlmin4 or some other variant of htmlmin that supports Python 3.13 (along with the other dependencies), would it work to ignore the Python restriction and install this package like this?:

$ python3 -m pip install --ignore-requires-python --no-deps ydata-profiling

ecederstrand avatar Aug 21 '25 12:08 ecederstrand

Hi team,

I’ve opened a PR that updates the dependencies to support Python 3.13 installation.

Right now, I’m waiting on the GitHub Actions PyTests to finish running as the final validation step. Please feel free to review/comment on the following PR https://github.com/ydataai/ydata-profiling/pull/1778 .

Edit: @fabclmnt if you could allow the tests to begin, that would be greatly appreciated!

WilliamJudge94 avatar Sep 10 '25 20:09 WilliamJudge94

I also failed to install with Python 3.13 and uv: I got the lines:

× Failed to build htmlmin==0.1.12

int: This error likely indicates that [email protected] depends on cgi, but doesn't declare it as a build dependency. If htmlmin is a first-party package, consider adding cgi to its build-system.requires. Otherwise, either add it to your pyproject.toml under:

  [tool.uv.extra-build-dependencies]
  htmlmin = ["cgi"]

  or `uv pip install cgi` into the environment and re-run with `--no-build isolation`.

help: If you want to add the package regardless of the failed resolution, provide the --frozen flag to skip locking and syncing. Is there a beta or branch, that already can be installed/tested?

sehHeiden avatar Sep 27 '25 14:09 sehHeiden

@sehHeiden, which version of ydata-profiling are you trying to install? htmlmin should have been removed in v4.17.0. This was updated in PR https://github.com/ydataai/ydata-profiling/pull/1778. In addition, the pre-merge checks showed the installation works for Python 3.9 - 3.13 https://github.com/ydataai/ydata-profiling/pull/1778/checks

WilliamJudge94 avatar Sep 27 '25 15:09 WilliamJudge94

Before your answer, I used:

uv add --group local ydata-profiling With the group local is used, for all the stuff to large for ci/cd.

After your message, I tried to pin the version.

I got a resolving error, which was new. Hence, I assumed older versions where tried, because of this?

× No solution found when resolving dependencies: ╰─▶ Because ydata-profiling==4.17.0 depends on numba>=0.56.0,<=0.61 and only ydata-profiling<=4.17.0 is available, we can conclude that ydata-profiling>=4.17.0 depends on numba>=0.56.0,<=0.61. And because masterarbeit:local depends on numba>=0.61.2, we can conclude that masterarbeit:local and ydata-profiling>=4.17.0 are incompatible. And because masterarbeit:local depends on ydata-profiling>=4.17 and your project requires masterarbeit:local, we can conclude that your project's requirements are unsatisfiable. help: If you want to add the package regardless of the failed resolution, provide the --frozen flag to skip locking and syncing.

To be honest, this behavior is new to me, I did not know, that the patch version, could create this problem, when you use this syntax numba>=0.56.0,<=0.61

sehHeiden avatar Sep 27 '25 16:09 sehHeiden

package masterarbeit require numba>=0.61.2 but ydata-profiling require <=0.61... it's not gonna works.... If you can, you need restrict usage of numba to 0.61... there is no other way,

emcek avatar Sep 27 '25 18:09 emcek

@sehHeiden It appears that masterarbeit:local depends on numba>=0.61.2, while ydata-profiling requires numba<=0.61.0. Please note that masterarbeit:local is not a dependency of ydata-profiling. This conflict seems to stem from your local environment rather than Python 3.13 itself.

If you believe there is an issue with installing ydata-profiling on Python 3.13, please:

  1. Create a fresh Python 3.13 environment and install ydata-profiling v4.17.0.
  2. Capture and share the full error message.
  3. Document your complete installation steps and error messages in a new issue.

WilliamJudge94 avatar Sep 27 '25 22:09 WilliamJudge94

@jankaWIS that the package I am currently developing. So got that fixed easily. The thing is that numba and numpy versions need to fit.

What Iw antrd to express is that, the way the version was set in Data-Profiling my higher patch version of numba would not make a problem, but it did. Perhaps that's also important for you to know.

sehHeiden avatar Sep 28 '25 09:09 sehHeiden