Do we have a up-to-date developer guide? #465
Replies: 6 comments 2 replies
-
Yeah, I think the first one is about it. I think it is good enough, but any improvements are welcome for sure. |
Beta Was this translation helpful? Give feedback.
-
This discussion is timely. A similar issue came up Friday in a conversation I had with Sasmita. We were getting different behavior because of differences in our environment created by deviations in our local setup. I am currently encountering a similar issue with differences in behavior of spark on a local copy from what happens running pytest on GitHub.
What that brings up is this: I think we need to discuss a major extensions of our dev container. We really should all be doing development work on the dev container, not with a local copy. If we had a complete development enviornment in a dev container mysterious setup variants would be reduced. Perhaps more important is the fact that for users developing any workflow the current approach is less than ideal.
We have most of what is needed in the dev container, but I know for absolute sure we lack something critical for ease of use by meer mortals: one or more standard python IDEs Some key points about this:
- Step one to make it work is a way to have a window system run inside the container. The lowest common demoninator I know of for that is something like VNC.
- I think we could, if necessary, legitimately limit dev work to a standalone configuration (our all-in-one container). The complexity of a cluster doesn’t work with most debugging anyway so limiting the development environment to a single node/desktop/laptop is appropriate.
- Some of the IDEs are pretty huge. It might make sense to have different containers for different choices. BTW here are the ones I know: spyder (the one I use), PyCharm, and Visual Studio. There are a bunch of others. A secondary issue is which we would support. Some depends, I suspect, on the licensing.
- I reiterate that I think having a dev container with one or more IDEs available is an essential step to make MsPASS more accessible to people and a step to expand our user base.
A topic for discussion at tomorrow’s meeting for sure as it links to multiple related issues. I don’t know what is “publishable” in that area, but development of this capability might be something Jinxin could do that could lead to a publication. If nothing else a short paper in Seismological Research Letters.
… On Nov 4, 2023, at 10:04 PM, Chenxiao Wang ***@***.***> wrote:
This message was sent from a non-IU address. Please exercise caution when clicking links or opening attachments from external sources.
Yes, I followed the first one when building locally
—
Reply to this email directly, view it on GitHub <#465 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AABNEJ57H3EHCEBJGA3NSZ3YC3XZDAVCNFSM6AAAAAA655KM2GVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM3TINZXGA3DM>.
You are receiving this because you are subscribed to this thread.
|
Beta Was this translation helpful? Give feedback.
-
I meant a docker container. I have heard of applications run that way via VNC.
There are multiple IDEs and people have preferences because they are yet another application to learn. We need a flexible solution to allow personal customization
Sent from my iPhone
On Nov 5, 2023, at 1:14 PM, Jinxin Ma ***@***.***> wrote:
This message was sent from a non-IU address. Please exercise caution when clicking links or opening attachments from external sources.
@pavlis<https://github.com/pavlis> Thanks for bringing this up. When you say "dev container" do you mean a docker container or a linux VM?
1. If it's the latter one, I think we can specify a linux system that this project will support by default, like ubuntu, so that the problem caused by different underlying environments can be reduced.
2. for the docker container, it's really cool if we already support it. What I mean is we could pull the code locally, for any changes we make, we rebuild the docker image, and deploy the docker container locally, and then we can ssh into it and verify the change.
So again, which way you're referring to actually? That would really determine my current set up. Right now, I'm thinking to start a VM instance on oracle cloud (it has always free instance) to develop our project following way no. 1. If 2 is true, I would just do it locally.
But either way, for your IDE comment, would VSCode be a good option? it's light weight, it has real-time syntax highlight and error check, and other useful features. Personally I've been using it for python development.
—
Reply to this email directly, view it on GitHub<#465 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AABNEJ3M7PEVW5OFPOSTCRTYC7COXAVCNFSM6AAAAAA655KM2GVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM3TIOBQG4ZTK>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Summarizing my findings in building this project, they are based on a few wiki pages:
Based on ^ and Gary's comment, it is not easy to set up the development environment as a contributor. Even after the set up, one could see different behaviors on different underlying systems. It is something we could improve, but we need to discuss do we want put our energy on improving experience for developers, or for users by adding more features like ML lib support. |
Beta Was this translation helpful? Give feedback.
-
updated home page: https://github.com/mspass-team/mspass/pull/468/files |
Beta Was this translation helpful? Give feedback.
-
Hi all, I've been browsing through our doc, I'm wondering do we have a guide for developer to contribute to this project? For example, how do I get started for building this project locally.
I see two related posts:
Should I just follow the first one? is it still up to date?
Beta Was this translation helpful? Give feedback.
All reactions