Open egede opened 9 months ago
possibly https://pypi.org/project/Deprecated/
Looks interesting. Maybe add to this some way where the CI testing will start to fail a test if there are old "deprecations" that has not been removed. So maybe the decorator should have a way of marking the deprecation period. In the example below
@deprecated(version='8.6.9', reason="Singularity is the old name, use Apptainer instead", expiry=datetime.date(2024,7,1))
would then if used give the message
WARNING: Deprecated in version 8.6.9. Singularity is the old name, use Apptainer instead. Class will be removed in first release after 2024-07-01.
The CI testing will then just have a test that starts failing if it finds any line with an expiry date that is before the current date. Should probably be made as a separate section in the testing (that is not required to pass) to avoid messing up the test of some unrelated PR. Or maybe we could do some of the same kind of magic as we have for the PEP8 testing where a PR is automatically created with the deprecated functions marked for removal.
makes sense
possibly https://pypi.org/project/Deprecated/
@alexanderrichards I think I am gonna borrow this idea for #2293 :)
Links somewhat in with #2149. The issue here is related to Ganga code that gets deprecated, while the other one is related to python syntax that gets deprecated.
Suggested steps for developing this. @YilinZhao6 Let us know if you start working on this.
A deprecation system should be developed for Ganga. It should