-
Notifications
You must be signed in to change notification settings - Fork 215
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
REF: Modify custom CRS classes to be functions that return CRS #898
Conversation
Codecov Report
@@ Coverage Diff @@
## master #898 +/- ##
==========================================
+ Coverage 95.22% 95.27% +0.04%
==========================================
Files 21 21
Lines 1677 1671 -6
==========================================
- Hits 1597 1592 -5
+ Misses 80 79 -1
Continue to review full report at Codecov.
|
Another alternative would be to create a separate base class for all of the maker CRS classes that handles the pickle & from_* stuff. I may tinker with that option as I am not entirely sure how I feel about this solution. |
One consequence of this change is also that things like |
Yes, that one line sums up why I hesitate to make this change. The benefits of this change is that there is a single CRS class to manage/maintain without any of the wierdness that has come up due to differering behavior in the initialization. The downside is that you lose some of the benefits of it being a class such as inheritacne/isinstance stuff. The question to answer is are the downsides reason enough to not go this way? For example, do we actually want the usage pattern to be The lack of information for how people are currently using it makes me hesitate the most. Being more conservative on the change may not be a bad idea. |
Yeah, I can't help with that question about what people are currently using ( Now, for the actual problem of the classes not being pickleable, why is it easier to fix this if they are a single class? Because that seems to suggest that you can have a single code path to reconstruct a class for pickling, which you should also be able to do on a base class and that then gets inherited by all classes? |
|
This change also has #847 in mind. Having different arguments for the constructor is the current pain point. But, this could also be solved with the base class. |
Found a much less invasive solution: #901 |
Nice! |
history.rst
for all changes andapi/*.rst
for new APIWas thinking making the CRS maker classes into builders for the CRS objects would make things simpler for #847