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

Policy on how backend can propose API changes to established Protocol #166

Open
pllim opened this issue Jun 16, 2023 · 2 comments
Open

Policy on how backend can propose API changes to established Protocol #166

pllim opened this issue Jun 16, 2023 · 2 comments
Labels
API Issues that relate to the API itself rather than implementations

Comments

@pllim
Copy link
Member

pllim commented Jun 16, 2023

The situation: astrowidgets finally has a stable release with established API. A backend developer realized that the API does not satisfy certain requirements (either specific for the backend or in general). For instance, maybe the API needs extra keyword to support Jupyter Notebook version 999 that just came out. Or maybe astronomers found yet another way to represent the World Coordinates System that requires API change.

Assumption:

  • We went with the sphinx-astropy.conf way of versioning, which means we have multiple versions of Protocol definitions available in a given release.

Proposed workflow:

  1. Decide if this API change can be backward compatible.

2a. If yes, how far back is it compatible? This is only applicable if astrowidgets has more than one stable release by the time this happens.
2b. If no, why not?

3a. For each backward compatible Protocol module, apply the desired changes in a backward compatible way.
3b. Apply the desired changes only in the unreleased Protocol module.

  1. Propose your desired changes as a draft pull request. Bonus: Have a companion pull request downstream showing how your backend would use this.

  2. Ping interested parties to review the draft pull request. Maybe includes sending out a memo to astropy-dev mailing list and relevant channel(s) in Astropy Slack.

  3. After a period of reviews and maybe back-and-forth changes, this request would either be approved or denied.

@pllim pllim added the API Issues that relate to the API itself rather than implementations label Jun 16, 2023
@mwcraig
Copy link
Member

mwcraig commented Jun 28, 2023

Sorry for the long delay in looking at this. This approach looks good to me.

@pllim
Copy link
Member Author

pllim commented Jun 28, 2023

Maybe we put this somewhere in docs when finalized, so it will be part of RTD doc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API Issues that relate to the API itself rather than implementations
Projects
None yet
Development

No branches or pull requests

2 participants