Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CEP 9: Conda Deprecation Schedule #27

Merged
merged 11 commits into from
Oct 11, 2022
Merged

Conversation

kenodegard
Copy link
Contributor

As we seek to remove outdated code and bring conda and conda-build back into the modern Python era (#24) it's more important to define a clear deprecation policy such that downstream applications are properly notified of pending deprecations.

This proposed deprecation policy hinges on ideas from #26 so much of this could be reworked pending modifications made there.

@kenodegard kenodegard changed the title CEP for Deprecation Policy CEP for Conda Deprecation Schedule Jul 6, 2022
Copy link
Contributor

@travishathaway travishathaway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good so far. Just had a couple suggestions for improving the grammar and also trying to clear up some ambiguity about which projects this applies to.

cep-deprecation.md Outdated Show resolved Hide resolved
cep-deprecation.md Outdated Show resolved Hide resolved
cep-deprecation.md Outdated Show resolved Hide resolved
cep-deprecation.md Outdated Show resolved Hide resolved
cep-deprecation.md Outdated Show resolved Hide resolved
cep-deprecation.md Outdated Show resolved Hide resolved
cep-deprecation.md Outdated Show resolved Hide resolved
cep-deprecation.md Outdated Show resolved Hide resolved
cep-deprecation.md Outdated Show resolved Hide resolved
cep-deprecation.md Outdated Show resolved Hide resolved
Copy link
Member

@jezdez jezdez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love the graphs, but worry about the speed of the proposal, suggesting to slow it down a notch.

cep-deprecation.md Outdated Show resolved Hide resolved
@jezdez
Copy link
Member

jezdez commented Sep 30, 2022

@conda-incubator/steering

This pull request falls under the Enhancement Proposal Approval policy of the conda governance policy, please vote and/or comment on this PR.

It needs 60% of the Steering Council to vote yes to pass.

To vote, please leave a regular pull request review (see Files changed tab above > green Review changes button) with one of the following options:

  • Approve for yes
  • Request Changes for no.

Also, if you would like to suggest changes to the current proposal, please leave a comment below, use the regular review comments or push to this branch.

This vote will end on 2022-10-07.

@jezdez jezdez requested a review from a team September 30, 2022 21:27
@jezdez jezdez added the vote Voting following governance policy label Sep 30, 2022
Copy link

@beckermr beckermr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a place where we have specified a policy on how to decide what gets deprecated? Is the pending deprecation supposed to be a comment period? Should it be? If it is a comment period, should we specify how that process happens?

@kenodegard
Copy link
Contributor Author

@beckermr Hm, no, we haven't decided on how we decide on what gets deprecated. This CEP is a response to the realization that as we tackle tech debt, we keep finding functionality that is outdated/unused or has long since been replaced. This is intended to be more of a warning system for downstream projects and to inform them of the correct alternative.

Yes, we should view the pending deprecation as a comment period. It wouldn't hurt to outline a process for disputing a deprecation, I'll put something together.

Copy link

@ericdill ericdill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this isn't super related to this CEP, more to #26, but i seem to have missed the discussion around #26.

could conda releases have two digit months? sorting is almost certainly going to get messy with some months having 1 digit and some having 2.

this proposal looks great

@kenodegard
Copy link
Contributor Author

kenodegard commented Oct 1, 2022

No, we are not zero padding months in CEP8

Ah I misread, yes every year there will be at least YY.11.0 per CEP8

@kenodegard
Copy link
Contributor Author

@beckermr just added details on:

  • how the pending deprecation state is also a comment period
  • how to dispute a deprecation (raise an issue with details)
  • how disputes are resolved if there is an impasse (steering council vote, same as a CEP)

Let me know if you have additional concerns

@beckermr
Copy link

beckermr commented Oct 4, 2022

Thank you. That looks great! If we create a technical group sometime in the future we should appeal decisions to them.

@dholth
Copy link
Contributor

dholth commented Oct 7, 2022

We could probably get away with using DeprecationWarning only (since Python's PendingDeprecationWarning is a bit deprecated itself) and use comments / deprecation tooling to note exactly how deprecated something was.

@jezdez
Copy link
Member

jezdez commented Oct 11, 2022

We could probably get away with using DeprecationWarning only (since Python's PendingDeprecationWarning is a bit deprecated itself) and use comments / deprecation tooling to note exactly how deprecated something was.

Regarding PendingDeprecationWarning, do you mean https://discuss.python.org/t/pendingdeprecationwarning-is-really-useful/1038?

A conda.warnings.deprecated() function or similar to what @brettcannon has suggested in the the thread for CPython would greatly simplify enforcing of this CEP.

@jezdez
Copy link
Member

jezdez commented Oct 11, 2022

Voting Results

This was a standard, non-timed-out vote.

Among Steering Council members there are 10 "yes", 0 "no", and no abstentions.

This vote has reached quorum (10 is at least 60% of 16).

It has also passed since it recorded 10 "yes" votes and 0 "no" votes giving 10/10 which is greater than 60% of 16.

It should be noted that a request for change was recorded in the pull request about minor implementation details that do not invalidate the previous votes. The author made the requested change.

@jezdez jezdez changed the title CEP for Conda Deprecation Schedule CEP 9: Conda Deprecation Schedule Oct 11, 2022
@jezdez jezdez merged commit 1b229d2 into conda:main Oct 11, 2022
@brettcannon
Copy link
Contributor

@jezdez it's gone passed a suggestion 😁

https://github.com/python/cpython/blob/b863b9cd4b8681cf5fff5f121837a1039045783f/Lib/warnings.py#L498-L514

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vote Voting following governance policy
Projects
None yet
Development

Successfully merging this pull request may close these issues.