brickflow icon indicating copy to clipboard operation
brickflow copied to clipboard

[FEATURE] Requesting brickflow support for python versions 3.11 and 3.12

Open raajaaDheeRaajaa opened this issue 2 years ago • 5 comments

Is your feature request related to a problem? Please describe. Currently, the compatible versions of python for brickflow are pinned to 3.8, 3.9 & 3.10 https://github.com/Nike-Inc/brickflow/blob/09a2af92a2d9730189ea71277b59e52878caaee6/pyproject.toml#L37

Requesting to add support for python versions 3.11 & 3.12, for users using pyspark version >=3.5

Cloud Information

  • [ ] AWS
  • [ ] Azure
  • [ ] GCP
  • [X] Other

Describe the solution you'd like A clear and concise description of what you want to happen.

Describe alternatives you've considered Updating the acceptable python version from >=3.8,<3.11 to >=3.8,<=3.12 here: https://github.com/Nike-Inc/brickflow/blob/09a2af92a2d9730189ea71277b59e52878caaee6/pyproject.toml#L37

Additional context This change will allow users running newer version of python with new features and bug fixes, able to use brickflow.

raajaaDheeRaajaa avatar Jan 19 '24 22:01 raajaaDheeRaajaa

Hello, I can take up this issue and test brickflow with the updated python versions.

t1ffanyt avatar Jan 19 '24 22:01 t1ffanyt

Hey team, intentially we are supporting 3.8 - 3.10 as those are the system versions supported by databricks runtimes. 14.3 LTS beta is provided with Python: 3.10.12 https://docs.databricks.com/en/release-notes/runtime/14.3lts.html#system-environment

The risk of supporting higher versions is it may encourage users to use newer 3.11, 3.12 and 3.13 features which may not work on 3.10. The user will not run into this without, actually running their workflow.

I am not opposed to this change, as the library should work in higher versions (since new versions of python contain all the previous features) but I do not know of a good way to indicate to the user to not use 3.11+ features. Let me know if you have any ideas around that.

stikkireddy avatar Jan 31 '24 13:01 stikkireddy

@stikkireddy that's true but for the Databricks runtime 16.1,16.2 and 16.3 it uses 3.12.3 python version, due to that we can't able to run Brickflow code in those clusters. due to the python version constraint not able to utilize features like string collation, etc . Please try to release new version that Brickflow supports python 3.12.3.

Mohansaik avatar Apr 10 '25 16:04 Mohansaik

@Mohansaik, the idea is to align with the LTS Runtimes (which is a best practice). And none of those you mentioned is one. However, 16.4 LTS has just been released. So, Brickflow shall add support for Python 3.12 in the next release (v1.4.0).

One clarification though, Python does not adopt SemVer. For instance, minor releases may include breaking changes.

nogitting avatar May 10 '25 17:05 nogitting

@nogitting, Thanks for your response, could you please let us know the expected release date for Brickflow v1.4.0, which includes support for Python 3.12?

Mohansaik avatar May 19 '25 15:05 Mohansaik