Repository navigation
APE23 - PR 1: New frame and coordinate classes, and their integration - #1
Open
jeffjennings wants to merge 16 commits into
Open
jeffjennings wants to merge 16 commits into
jeffjennings wants to merge 16 commits into
Conversation
…ithFiniteDifference
|
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.
|
…frames with new in transform function converters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This is the first PR intended to implement the changes outlined in APE23 to remove data storage (representations) from coordinate frames. The PR includes:
ABCclassesBaseFrameandBaseCoordinateCoordinateclass, a lightweight and performant alternative toSkyCoord*FrameRepresentationFunctionTransformandRepresentationFunctionTransformWithFiniteDifferencefor use with data-less framesBaseCoordinateFrameand legacy frame classes. By 'effective' deprecation I mean they can be removed from the codebase at the end of the deprecation cycle without breaking anything for code that uses the new design.Note that while the PR currently adds many more lines than it subtracts, once the legacy frame classes, BaseCoordinateFrame, and the temporary support for them is removed, this difference will shrink significantly.
The commits are in general progressive, grouping major changes together.
There are inline TODOs of the form "# TODO: APE23 ..." that are above code blocks that can be removed or highly simplified once the legacy frames and
BaseCoordinateFramecan eventually be removed.New class hierarchy
Class object locations
The below shows where objects originally on
SkyCoordand/orBaseCoordinateFramehave been moved, and new objects added. Comments next to each object state where it was (on SC and/or BCF) before APE changes.Abbreviations:
1) Objects now on BC (inherited by SC and C):
2) Objects now on C:
3) Objects added or moved to SC:
4) Objects now on BF (handling frame metadata):