damccorm commented on code in PR #37685:
URL: https://github.com/apache/beam/pull/37685#discussion_r2843114067
##########
sdks/python/setup.py:
##########
@@ -541,6 +541,9 @@ def get_portability_package_data():
# tensorflow-transform requires dill, but doesn't set dill as a
# hard requirement in setup.py.
'dill',
+ # keras deps namex/optree lack version bounds - pin to avoid
resolver issues
Review Comment:
What are the actual issues we're running into here?
##########
buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy:
##########
@@ -3169,9 +3170,21 @@ class BeamModulePlugin implements Plugin<Project> {
packages += ",${extra}"
}
+ def pythonSdkDir = project.project(":sdks:python").projectDir
+ // Python 3.13 requires numpy>=2.1.0; constraints.txt pins numpy<2
for py310-312.
+ def constraintsName = "3.13".equals(project.ext.pythonVersion) ?
"constraints_py313.txt" : "constraints.txt"
Review Comment:
Does constraints_py313.txt exist? Also, you can do this in a single file
like
https://github.com/aIbrahiim/beam/blob/89b4b5e0b80731943149dd7596feb93768507af3/sdks/python/setup.py#L378
##########
sdks/python/setup.py:
##########
@@ -549,8 +552,13 @@ def get_portability_package_data():
] + ml_base,
'p312_ml_test': [
'datatable',
+ 'namex==0.0.9',
Review Comment:
We can set an upper/lower bound, but agreed that it would be better to at
least keep a range of valid values rather than pinning to a specific version.
@aIbrahiim do these actually need to be constrained this tightly?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]