Skip to content

Deprecate the frame parameter of SkyCoord.from_name() - #18847

Draft
eerovaher wants to merge 2 commits into
astropy:mainfrom
eerovaher:deprecate-SkyCoord-from_name-frame
Draft

eerovaher wants to merge 2 commits into
astropy:mainfrom
eerovaher:deprecate-SkyCoord-from_name-frame

Conversation

@eerovaher

Copy link
Copy Markdown
Member

Description

The frame parameter is not required because the output of SkyCoord.from_name() can be easily converted to a different frame by calling its transform_to() method. For updating the tests it was convenient to prefer module-level imports in the one file that tested the parameter.

  • By checking this box, the PR author has requested that maintainers do NOT use the "Squash and Merge" button. Maintainers should respect this when possible; however, the final decision is at the discretion of the maintainer that merges the PR.

The `frame` parameter is not needed because the output of
`SkyCoord.from_name()` can be easily converted using its
`.transform_to()` method.
@eerovaher eerovaher added this to the v8.0.0 milestone Nov 6, 2025
@eerovaher
eerovaher requested a review from mhvk November 6, 2025 19:39
@eerovaher eerovaher added coordinates API change PRs and issues that change an existing API, possibly requiring a deprecation period labels Nov 6, 2025
@github-actions

github-actions Bot commented Nov 6, 2025

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Astropy! 🌌 This checklist is meant to remind the package maintainers who will review this pull request of some common things to look for.

  • Do the proposed changes actually accomplish desired goals?
  • Do the proposed changes follow the Astropy coding guidelines?
  • Are tests added/updated as required? If so, do they follow the Astropy testing guidelines?
  • Are docs added/updated as required? If so, do they follow the Astropy documentation guidelines?
  • Is rebase and/or squash necessary? If so, please provide the author with appropriate instructions. Also see instructions for rebase and squash.
  • Did the CI pass? If no, are the failures related? If you need to run daily and weekly cron jobs as part of the PR, please apply the "Extra CI" label. Codestyle issues can be fixed by the bot.
  • Is a change log needed? If yes, did the change log check pass? If no, add the "no-changelog-entry-needed" label. If this is a manual backport, use the "skip-changelog-checks" label unless special changelog handling is necessary.
  • Is this a big PR that makes a "What's new?" entry worthwhile and if so, is (1) a "what's new" entry included in this PR and (2) the "whatsnew-needed" label applied?
  • At the time of adding the milestone, if the milestone set requires a backport to release branch(es), apply the appropriate "backport-X.Y.x" label(s) before merge.

@github-actions

github-actions Bot commented Nov 6, 2025

Copy link
Copy Markdown
Contributor

Welcome to Astropy 👋 and congratulations on your first pull request! 🎉

A project member will respond to you as soon as possible; in the meantime, please have a look over the Checklist for Contributed Code and make sure you've addressed as many of the questions there as possible.

If you feel that this pull request has not been responded to in a timely manner, please send a message directly to the development mailing list. If the issue is urgent or sensitive in nature (e.g., a security vulnerability) please send an e-mail directly to the private e-mail [email protected].

@pllim

pllim commented Nov 6, 2025

Copy link
Copy Markdown
Member

Please ignore the greeter bot. I think something reset when I upgraded it. Thanks for your patience!

@mhvk mhvk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think this makes sense, but as written, it sets us up for a problem further down the line: when the deprecation is over, they argument can still not be removed because then any code that still uses it despite the deprecation warning, will now set parse to the frame (generally, truthy). So, I think we need to take this opportunity to also deprecate passing those arguments positionally. (Not sure whether at that point it is still worthwhile...)

@eerovaher

Copy link
Copy Markdown
Member Author

Another problem is that SkyCoord.from_name() with its parse parameter should be replaced by separate SkyCoord.from_name() and SkyCoord.from_sesame() methods, corresponding to parse=True and parse=False respectively, but we can't really address that either for the same reason.

@nstarman

nstarman commented Nov 8, 2025 •

Copy link
Copy Markdown
Member

So, I think we need to take this opportunity to also deprecate passing those arguments positionally. (Not sure whether at that point it is still worthwhile...)

I think so.
@neutrinoceros designed deprecated_keywords. We'd want a similar idea, but for positional arguments — deprecated_positional.
IMO we should move deprecated_keywords out of cosmology, complement it with deprecated_positional, and be able to bring these API improvements to more places in Astropy.

Edit: just clarifying that the "I think so" is w/ regards to whether this PR is worthwhile. I think so!

@neutrinoceros

Copy link
Copy Markdown
Contributor

Note that unless performance is critical I do have a pure-Python implementation of future_keyword_only ready to be used...

@eerovaher
eerovaher marked this pull request as draft November 12, 2025 15:24
@nstarman

Copy link
Copy Markdown
Member

Note that unless performance is critical I do have a pure-Python implementation of future_keyword_only ready to be used...

I don't think it is / it's fine to start with a pure-Python solution.

@github-actions github-actions Bot added the Close? Tell stale bot that this issue/PR is stale label Apr 6, 2026
@github-actions

github-actions Bot commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

Hi humans 👋 - this pull request hasn't had any new commits for approximately 4 months. I plan to close this in 30 days if the pull request doesn't have any new commits by then.

In lieu of a stalled pull request, please consider closing this and open an issue instead if a reminder is needed to revisit in the future. Maintainers may also choose to add keep-open label to keep this PR open but it is discouraged unless absolutely necessary.

If this PR still needs to be reviewed, as an author, you can rebase it to reset the clock.

If you believe I commented on this pull request incorrectly, please report this here.

@nstarman

Copy link
Copy Markdown
Member

@neutrinoceros if you can get in a PR for future_keyword_only I can finish up this PR.

@nstarman nstarman added keep-open and removed Close? Tell stale bot that this issue/PR is stale labels Apr 13, 2026
@astrofrog astrofrog modified the milestones: v8.0.0, v8.1.0 May 5, 2026
@pllim pllim removed the keep-open label Oct 14, 2026
@github-actions github-actions Bot added the Close? Tell stale bot that this issue/PR is stale label Oct 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Hi humans 👋 - this pull request hasn't had any new commits for approximately 11 months. I plan to close this in a month if the pull request doesn't have any new commits by then.

In lieu of a stalled pull request, please consider closing this and open an issue instead if a reminder is needed to revisit in the future. Maintainers may also choose to add keep-open label to keep this PR open but it is discouraged unless absolutely necessary.

If this PR still needs to be reviewed, as an author, you can rebase it to reset the clock.

If you believe I commented on this pull request incorrectly, please report this here.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

API change PRs and issues that change an existing API, possibly requiring a deprecation period Close? Tell stale bot that this issue/PR is stale coordinates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants