-
-
Notifications
You must be signed in to change notification settings - Fork 288
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
Binder button #1628
Binder button #1628
Conversation
Definitively the readme file. I think that's expected. I'm not sure where in the readme. Putting the button/badge to other badges would keep the readme short. If someone knows what they are looking for, they will find it there. On the other hand, a separate section with some description might be better for people not familiar with Binder or not expecting it, but I don't know how big that group of people is - these people are looking on a readme at GitHub. Another advantage of a section is that we may want to add more than one button because we may want to have more than one example notebook. |
I would keep this PR just for the button/badge itself, but any suggestion on the content/purpose/focus? We can discuss on the mailing list if you this that would be helpful.
Speaking for @chaedri here, but I don't think that's what she meant. As far as I recall, PyGRASS was meant to be Pythonic interface to GRASS modules and C libraries. However, most people take it to mean Python interface to GRASS since that's how it is for many libraries, thus using it for the whole Python API, not just The more unfortunate part is that the most unique part of PyGRASS, the interface to C libraries, does not work in Jupyter Notebooks without a substantial setup procedure because the dynamic libraries are not installed on path. |
Co-authored-by: Markus Neteler <neteler@osgeo.org>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
Well, since the text in the README reads "Launch this repository in binder and experiment with GRASS's Python API in Jupyter Notebooks by clicking the button below" I would expect some ready to use examples to experiment, minimal explanation, links to documentation or so. What should I type in that code cell so as to get started? I have no clue :) I might be missing something and I apologize in advance if that's the case, but I think of someone (me) landing in the README and finding this badge with a link to try GRASS in a Jupyter notebook (cool!) but then finding a completely blank notebook... what to test? how to experiment? |
Actually, we are not limited to Python. If you use, e.g., the Launcher in JupyterLab, you can get to terminal and get GRASS shell or run
Maybe the Try GRASS GIS in Jupyter Notebook or its first cell is a good starting point for what we want there. @chaedri I think you can copy-paste the basic try notebook. I guess it is needed for this PR to make sense since it relates to where the link points to and what should be written in the readme. I think it is better to have it not computed in the source code and it is still okay for the users. Then, in #1629, you can add another notebook with the better Jupyter interface which you will update as you go. This way, anybody would be able to easily compare the current and future interface. BTW, I don't think this should replace the "try online" notebooks in the website, but we can discuss that.
No, no, you are right. I think by default you should get something other than an empty page. It's just I don't know what that something is. Well, as I said above, we have some code to copy-paste there now, but I just want to emphasize that this is (wide) open to suggestions. |
Link to this PR's Binder (to test the notebook, not just the badge/button): Jypyter Notebook only (aka classic notebook interface): |
Co-authored-by: Vaclav Petras <wenzeslaus@gmail.com>
I think I've addressed all the comments now. Once merged, the button will launch the example_notebook.ipynb. You can test the notebook with the link posted by @wenzeslaus in this comment. Feedback welcome! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works for me in Binder. Very easy to try.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggested minor language fixes only
Co-authored-by: Veronica Andreo <veroandreo@gmail.com>
Co-authored-by: Veronica Andreo <veroandreo@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about leaving out the heading?
* Adds Binder badge/button to the readme file. * Adds a separate "call to action" paragraph to highlight Binder rather than putting it among other badges. * Uses JupyterLab. * Adds content to the basic example, so it is clear how to start using the standard grass.script API.
* Adds Binder badge/button to the readme file. * Adds a separate "call to action" paragraph to highlight Binder rather than putting it among other badges. * Uses JupyterLab. * Adds content to the basic example, so it is clear how to start using the standard grass.script API.
* Adds Binder badge/button to the readme file. * Adds a separate "call to action" paragraph to highlight Binder rather than putting it among other badges. * Uses JupyterLab. * Adds content to the basic example, so it is clear how to start using the standard grass.script API.
* Adds Binder badge/button to the readme file. * Adds a separate "call to action" paragraph to highlight Binder rather than putting it among other badges. * Uses JupyterLab. * Adds content to the basic example, so it is clear how to start using the standard grass.script API.
* Adds Binder badge/button to the readme file. * Adds a separate "call to action" paragraph to highlight Binder rather than putting it among other badges. * Uses JupyterLab. * Adds content to the basic example, so it is clear how to start using the standard grass.script API.
* Adds Binder badge/button to the readme file. * Adds a separate "call to action" paragraph to highlight Binder rather than putting it among other badges. * Uses JupyterLab. * Adds content to the basic example, so it is clear how to start using the standard grass.script API.
* Adds Binder badge/button to the readme file. * Adds a separate "call to action" paragraph to highlight Binder rather than putting it among other badges. * Uses JupyterLab. * Adds content to the basic example, so it is clear how to start using the standard grass.script API.
* Adds Binder badge/button to the readme file. * Adds a separate "call to action" paragraph to highlight Binder rather than putting it among other badges. * Uses JupyterLab. * Adds content to the basic example, so it is clear how to start using the standard grass.script API.
* Adds Binder badge/button to the readme file. * Adds a separate "call to action" paragraph to highlight Binder rather than putting it among other badges. * Uses JupyterLab. * Adds content to the basic example, so it is clear how to start using the standard grass.script API.
* Adds Binder badge/button to the readme file. * Adds a separate "call to action" paragraph to highlight Binder rather than putting it among other badges. * Uses JupyterLab. * Adds content to the basic example, so it is clear how to start using the standard grass.script API.
This pull request is for the binder/Jupyter Notebook button discussed in #1603.
I wasn't quite sure where in the repository to put the button so I added it to the readme. Comments, discussion or a better location welcome.
The intention of having a binder and Jupyter Notebook is eventually demonstrate how to use GRASS and some of the Jupyter-specific functions. As part of the Google Summer of Code project "Improved Integration of Jupyter and GRASS (https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS), I plan to improve the launch of GRASS in Jupyter and the display functions.