-
Notifications
You must be signed in to change notification settings - Fork 171
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
USGSCSM Missing from LTS Installation #5382
Comments
I hesitate to include USGSCSM as a dependency for ISIS, I agree that we need to make it so when you install USGSCSM into your environment ISIS can find the plugin as you mention in #5383. However, the CsmCamera in ISIS should be able to work with other CSM plugins but we likely won't at those as dependencies either. I also think that we could add/update documentation for using CSM as you mentioned in #5384. |
Can you please expand on why? |
The library was designed to be a plugin. You should be able to install various versions without being dependent on the host program, in this case ISIS. This also means you should be able to install other CSM camera models without needing them as dependencies in ISIS. The biggest gain from not having USGSCSM as a dependency is to give users flexibility to install different versions of the software without needing to install a completely different version of ISIS. There may be some merit for including some default version of USGSCSM in ISIS so that the CSMCamera works out of the box by installing ISIS, but a user could also just add usgscsm to there env creation and get a similar result. The biggest problem USGSCSM has right now is that it isn't self contained and ships with dependencies that aren't baked into the plugin, basically making it not a plugin. The biggest of which is proj but wasn't the first USGSCSM dependency to not be built into the plugin. This goes back to the work being done on USGSCSM to actually make it a true plugin and build in all of it's own dependencies. So with that noted we should either finishing making USGSCSM a true self contained plugin or add it as a direct dependency which we likely shouldn't. What other reasons are there to make USGSCSM a direct dependency so that I know for context? |
More questions and thoughts about this approach:
|
I agree with @jlaura in that I think it makes the most sense to include the plugin. Considering its USGSCSM is developed by us and is not third-party, including some version as part of the package makes sense and seems like a very low friction, high value change. With that said:
A lot of pieces of ISIS are designed as plugin but they are also part of the same library, so this comparison between ISIS plugins and the USGSCSM plugin doesn't make sense. If anything, it points out that we probably should be shipping those plugins separately. One could easily argue that we should make ISIS more a la carte (something we have been moving towards). But I don't think we should waste time on these rabbit holes here. It's more about what is easy and makes sense to do right now given ISIS's current paradigms.
Same as above, I think this is more just rhetorical white noise. We either include it or we don't, either way a user can change the version and there are often niche reasons for this. We have also had many discussions very explicitly pushing towards enabling users to download portions of functionality.
I think we can all agree that adding another layer of complexity increases the risk of error. Users have had issues with the additional ISISDATA step for as long as I've known of the software. Your self-assessment on how competent you may or may not be is irrelevant, it's a matter of an added layer of complexity. Added complexity we will naturally adopt as ISIS becomes more modular regardless. Additionally, if we include it in the lib or not, we also still need to maintain some range of USGSCSM versions that are supported by ISIS and document all that at some point.
You, Adam and I were all in a meeting where we all very explicitly agreed to go ahead with using proj. It's not even relevant here since ISIS already has a proj dependency.
Again, I don't see the necessity in wording things in this way. The second sentence says it's fine that USGSCSM is presented as an afterthought while the rest contradicts this and implying that it would be a problem if it were an afterthought. Considering you led this team for a long time through most of USGSCSM's development, I find your confusion on this topic very bizarre. I think we can all agree that USGSCSM is important, but conversations should focus more on particulars, like whether or not it makes sense to put in USGSCSM right now. The point of this issue.
Implying that Adam doesn't expect people to use it seems disrespectful and a blatant misrepresentation of his original point. This is more persuasive if you just remove the first sentence. I find it somewhat disturbing that a simple request can escalate into what feels like predominately rhetorical nonsense that isn't productive. I think we should avoid such rabbit holes in the future discussing specific issues and maybe bring it up these higher-level concerns at an ISIS TC meeting. It would have been easier to make a persuasive argument to include USGSCSM into the main ISIS package without all the unwarranted aggression. |
My opinion on why we should include USGSCSM:
Shipping ISIS a la carte I think makes sense, as we have moving towards that goal, but that is a higher-level discussion outside the scope of this issue. |
@Kelvinrr I appreciate your second comment. The first looks like a hard misread to the contribution I am trying to make. There is no intentional aggression or confusion on my side. Your opinions, picking apart my text are not constructive for the issue. Send me an email if you want to discuss this thread further. |
I agree that the current state of things is not the best. The csminit program does not work. Not even after usgscsm is installed in the same conda env. No message is given as to what is failing. No doc exists. The usgscsm library should be a dependency of ISIS, and documentation should be added how to look up plugins. |
Thank you for your contribution! Unfortunately, this issue hasn't received much attention lately, so it is labeled as 'stale.' If no additional action is taken, this issue will be automatically closed in 180 days. If you want to participate in our support prioritization meetings or be notified when support sprints are happening, you can sign up the support sprint notification emails here. Read more about our support processs here |
If this is not fixed, it absolutely needs to be considered during the next support sprint. @chkim-usgs |
More info here, USGSCSM 2.0.1 works on Mac as intended. Meaning, you can install and load it without issues in the ISIS While working on the ISIS 8.2 RC2 release, I tried using Given that USGSCSM 2.0.1 is broken on linux boxes, we will work to get that fixed before making it a dependency in ISIS |
Good progress here, USGSCSM 2.0.2 is out and works on linux as expected! This can be moved to done once an 8.0.3 release is made with USGSCSM as a dependency |
Is this fix getting back ported into the LTS as well? |
@jlaura I would like it to be yes. It may come out with an 8.0.4 release with a small change to the paths in the ISIS preferences file. Alternatively, we could do a new 8.0.3 build with USGSCSM as a dep and just expect anyone using it to update there preference file |
ISIS version(s) affected: 8.0.0+
Description
ISIS is not shipping with USGSCSM (libusgscsm). It is not specified in the environment.yml or meta.yml. The CSM library is. Please add the USGSCSM as a dependency.
How to reproduce
conda list usgscsm
Possible Solution
Update environment.yml and meta.yaml to include the USGSCSM.
Additional context
The text was updated successfully, but these errors were encountered: