wiki:GSoC/2021/JupyterAndGRASS

Version 7 (modified by chaedri, 3 years ago) ( diff )

--

GSoC 2021 Improved Integration of GRASS GIS and Jupyter Notebooks

Title: Improved Integration of GRASS GIS and Jupyter Notebooks
Student Name: Caitlin Haedrich, North Carolina State University
Organization: OSGeo - Open Source Geospatial Foundation
Mentor Name: Vaclav Petras, Helena Mitasova, Stephan Blumentrath
GitHub Repository: View Repo
GSoC proposal: View Proposal

Abstract

The current integration of GRASS GIS and Jupyter Notebooks requires a cumbersome environment variable setup after launching GRASS from within the notebook. It also only allows for simple, non-interactive map displays. My project will address both these issues and improve the GRASS-Jupyter integration with a new package called grass.jupyter.

Goal

My goal is to design a Python/PyGRASS library which will have 3 main components for improving the GRASS-Jupyter integration: (1) creating new initiation functions for the launch of GRASS GIS in Jupyter Notebooks, (2) creating functions for more intuitive map display and, (3) introducing an interactive map display function.

Timeline

Time Period

Milestones

Tasks

Status

May 17th - June 7th
Community Bonding

  • Introduce myself in dev and SOC mailing lists
  • Get in contact with mentors and discuss project
  • Prepare the wiki page
  • Set up the GitHub repository for project
  • Set up developer environment

Ok
Ok
Ok
Ok
Ok

June 7th - June 11th
Week 1

  • Outline library architecture
  • Write grass.jupyter initiation function

June 14th - June 18th
Week 2

  • Write non-interactive display functions

June 21st - June 25
Week 3

  • Begin writing interactive/folium map functions

June 28 - July 2
Week 4

  • Finish writing interactive/folium map functions

July 5th - July 9th
Week 5

  • Write test modules

July 12th - July 16th
Week 6: Evaluations

  • Receive feedback and start second draft

July 19th - July 23rd
Week 7

  • Revise and improve functions

July 26th - July 30th
Week 8

  • Continue revising and improving functions
  • Create documentation and tutorials.

August 2nd - August 6th
Week 9

  • Finish Documentation and tutorials

August 9th - August 13th
'Week 10'

  • Write project summary

August 16th- August 23rd
Week 11: Final Evaluation and Code Submission

  • Submit code and final evaluation.

Bonding period report

With the bonding period wrapped up, here is a brief update on what I've been working on so far.

  1. What did I accomplish during the bonding period?
  • I introduced myself in dev and SOC mailing lists [1].
  • I had a productive meeting with my mentors, Vashek Petras, Helena Mitasova and Stefan Blumentrath last Friday. We discussed the best development environment (see second to last bullet point) and setting up the main GRASS repository to run in Binder (see last bullet point).
  • Prepared the wiki page [2].
  • Set up the GitHub repository for project [3].
  • Set up developer environment. Since development will be easier on Linux, I set up a VirtualBox with Linux (Ubuntu) on my Windows machine. I compiled and installed GRASS and installed Jupyter Notebooks in Ubuntu.
  • Opened my first PR [4] which contains binder dependencies.
  1. What do you plan on doing next week?

I've started working on setting up the GRASS repository to run in Binder [4]. This week I plan to continue working on that, set up branches for each of the PRs, and begin writing functions for the grass.jupyter library.

  1. Are you blocked on anything?

No, I'm not currently blocked on anything.

Evaluation Status

Weekly reports

Week 1

1) What did I get done this week?

2) What do I plan on doing next week?

3) Am I blocked on anything?

Week 2

Week 3

Week 4

Week 5

Week 6

Week 7

Week 8

Discussion Notes

Future Work

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.