kedro-org / kedro

Kedro is a toolbox for production-ready data science. It uses software engineering best practices to help you create data engineering and data science pipelines that are reproducible, maintainable, and modular.
https://kedro.org
Apache License 2.0
9.88k stars 895 forks source link

Upgrade Pluggy depdendency version (<1.4) - Preventing upgrade of Pytest 8.1 that requires pluggy >=1.4 #3763

Closed rxm7706 closed 4 months ago

rxm7706 commented 6 months ago

Description

Kedro currently pins Pluggy to >=1.0,<1.4 https://github.com/kedro-org/kedro/pull/3574 which was pinned because it broke tests https://github.com/kedro-org/kedro/pull/3552

This is currently preventing upgrade of pytest - as pytest 8.1 requires pluggy >=1.4,<2.0

Context

Steps to Reproduce

Expected Result

Actual Result

-- If you received an error, place it here.
-- Separate them if you have more than one.

Your Environment

noklam commented 5 months ago

Created a draft PR to see what breaks pluggy. Curious if there is any goodies for pytest 8.0? We are still on <8.0. https://github.com/kedro-org/kedro/pull/3786

antonymilne commented 5 months ago

Just to add another data point here. I was also tripped up by this when running vizro tests which use pytest and have kedro as a dependency.

noklam commented 5 months ago

@antonymilne the dependency is removed already. I think we may have accidentally pin pytest as core dependencies in some version, it should be test dependencies only.

antonymilne commented 5 months ago

@noklam the problem is with the kedro's dependence onpluggy, not the dependency on pytest. But it seems to be fixed here 🙂 https://github.com/kedro-org/kedro/pull/3840

noklam commented 5 months ago

@antonymilne Sorry I mean to say pluggy but yeah the pin was removed.

Before the new pluggy release it was necessary to pin it as test dependencies as it breaks certain API that we mock

noklam commented 4 months ago

Fixed by #3840 already