Closed Zethson closed 1 year ago
I believe this is currently limited by the dependency on autogluon-core
and autogluon-tabular
which pins networkx<3.0
. See here https://github.com/autogluon/autogluon/blob/331908824b863771b0df607d32ea1d7f68eb63d3/core/src/autogluon/core/_setup_utils.py#L28.
Shouldn't the dependency to autogluon
be optional since the gcm
subpackage is experimental? That seems to be the intent here: https://github.com/py-why/dowhy/pull/786
And if the dependency is optional this means that networkx
can be allowed to be >= 3
.
Poetry still checks for compatibility I thought. Even for extra dependencies. This also seems to prevent https://github.com/py-why/dowhy/issues/936
Poetry checks for compatibility given the version ranges it's being provided. So, if you try installing dowhy
without the autogluon
extra and not using a lock file it will install a 3.x version of networkx
.
@lgautier's #954 is addressing this but I think @amit-sharma has an open question in the conversation for @lgautier (much appreciated @lgautier !)
@n8sty when creating the lock file poetry won't be able to resolve it though. Even if is an optional dependency.
Currently dowhy pins networkx to < 3.x
networkx = "^2.8.5"
in pyproject.tomlnetworkx 3.1 is out and dowhy breaks environments/can't be installed in environments with networkx 3.1. I'd appreciate a quick fix and release.
Companion of https://github.com/py-why/dowhy/issues/936
In general, dowhy's dependency requirements are still rather strict.