smerckel / dbdreader

A reader for binary data files created by Slocum ocean gliders (AUVs)
GNU General Public License v3.0
16 stars 14 forks source link

python 3.9 compatibility #25

Closed jklymak closed 6 months ago

jklymak commented 6 months ago

In setup.py https://github.com/smerckel/dbdreader/blob/89598e5e1c8ce3c3d32c676ae5e2dbc2085900e9/setup.py#L111 has root_dir in glob, which I think is a new python 3.10 keyword arg.

I don't feel strongly about requiring 3.10, but it seems it would be nice to support 3.9 if easy...

smerckel commented 6 months ago

The keyword root_dir is in fact not needed here and can be safely removed. Created new version 0.5.7, which keeps support for 3.9. Thanks for reporting.

jklymak commented 6 months ago

Cool thanks!

Does dbdreader have a back compat policy? I was testing 3.9 and 3.10 in pyglider but we could try and sync up with dbdreader.

smerckel commented 6 months ago

Technically dbdreader does not have a policy on backwards compatibility. Support for 3.8 ends by the end of '24, so I guess it makes sense to ensure dbdreader is happy with 3.8 too. What do you exactly mean by "I was testing 3.9 and 3.10 in pyglider but we could try and sync up with dbdreader."?

jklymak commented 6 months ago

We run continuous integration tests on pyglider (of varying success) and specify a matrix of Python versions to test. We should just be consistent with dbdreader

If 3.8 is end of life I think it's fine to not test that. Pyglider actually depends on polars, somewhat to my chagrin because it seems to move so fast that it regularly refactors keyword arguments with no clean transition. I suspect it will be a larger compatibility matrix problem than dbdreader.

Thanks again!

smerckel commented 6 months ago

Perhaps then it is easier for me to adapt to pyglider. dbdreader started as code to solve my own needs, and I made it available in the hope that it might benefit others too. It seems that dbdreader benefits many users, but mostly through pyglider, so from that perspective it makes sense to adapt the requirements to pyglider's. I am OK with not using nice new features made available by newer versions for the sake of backward compatibility.