-
Notifications
You must be signed in to change notification settings - Fork 31
Exempt underscored namespaces et al from deprecation schedule #143
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
base: main
Are you sure you want to change the base?
Conversation
soapy1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this idea!
| Newly added private code would not be subject to the deprecation policy. This | ||
| code could change as necessary instead of after a deprecation cycle. | ||
|
|
||
| Private portions of newly-added public modules, i.e. underscore-prefixed symbols |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a convention for when (and at what level) we might want to introduce __all__ into a module or not?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would audit existing code especially projects under https://github.com/conda, add those, and also provide deliberate API exports for new code but not necessarily worry about __all__ when conda imports from itself.
Co-authored-by: Sophia Castellarin <scastellarin@openteams.com>
travishathaway
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a good idea and will help us more clearly delineate parts of code that are meant to be public and parts that are meant to be private.
I only wish that the conventions around API design in the Python community were a bit a stronger so documents like this wouldn't be necessary. Regardless, I think this will be not only useful for conda itself but all projects in the conda organization in GitHub.
|
I like this, and the reference to the Python type checking docs. Very useful. Can we add a practical example on how we would (and would not) apply this in the codebase? Thanks! |
Checklist for submitter
cep-0000.mdnamedcep-XXXX.mdin the root level.Checklist for CEP approvals
${greatest-number-in-main} + 1.cep-XXXX.mdfile has been renamed accordingly.# CEP XXXX -header has been edited accordingly.pre-commitchecks are passing.