astropy / astropy-APEs

A repository storing the Astropy Proposals for Enhancement.
Other
35 stars 37 forks source link

APE 18: What does it really mean for other runtime dependencies? #80

Open pllim opened 2 years ago

pllim commented 2 years ago

This sentence in APE 18:

Versions of other runtime dependencies released 24 months prior to a non-bugfix release.

I guess I cannot understand what "prior to a non-bugfix release" mean. I need examples.

As of writing this, astropy has this in its setup.cfg and 24 months ago was Nov 2020:

Do the optional dependencies count as "runtime" dependencies or we only bump as needed?

xref https://github.com/astropy/astropy-tools/pull/177 and https://github.com/astropy/astropy/issues/13930

Cadair commented 1 year ago

I guess I cannot understand what "prior to a non-bugfix release" mean.

It means the versions don't change with bugfix releases, so you determine version support based on the expected release date of a major version.

pyerfa

I assume this is because it's a dependency we maintain and we needed to bump it outside the regular cycle.

PyYAML and packaging

Update them!

Do the optional dependencies count as "runtime" dependencies or we only bump as needed?

I would say yes they count.


I don't feel that the actual APE text needs to be much more prescriptive, I think this is just a core package process issue where all these deps should get a bump before feature freeze.

pllim commented 1 year ago

I would say yes they count

That is a lot of packages to check. 👀

bsipocz commented 1 year ago

pyerfa

I assume this is because it's a dependency we maintain and we needed to bump it outside the regular cycle.

It shouldn't matter who maintains the dependency. If it's a dependency, and there is a guarantee pledged that 2 years are supported, then there should not be bumps outside the cycle.

Cadair commented 1 year ago

then there should not be bumps outside the cycle

"... without good reason" I think there is always exceptions (cost of maintaining backwards compatibility as a single example).

Also I don't know if that's the reason pyerfa was bumped, I was just guessing why it might be ahead.

Cadair commented 1 year ago

I would say yes they count

That is a lot of packages to check. eyes

That's what we get for having too many dependencies ;) We should probably automate it!!

pllim commented 1 year ago

We should probably automate it

I started https://github.com/astropy/astropy-tools/pull/177 but it is not obvious to me how major version bump should be handled.

Cadair commented 1 year ago

how major version bump should be handled

I am not sure I understand, the wording of the APE is pick the version released in a given window of time (arguably ignoring bug fixes).

pllim commented 1 year ago

But not all packages follow semver, so I have to code it up on a case-by-case basis?

Cadair commented 1 year ago

You could code it up not ignoring bug fixes and that would also be fine (certainly a lot better than not having it at all).

pllim commented 1 year ago

I'll have to ponder this more when/if I have time... Feel free to take what I have and run with it, or propose your own check, if you get to it before I do.

pllim commented 1 year ago

There might be a better script here: https://scientific-python.org/specs/spec-0000/