<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Annakrat</id>
	<title>GRASS-Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Annakrat"/>
	<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/wiki/Special:Contributions/Annakrat"/>
	<updated>2026-08-08T05:22:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=29019</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=29019"/>
		<updated>2026-07-16T12:53:22Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* July 16 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 PR#1782]&lt;br /&gt;
*** yet unsubmitted&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
* cleanup of some old stale tickets&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
** Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7698 PR#7698] (CycloneDX SBOM)&lt;br /&gt;
* work on SPDX header cleanup [https://github.com/OSGeo/grass/issues/4190 issue 4190]&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7716 PR#7716]&lt;br /&gt;
&lt;br /&gt;
==== Jul 15 ====&lt;br /&gt;
* continuation of work on SPDX header cleanup, learned a lot about agents&lt;br /&gt;
* re-gained ssh access (thanks, strk and Regina!)&lt;br /&gt;
** to grass.osgeo.org - fixes for new website deployment method&lt;br /&gt;
** to grasswiki.osgeo.org - check for captcha removal&lt;br /&gt;
&lt;br /&gt;
==== Jul 16 ====&lt;br /&gt;
* Update [[Sponsors]] to numFOCUS&lt;br /&gt;
* fix ssh access to grass.osgeo.org for Corey (new website pages deployment)&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/130 130], [https://github.com/OSGeo/grass-tutorials/pull/133 #133],[https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Review grass-website PRs [https://github.com/OSGeo/grass-website/pull/169 169], [https://github.com/OSGeo/grass-website/pull/611 611], [https://github.com/OSGeo/grass-website/pull/613 613], [https://github.com/OSGeo/grass-website/pull/645 645].&lt;br /&gt;
* PRs and issues clean-up in tutorials and website.&lt;br /&gt;
* Fix conda submenu [https://github.com/OSGeo/grass-website/pull/643 643].&lt;br /&gt;
* Participated of the discussion on STDS integration into GUI with Anna and Stefan.&lt;br /&gt;
* Assisted Luca with local organization issues.&lt;br /&gt;
* Compiled list of voters for upcoming PSC elections in line with PSC criteria defined on [[PSC_Meeting_2024-06-14]].&lt;br /&gt;
** Went through grass, grass-addons, grass-promo, grass-website, grass-tutorials, rgrass and got contributors with at least one merged PR during the current and previous PSC mandates, i.e., as far as 2016.&lt;br /&gt;
** Check attendants to community meetings in the same period.&lt;br /&gt;
** Check contributions to QGIS related to GRASS in the same period.&lt;br /&gt;
** Processed all lists and compiled a file with unique names and emails. &lt;br /&gt;
* Pictures and social media posting.&lt;br /&gt;
* Managed to compile GRASS-dev in WSL.&lt;br /&gt;
* Tested [https://github.com/OSGeo/grass/pull/7707 grass#7077].&lt;br /&gt;
* Tested and reviewed [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass-addons/pull/1005 grass-addons#1005], [https://github.com/OSGeo/grass-addons/pull/1010 grass-addons#1010], [https://github.com/OSGeo/grass-addons/pull/1790 grass-addons#1790].&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
'''13-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - Split code into smaller lib functions, fix issues with original implementation, and updated tests.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 Reviewed PR#7298] - grass.script: add create_mapset function&lt;br /&gt;
# Got t.stac tutorial reviewed by Vero&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - '''(Merged)''' Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/637 PR#637 (grass-website)] - '''(Merged)''' Fix production build: inline Renovate-managed toolchain versions&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/639 PR#637 grass-website)] - '''(Merged)''' Add Renovate's helper preset to pin GitHub Actions to the full length SHA&lt;br /&gt;
&lt;br /&gt;
'''14-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/643 PR#643 (grass-website)] - '''(Reviewed/Merged)''' Menu entries: Use uppercase for Conda submenu&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Approved)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Approved)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(In-Review)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(In-Review)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1641 PR#1641 (grass-addons)] - '''(Merged)''' t.stac: fixed issue with download and import asset potentially overwhelming network.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - '''(In-Review)''' Split code into smaller lib functions, fix issues with original implementation, updated tests, and images to docs&lt;br /&gt;
# Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
&lt;br /&gt;
'''15-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1788 PR#1788 (grass-addons)] - '''(Draft)''' Create new r.soils.rosetta addon.&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1336 PR#1336 (grass-addons)] - '''(Closed)''' Update python script shebang line to python3&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 PR#7298 (grass)] - '''(Reviewed/Approved)''' grass.script: add create_mapset function&lt;br /&gt;
# [https://github.com/OpenPlainsInc/grass-obsidian (grass-obsidian)] - '''(Published)''' Opened up the OpenPlains grass-obsidian plugin that allows you to review your grass project from your obsidian notes.&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(Merged)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - '''(Merged)''' Hugo dart scss&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Merged)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(Merged)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Merged)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/issues/636 Issue#636 (grass-website] - '''(Closed)''' Add zizmor to the checks run&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7703 PR#7703 (grass)] - '''(Open)''' python: Use argument lists instead of shell=True for subprocess&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7713 PR#7713 (grass)] - '''(Open)''' checks: Mark justified partial-path subprocess calls as nosec B607&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7698 PR#7698 (grass)] - '''(Reviewed)'''CI: add CycloneDX SBOM generation for releases&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/583 PR#583 (grass-website)] '''(Closed)''' Update brand download dropdowns to Bootstrap 5 namespaced attributes&lt;br /&gt;
&lt;br /&gt;
'''15-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/issues/600 (grass-website)] '''(Closed)''' Migrating to Bootstrap v5 from v3&lt;br /&gt;
# Load photos to Google Photos&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/169 PR#169 (grass-website)] '''(Review)''' GRASS community map&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/659 PR#659 (grass-website)] '''(Open)''' ci: npm security updates&lt;br /&gt;
# Got setup with Google Search Console for GRASS to track SEO&lt;br /&gt;
# Debugging loss of access to osgeo server.&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1788 PR#1788 (grass-addons)] - '''(Open)''' Create new r.soils.rosetta addon. Add first implication of r.soils.rosetta and updated r.in.ssurgo to produce the correct raster outputs for clay, sand, and bulk density.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7713 PR#7713 (grass)] - '''(Open)''' checks: Mark justified partial-path subprocess calls as nosec B607&lt;br /&gt;
# Created osgeo-skills proposal&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
* Review Jupyter GUI integration [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Discussion between me, Linda, Alen and Vashek about data catalog and regions&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
&lt;br /&gt;
* Fixing v.class causing flaky test [https://github.com/OSGeo/grass/pull/7692 #7692]&lt;br /&gt;
* Call with Saket and Stefan about the GSoC project&lt;br /&gt;
* Review [https://github.com/OSGeo/grass/pull/7608 #7608], [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Adding new icons for #7608.&lt;br /&gt;
* Cmake fixes [https://github.com/OSGeo/grass/pull/7720 #7720]&lt;br /&gt;
&lt;br /&gt;
==== July 15 ====&lt;br /&gt;
* temporal fixes [https://github.com/OSGeo/grass/pull/7717 #7717]&lt;br /&gt;
* over 10 PRs reviewed&lt;br /&gt;
* fix temporal with 3.14 [https://github.com/OSGeo/grass/pull/7724 #7724]&lt;br /&gt;
&lt;br /&gt;
==== July 16 ====&lt;br /&gt;
* review 7599, 7444&lt;br /&gt;
* reviewing GSoC r.param.scale and r.proj PRs&lt;br /&gt;
* fixing v.proj bug&lt;br /&gt;
* load C libraries in a notebook [https://github.com/OSGeo/grass/pull/7733 #7733]&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672], [https://github.com/OSGeo/grass/pull/7684 #7684], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
* Configured CI required checks to not wait for successful checks during the code sprint, with the new rights given to me. Discussed with Vashek on what approach we'd want for the 4 ubuntu job configurations.&lt;br /&gt;
** Commented on an issue closed today [https://github.com/OSGeo/grass/issues/1313 #1313] about cppcheck: cppcheck could be useful to cover a bit more configuration combinations, but as discussed, only being to compile would only get us so far without testing.&lt;br /&gt;
* Discussion with Vashek on AI policy and approach to use with AI, low-quality contributors; Approach on renovate updates; Wishes on release cadence&lt;br /&gt;
* Multiple reviews and pair brainstorming on grass-website with Corey White, including [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass-website/pull/637 grass-website#637], [https://github.com/OSGeo/grass-website/pull/639 grass-website#639], [https://github.com/OSGeo/grass-website/pull/634 grass-website#634], [https://github.com/OSGeo/grass-website/pull/640 grass-website#640]&lt;br /&gt;
* Worked on CMake formatting, moving forward the PR a contributor opened for Gersemi, PR [https://github.com/OSGeo/grass/pull/7663 #7663], discussed weird finding with Vashek, lead to issue [https://github.com/OSGeo/grass/issues/7686 #7686]. To be continued the next day.&lt;br /&gt;
* Opened PR [https://github.com/OSGeo/grass/pull/7685 #7685] (merged), [https://github.com/OSGeo/grass/pull/7683 #7683] (needs more work/investigation), [https://github.com/OSGeo/grass/pull/7680 #7680] (merged)&lt;br /&gt;
* Opened issue to add zizmor to grass-website tools used to check, either local or CI [https://github.com/OSGeo/grass-website/issues/636 grass-website#636]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* (Early night) Merge PR that updates minimum Python version to 3.11, needed to change the required checks in order to do so. [https://github.com/OSGeo/grass/pull/7684 #7684].&lt;br /&gt;
** In the morning, update PRs which were most probably ready, and needed the check passing, like [https://github.com/OSGeo/grass/pull/7329 #7329], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Review and/or merge [https://github.com/OSGeo/grass-website/pull/642 grass-website#642], [https://github.com/OSGeo/grass/pull/7674 #7674], [https://github.com/OSGeo/grass/pull/7689 #7689], [https://github.com/OSGeo/grass/pull/7688 #7688], [https://github.com/OSGeo/grass/pull/7690 #7690], [https://github.com/OSGeo/grass/pull/7699 #7699], [https://github.com/OSGeo/grass/pull/7697 #7697], [https://github.com/OSGeo/grass/pull/7713 #7713], [https://github.com/OSGeo/grass/pull/7702 #7702], [https://github.com/OSGeo/grass/pull/7678 #7678], [https://github.com/OSGeo/grass-addons/pull/1786 grass-addons#1786]&lt;br /&gt;
* Long review and analysis of [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], coming from a discussion earlier on that using a single workflow to build, but split the deploy part in order to run separately.&lt;br /&gt;
* Work on CMake formatting tool: Finally ended up replacing [https://github.com/OSGeo/grass/pull/7663 #7663] with [https://github.com/OSGeo/grass/pull/7696 #7696]. Will close issue [https://github.com/OSGeo/grass/issues/7346 #7346] and [https://github.com/OSGeo/grass/issues/7686 #7686]. Opened issues with the tool's repo [https://github.com/BlankSpruce/gersemi/issues/123], [https://github.com/BlankSpruce/gersemi/issues/124], and [https://github.com/BlankSpruce/gersemi/issues/122] (the previous day).&lt;br /&gt;
* Help Stefan Blumentrath's son get started with finding simple ruff rules to fix.&lt;br /&gt;
* Work with Antonio Galea on making windows standalone installer + addons work without the old server. The installer now works. [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
* Reviewing PR by navigating types in dynamic gui code [https://github.com/OSGeo/grass/pull/7693 #7693]&lt;br /&gt;
* More precise discussion with team on what renovate grouping strategy to use.&lt;br /&gt;
* Discussion with Vashek on python version support policy.&lt;br /&gt;
* Created PR [https://github.com/OSGeo/grass/pull/7718 #7718] (merged)&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
* Merged [https://github.com/OSGeo/grass/pull/7699 #7699]&lt;br /&gt;
* Review issue [https://github.com/OSGeo/grass/issues/7646 #7646]&lt;br /&gt;
* Created PR [https://github.com/OSGeo/grass/pull/7722 #7722] (merged), [https://github.com/OSGeo/grass/pull/7723 #7723]&lt;br /&gt;
* Review PR [https://github.com/OSGeo/grass/pull/7687 #7687], [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], [https://github.com/OSGeo/grass-addons/pull/1769 grass-addons#1769], [https://github.com/OSGeo/grass-addons/pull/1785 grass-addons#1785], [https://github.com/OSGeo/grass/pull/7676 #7676], [https://github.com/OSGeo/grass-website/pull/645 grass-website#645], [https://github.com/OSGeo/grass/pull/5656 #5656], [https://github.com/OSGeo/grass-addons/pull/1791 grass-addons#1791]&lt;br /&gt;
* Try to get [https://github.com/OSGeo/grass/pull/7635 #7635] merged (update after other PR fixed test).&lt;br /&gt;
* Finished editing [https://github.com/OSGeo/grass/pull/7693 #7693]&lt;br /&gt;
* Worked again on CMake formatting, creating stubs for unrecognized functions [https://github.com/OSGeo/grass/pull/7696 #7696]&lt;br /&gt;
* Create draft rulesets for the grass-website repo.&lt;br /&gt;
* Debugged [https://github.com/OSGeo/grass/pull/7683 #7683] for codecov to work on macOS runners configured to build grass&lt;br /&gt;
* Discussion with Anna on the viability of MkDocs, alternatives, and how the attempt on using Zensical turned out. Zensical is missing at least tag listing pages.&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-16 ====&lt;br /&gt;
* Applied the fixes for [https://github.com/OSGeo/grass/pull/7683 #7683] to work.&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* Update RFC for updating Python versions which also sets up precedence for RFC amendments. &lt;br /&gt;
* Review v.class undefined behavior PR&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
* Port old in-package grass.pygrass unit tests to pytest&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7707 #7707]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7682 #7682], [https://github.com/OSGeo/grass/pull/7714 #7714], [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7707 #7707]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-16 ====&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7693 #7693]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7693 #7693],[https://github.com/OSGeo/grass/pull/7731 #7731],  [https://github.com/OSGeo/grass/pull/7732 #7732],  [https://github.com/OSGeo/grass/pull/2448 #2448]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;br /&gt;
&lt;br /&gt;
==== Website ====&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/OSGeo/grass-website/pull/169 Community map]&lt;br /&gt;
&lt;br /&gt;
==== Addons ====&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1010/ t.rast.aggregate.seasons] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1005 t.rast.climatologies] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/641 t.rast.vi] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1695 r.learn.predict] fix map history&lt;br /&gt;
&lt;br /&gt;
=== Antonio Galea ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* support with the development of the (broken) winGRASS server replacement with a GitHub actions based Windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
=== Tomaž Žagar ===&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* i.hyper addon: enhancement/bugfix when importing EnMAP example data: https://github.com/mazingaro/grass-addons/issues/12&lt;br /&gt;
* i,hyper addon: fixed radiance import: https://github.com/mazingaro/grass-addons/issues/16&lt;br /&gt;
* started to work on: https://github.com/mazingaro/grass-addons/issues/6&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
* Continued to work on: https://github.com/mazingaro/grass-addons/issues/6&lt;br /&gt;
** first implemented it as Python addon - then switched to C addon as proposed for &amp;quot;better&amp;quot; integration (compilation when installing addon with g.extension) with https://github.com/YannChemin/libsixsv&lt;br /&gt;
** included https://github.com/YannChemin/i.hyper.atcorr to https://github.com/mazingaro/grass-addons/tree/i.hyper/src/imagery/i.hyper/i.hyper.atcorr&lt;br /&gt;
** added i.hyper.history handling to https://github.com/mazingaro/grass-addons/commit/97957ebf7723a2866a13926ded57d104a546036a&lt;br /&gt;
** testing and wondering&lt;br /&gt;
&lt;br /&gt;
=== Matjaž Krebs ===&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* i.hyper addon: Started working on new importer module for emit data&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* i.hyper addon: working on importer module for emit data. Implementing and troubleshooting.&lt;br /&gt;
* i.hyper addon: working on i.hyper.export bug for exporting 3D raster cube from WGS 4326&lt;br /&gt;
&lt;br /&gt;
=== Alen Mangafić ===&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* i.hyper addon: improved EnMAP import handling and related bugfixes: https://github.com/mazingaro/grass-addons/commit/0a30d9505, https://github.com/mazingaro/grass-addons/commit/36bf3e686&lt;br /&gt;
* i.hyper addon: improved metadata copying/validation and fixed i.hyper.preproc import behavior: https://github.com/mazingaro/grass-addons/commit/d4313f162, https://github.com/mazingaro/grass-addons/commit/a52012289, https://github.com/mazingaro/grass-addons/commit/ce6cdd25d, https://github.com/mazingaro/grass-addons/commit/6d994e853&lt;br /&gt;
* i.hyper addon: implemented spectral resampling and merged it into i.hyper: https://github.com/mazingaro/grass-addons/commit/38a8e073b, https://github.com/mazingaro/grass-addons/commit/c992bc90f&lt;br /&gt;
* helped Matjaž Krebs to survive the day&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
&lt;br /&gt;
* SPDX License AI monkey business TBA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Christian Braun ===&lt;br /&gt;
&lt;br /&gt;
* grass: [https://github.com/OSGeo/grass/pull/7725 grass #7725] — wxGUI: fixed orphaned drag image windows when dragging layers in the layer tree on macOS, and addressed the review comments on the TOC drag fix.&lt;br /&gt;
* grass-addons: added [https://docs.pytest.org pytest] test coverage and small fixes to several addons:&lt;br /&gt;
** [https://github.com/OSGeo/grass-addons/pull/1784 grass-addons #1784] — ''r.clip'': added a pytest test suite (merged).&lt;br /&gt;
** [https://github.com/OSGeo/grass-addons/pull/1786 grass-addons #1786] — ''r.centroids'': added a pytest test suite (merged).&lt;br /&gt;
** [https://github.com/OSGeo/grass-addons/pull/1787 grass-addons #1787] — ''v.median'': fixed the stdout output and added a pytest test suite.&lt;br /&gt;
* actinia: discussed with Markus about a GeoNode-Addon to connect actinia as a processing backend. First architecting and design work has been done.&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=29015</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=29015"/>
		<updated>2026-07-16T11:56:18Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* July 16 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 PR#1782]&lt;br /&gt;
*** yet unsubmitted&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
* cleanup of some old stale tickets&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
** Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7698 PR#7698] (CycloneDX SBOM)&lt;br /&gt;
* work on SPDX header cleanup [https://github.com/OSGeo/grass/issues/4190 issue 4190]&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7716 PR#7716]&lt;br /&gt;
&lt;br /&gt;
==== Jul 15 ====&lt;br /&gt;
* continuation of work on SPDX header cleanup, learned a lot about agents&lt;br /&gt;
* re-gained ssh access (thanks, strk and Regina!)&lt;br /&gt;
** to grass.osgeo.org - fixes for new website deployment method&lt;br /&gt;
** to grasswiki.osgeo.org - check for captcha removal&lt;br /&gt;
&lt;br /&gt;
==== Jul 16 ====&lt;br /&gt;
* Update [[Sponsors]] to numFOCUS&lt;br /&gt;
* fix ssh access to grass.osgeo.org for Corey (new website pages deployment)&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/130 130], [https://github.com/OSGeo/grass-tutorials/pull/133 #133],[https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Review grass-website PRs [https://github.com/OSGeo/grass-website/pull/169 169], [https://github.com/OSGeo/grass-website/pull/611 611], [https://github.com/OSGeo/grass-website/pull/613 613], [https://github.com/OSGeo/grass-website/pull/645 645].&lt;br /&gt;
* PRs and issues clean-up in tutorials and website.&lt;br /&gt;
* Fix conda submenu [https://github.com/OSGeo/grass-website/pull/643 643].&lt;br /&gt;
* Participated of the discussion on STDS integration into GUI with Anna and Stefan.&lt;br /&gt;
* Assisted Luca with local organization issues.&lt;br /&gt;
* Compiled list of voters for upcoming PSC elections in line with PSC criteria defined on [[PSC_Meeting_2024-06-14]].&lt;br /&gt;
** Went through grass, grass-addons, grass-promo, grass-website, grass-tutorials, rgrass and got contributors with at least one merged PR during the current and previous PSC mandates, i.e., as far as 2016.&lt;br /&gt;
** Check attendants to community meetings in the same period.&lt;br /&gt;
** Check contributions to QGIS related to GRASS in the same period.&lt;br /&gt;
** Processed all lists and compiled a file with unique names and emails. &lt;br /&gt;
* Pictures and social media posting.&lt;br /&gt;
* Managed to compile GRASS-dev in WSL.&lt;br /&gt;
* Tested [https://github.com/OSGeo/grass/pull/7707 grass#7077].&lt;br /&gt;
* Tested and reviewed [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass-addons/pull/1005 grass-addons#1005], [https://github.com/OSGeo/grass-addons/pull/1010 grass-addons#1010].&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
'''13-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - Split code into smaller lib functions, fix issues with original implementation, and updated tests.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 Reviewed PR#7298] - grass.script: add create_mapset function&lt;br /&gt;
# Got t.stac tutorial reviewed by Vero&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - '''(Merged)''' Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/637 PR#637 (grass-website)] - '''(Merged)''' Fix production build: inline Renovate-managed toolchain versions&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/639 PR#637 grass-website)] - '''(Merged)''' Add Renovate's helper preset to pin GitHub Actions to the full length SHA&lt;br /&gt;
&lt;br /&gt;
'''14-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/643 PR#643 (grass-website)] - '''(Reviewed/Merged)''' Menu entries: Use uppercase for Conda submenu&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Approved)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Approved)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(In-Review)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(In-Review)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1641 PR#1641 (grass-addons)] - '''(Merged)''' t.stac: fixed issue with download and import asset potentially overwhelming network.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - '''(In-Review)''' Split code into smaller lib functions, fix issues with original implementation, updated tests, and images to docs&lt;br /&gt;
# Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
&lt;br /&gt;
'''15-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1788 PR#1788 (grass-addons)] - '''(Draft)''' Create new r.soils.rosetta addon.&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1336 PR#1336 (grass-addons)] - '''(Closed)''' Update python script shebang line to python3&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 PR#7298 (grass)] - '''(Reviewed/Approved)''' grass.script: add create_mapset function&lt;br /&gt;
# [https://github.com/OpenPlainsInc/grass-obsidian (grass-obsidian)] - '''(Published)''' Opened up the OpenPlains grass-obsidian plugin that allows you to review your grass project from your obsidian notes.&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(Merged)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - '''(Merged)''' Hugo dart scss&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Merged)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(Merged)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Merged)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/issues/636 Issue#636 (grass-website] - '''(Closed)''' Add zizmor to the checks run&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7703 PR#7703 (grass)] - '''(Open)''' python: Use argument lists instead of shell=True for subprocess&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7713 PR#7713 (grass)] - '''(Open)''' checks: Mark justified partial-path subprocess calls as nosec B607&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7698 PR#7698 (grass)] - '''(Reviewed)'''CI: add CycloneDX SBOM generation for releases&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/583 PR#583 (grass-website)] '''(Closed)''' Update brand download dropdowns to Bootstrap 5 namespaced attributes&lt;br /&gt;
&lt;br /&gt;
'''15-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/issues/600 (grass-website)] '''(Closed)''' Migrating to Bootstrap v5 from v3&lt;br /&gt;
# Load photos to Google Photos&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/169 PR#169 (grass-website)] '''(Review)''' GRASS community map&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
* Review Jupyter GUI integration [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Discussion between me, Linda, Alen and Vashek about data catalog and regions&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
&lt;br /&gt;
* Fixing v.class causing flaky test [https://github.com/OSGeo/grass/pull/7692 #7692]&lt;br /&gt;
* Call with Saket and Stefan about the GSoC project&lt;br /&gt;
* Review [https://github.com/OSGeo/grass/pull/7608 #7608], [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Adding new icons for #7608.&lt;br /&gt;
* Cmake fixes [https://github.com/OSGeo/grass/pull/7720 #7720]&lt;br /&gt;
&lt;br /&gt;
==== July 15 ====&lt;br /&gt;
* temporal fixes [https://github.com/OSGeo/grass/pull/7717 #7717]&lt;br /&gt;
* over 10 PRs reviewed&lt;br /&gt;
* fix temporal with 3.14 [https://github.com/OSGeo/grass/pull/7724 #7724]&lt;br /&gt;
&lt;br /&gt;
==== July 16 ====&lt;br /&gt;
* review 7599, 7444&lt;br /&gt;
* reviewing GSoC r.param.scale and r.proj PRs&lt;br /&gt;
* fixing v.proj bug&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672], [https://github.com/OSGeo/grass/pull/7684 #7684], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
* Configured CI required checks to not wait for successful checks during the code sprint, with the new rights given to me. Discussed with Vashek on what approach we'd want for the 4 ubuntu job configurations.&lt;br /&gt;
** Commented on an issue closed today [https://github.com/OSGeo/grass/issues/1313 #1313] about cppcheck: cppcheck could be useful to cover a bit more configuration combinations, but as discussed, only being to compile would only get us so far without testing.&lt;br /&gt;
* Discussion with Vashek on AI policy and approach to use with AI, low-quality contributors; Approach on renovate updates; Wishes on release cadence&lt;br /&gt;
* Multiple reviews and pair brainstorming on grass-website with Corey White, including [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass-website/pull/637 grass-website#637], [https://github.com/OSGeo/grass-website/pull/639 grass-website#639], [https://github.com/OSGeo/grass-website/pull/634 grass-website#634], [https://github.com/OSGeo/grass-website/pull/640 grass-website#640]&lt;br /&gt;
* Worked on CMake formatting, moving forward the PR a contributor opened for Gersemi, PR [https://github.com/OSGeo/grass/pull/7663 #7663], discussed weird finding with Vashek, lead to issue [https://github.com/OSGeo/grass/issues/7686 #7686]. To be continued the next day.&lt;br /&gt;
* Opened PR [https://github.com/OSGeo/grass/pull/7685 #7685] (merged), [https://github.com/OSGeo/grass/pull/7683 #7683] (needs more work/investigation), [https://github.com/OSGeo/grass/pull/7680 #7680] (merged)&lt;br /&gt;
* Opened issue to add zizmor to grass-website tools used to check, either local or CI [https://github.com/OSGeo/grass-website/issues/636 grass-website#636]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* (Early night) Merge PR that updates minimum Python version to 3.11, needed to change the required checks in order to do so. [https://github.com/OSGeo/grass/pull/7684 #7684].&lt;br /&gt;
** In the morning, update PRs which were most probably ready, and needed the check passing, like [https://github.com/OSGeo/grass/pull/7329 #7329], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Review and/or merge [https://github.com/OSGeo/grass-website/pull/642 grass-website#642], [https://github.com/OSGeo/grass/pull/7674 #7674], [https://github.com/OSGeo/grass/pull/7689 #7689], [https://github.com/OSGeo/grass/pull/7688 #7688], [https://github.com/OSGeo/grass/pull/7690 #7690], [https://github.com/OSGeo/grass/pull/7699 #7699], [https://github.com/OSGeo/grass/pull/7697 #7697], [https://github.com/OSGeo/grass/pull/7713 #7713], [https://github.com/OSGeo/grass/pull/7702 #7702], [https://github.com/OSGeo/grass/pull/7678 #7678], [https://github.com/OSGeo/grass-addons/pull/1786 grass-addons#1786]&lt;br /&gt;
* Long review and analysis of [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], coming from a discussion earlier on that using a single workflow to build, but split the deploy part in order to run separately.&lt;br /&gt;
* Work on CMake formatting tool: Finally ended up replacing [https://github.com/OSGeo/grass/pull/7663 #7663] with [https://github.com/OSGeo/grass/pull/7696 #7696]. Will close issue [https://github.com/OSGeo/grass/issues/7346 #7346] and [https://github.com/OSGeo/grass/issues/7686 #7686]. Opened issues with the tool's repo [https://github.com/BlankSpruce/gersemi/issues/123], [https://github.com/BlankSpruce/gersemi/issues/124], and [https://github.com/BlankSpruce/gersemi/issues/122] (the previous day).&lt;br /&gt;
* Help Stefan Blumentrath's son get started with finding simple ruff rules to fix.&lt;br /&gt;
* Work with Antonio Galea on making windows standalone installer + addons work without the old server. The installer now works. [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
* Reviewing PR by navigating types in dynamic gui code [https://github.com/OSGeo/grass/pull/7693 #7693]&lt;br /&gt;
* More precise discussion with team on what renovate grouping strategy to use.&lt;br /&gt;
* Discussion with Vashek on python version support policy.&lt;br /&gt;
* Created PR [https://github.com/OSGeo/grass/pull/7718 #7718] (merged)&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
* Merged [https://github.com/OSGeo/grass/pull/7699 #7699]&lt;br /&gt;
* Review issue [https://github.com/OSGeo/grass/issues/7646 #7646]&lt;br /&gt;
* Created PR [https://github.com/OSGeo/grass/pull/7722 #7722] (merged), [https://github.com/OSGeo/grass/pull/7723 #7723]&lt;br /&gt;
* Review PR [https://github.com/OSGeo/grass/pull/7687 #7687], [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], [https://github.com/OSGeo/grass-addons/pull/1769 grass-addons#1769], [https://github.com/OSGeo/grass-addons/pull/1785 grass-addons#1785], [https://github.com/OSGeo/grass/pull/7676 #7676], [https://github.com/OSGeo/grass-website/pull/645 grass-website#645], [https://github.com/OSGeo/grass/pull/5656 #5656], [https://github.com/OSGeo/grass-addons/pull/1791 grass-addons#1791]&lt;br /&gt;
* Try to get [https://github.com/OSGeo/grass/pull/7635 #7635] merged (update after other PR fixed test).&lt;br /&gt;
* Finished editing [https://github.com/OSGeo/grass/pull/7693 #7693]&lt;br /&gt;
* Worked again on CMake formatting, creating stubs for unrecognized functions [https://github.com/OSGeo/grass/pull/7696 #7696]&lt;br /&gt;
* Create draft rulesets for the grass-website repo.&lt;br /&gt;
* Debugged [https://github.com/OSGeo/grass/pull/7683 #7683] for codecov to work on macOS runners configured to build grass&lt;br /&gt;
* Discussion with Anna on the viability of MkDocs, alternatives, and how the attempt on using Zensical turned out. Zensical is missing at least tag listing pages.&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-16 ====&lt;br /&gt;
* Applied the fixes for [https://github.com/OSGeo/grass/pull/7683 #7683] to work.&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* Update RFC for updating Python versions which also sets up precedence for RFC amendments. &lt;br /&gt;
* Review v.class undefined behavior PR&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
* Port old in-package grass.pygrass unit tests to pytest&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7707 #7707]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7682 #7682], [https://github.com/OSGeo/grass/pull/7714 #7714], [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7707 #7707]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;br /&gt;
&lt;br /&gt;
==== Website ====&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/OSGeo/grass-website/pull/169 Community map]&lt;br /&gt;
&lt;br /&gt;
==== Addons ====&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1010/ t.rast.aggregate.seasons] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1005 t.rast.climatologies] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/641 t.rast.vi] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1695 r.learn.predict] fix map history&lt;br /&gt;
&lt;br /&gt;
=== Antonio Galea ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* support with the development of the (broken) winGRASS server replacement with a GitHub actions based Windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
=== Tomaž Žagar ===&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* i.hyper addon: enhancement/bugfix when importing EnMAP example data: https://github.com/mazingaro/grass-addons/issues/12&lt;br /&gt;
* i,hyper addon: fixed radiance import: https://github.com/mazingaro/grass-addons/issues/16&lt;br /&gt;
* started to work on: https://github.com/mazingaro/grass-addons/issues/6&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
* Continued to work on: https://github.com/mazingaro/grass-addons/issues/6&lt;br /&gt;
** first implemented it as Python addon - then switched to C addon as proposed for &amp;quot;better&amp;quot; integration (compilation when installing addon with g.extension) with https://github.com/YannChemin/libsixsv&lt;br /&gt;
** included https://github.com/YannChemin/i.hyper.atcorr to https://github.com/mazingaro/grass-addons/tree/i.hyper/src/imagery/i.hyper/i.hyper.atcorr&lt;br /&gt;
** added i.hyper.history handling to https://github.com/mazingaro/grass-addons/commit/97957ebf7723a2866a13926ded57d104a546036a&lt;br /&gt;
** testing and wondering&lt;br /&gt;
&lt;br /&gt;
=== Matjaž Krebs ===&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* i.hyper addon: Started working on new importer module for emit data&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* i.hyper addon: working on importer module for emit data. Implementing and troubleshooting.&lt;br /&gt;
* i.hyper addon: working on i.hyper.export bug for exporting 3D raster cube from WGS 4326&lt;br /&gt;
&lt;br /&gt;
=== Alen Mangafić ===&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* i.hyper addon: improved EnMAP import handling and related bugfixes: https://github.com/mazingaro/grass-addons/commit/0a30d9505, https://github.com/mazingaro/grass-addons/commit/36bf3e686&lt;br /&gt;
* i.hyper addon: improved metadata copying/validation and fixed i.hyper.preproc import behavior: https://github.com/mazingaro/grass-addons/commit/d4313f162, https://github.com/mazingaro/grass-addons/commit/a52012289, https://github.com/mazingaro/grass-addons/commit/ce6cdd25d, https://github.com/mazingaro/grass-addons/commit/6d994e853&lt;br /&gt;
* i.hyper addon: implemented spectral resampling and merged it into i.hyper: https://github.com/mazingaro/grass-addons/commit/38a8e073b, https://github.com/mazingaro/grass-addons/commit/c992bc90f&lt;br /&gt;
* helped Matjaž Krebs to survive the day&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
&lt;br /&gt;
* SPDX License AI monkey business TBA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Christian Braun ===&lt;br /&gt;
&lt;br /&gt;
* grass: [https://github.com/OSGeo/grass/pull/7725 grass #7725] — wxGUI: fixed orphaned drag image windows when dragging layers in the layer tree on macOS, and addressed the review comments on the TOC drag fix.&lt;br /&gt;
* grass-addons: added [https://docs.pytest.org pytest] test coverage and small fixes to several addons:&lt;br /&gt;
** [https://github.com/OSGeo/grass-addons/pull/1784 grass-addons #1784] — ''r.clip'': added a pytest test suite (merged).&lt;br /&gt;
** [https://github.com/OSGeo/grass-addons/pull/1786 grass-addons #1786] — ''r.centroids'': added a pytest test suite (merged).&lt;br /&gt;
** [https://github.com/OSGeo/grass-addons/pull/1787 grass-addons #1787] — ''v.median'': fixed the stdout output and added a pytest test suite.&lt;br /&gt;
* actinia: discussed with Markus about a GeoNode-Addon to connect actinia as a processing backend. First architecting and design work has been done.&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=29002</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=29002"/>
		<updated>2026-07-16T06:17:56Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Anna Petrasova */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 PR#1782]&lt;br /&gt;
*** yet unsubmitted&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
* cleanup of some old stale tickets&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
** Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7698 PR#7698] (CycloneDX SBOM)&lt;br /&gt;
* work on SPDX header cleanup [https://github.com/OSGeo/grass/issues/4190 issue 4190]&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7716 PR#7716]&lt;br /&gt;
&lt;br /&gt;
==== Jul 15 ====&lt;br /&gt;
* continuation of work on SPDX header cleanup, learned a lot about agents&lt;br /&gt;
* re-gained ssh access (thanks, strk and Regina!)&lt;br /&gt;
** to grass.osgeo.org - fixes for new website deployment method&lt;br /&gt;
** to grasswiki.osgeo.org - check for captcha removal&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/130 130], [https://github.com/OSGeo/grass-tutorials/pull/133 #133],[https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Review grass-website PRs [https://github.com/OSGeo/grass-website/pull/169 169], [https://github.com/OSGeo/grass-website/pull/611 611], [https://github.com/OSGeo/grass-website/pull/613 613], [https://github.com/OSGeo/grass-website/pull/645 645].&lt;br /&gt;
* PRs and issues clean-up in tutorials and website.&lt;br /&gt;
* Fix conda submenu [https://github.com/OSGeo/grass-website/pull/643 643].&lt;br /&gt;
* Participated of the discussion on STDS integration into GUI with Anna and Stefan.&lt;br /&gt;
* Assisted Luca with local organization issues.&lt;br /&gt;
* Compiled list of voters for upcoming PSC elections in line with PSC criteria defined on [[PSC_Meeting_2024-06-14]].&lt;br /&gt;
** Went through grass, grass-addons, grass-promo, grass-website, grass-tutorials, rgrass and got contributors with at least one merged PR during the current and previous PSC mandates, i.e., as far as 2016.&lt;br /&gt;
** Check attendants to community meetings in the same period.&lt;br /&gt;
** Check contributions to QGIS related to GRASS in the same period.&lt;br /&gt;
** Processed all lists and compiled a file with unique names and emails. &lt;br /&gt;
* Pictures and social media posting.&lt;br /&gt;
* Managed to compile GRASS-dev in LSW.&lt;br /&gt;
* Tested [https://github.com/OSGeo/grass/pull/7707 grass-#7077].&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
'''13-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - Split code into smaller lib functions, fix issues with original implementation, and updated tests.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 Reviewed PR#7298] - grass.script: add create_mapset function&lt;br /&gt;
# Got t.stac tutorial reviewed by Vero&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - '''(Merged)''' Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/637 PR#637 (grass-website)] - '''(Merged)''' Fix production build: inline Renovate-managed toolchain versions&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/639 PR#637 grass-website)] - '''(Merged)''' Add Renovate's helper preset to pin GitHub Actions to the full length SHA&lt;br /&gt;
&lt;br /&gt;
'''14-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/643 PR#643 (grass-website)] - '''(Reviewed/Merged)''' Menu entries: Use uppercase for Conda submenu&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Approved)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Approved)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(In-Review)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(In-Review)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1641 PR#1641 (grass-addons)] - '''(Merged)''' t.stac: fixed issue with download and import asset potentially overwhelming network.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - '''(In-Review)''' Split code into smaller lib functions, fix issues with original implementation, updated tests, and images to docs&lt;br /&gt;
# Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
&lt;br /&gt;
'''15-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1788 PR#1788 (grass-addons)] - '''(Draft)''' Create new r.soils.rosetta addon.&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1336 PR#1336 (grass-addons)] - '''(Closed)''' Update python script shebang line to python3&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 PR#7298 (grass)] - '''(Reviewed/Approved)''' grass.script: add create_mapset function&lt;br /&gt;
# [https://github.com/OpenPlainsInc/grass-obsidian (grass-obsidian)] - '''(Published)''' Opened up the OpenPlains grass-obsidian plugin that allows you to review your grass project from your obsidian notes.&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(Merged)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - '''(Merged)''' Hugo dart scss&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Merged)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(Merged)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Merged)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/issues/636 Issue#636 (grass-website] - '''(Closed)''' Add zizmor to the checks run&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7703 PR#7703 (grass)] - '''(Open)''' python: Use argument lists instead of shell=True for subprocess&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7713 PR#7713 (grass)] - '''(Open)''' checks: Mark justified partial-path subprocess calls as nosec B607&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7698 PR#7698 (grass)] - '''(Reviewed)'''CI: add CycloneDX SBOM generation for releases&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/583 PR#583 (grass-website)] '''(Closed)''' Update brand download dropdowns to Bootstrap 5 namespaced attributes&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
* Review Jupyter GUI integration [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Discussion between me, Linda, Alen and Vashek about data catalog and regions&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
&lt;br /&gt;
* Fixing v.class causing flaky test [https://github.com/OSGeo/grass/pull/7692 #7692]&lt;br /&gt;
* Call with Saket and Stefan about the GSoC project&lt;br /&gt;
* Review [https://github.com/OSGeo/grass/pull/7608 #7608], [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Adding new icons for #7608.&lt;br /&gt;
* Cmake fixes [https://github.com/OSGeo/grass/pull/7720 #7720]&lt;br /&gt;
&lt;br /&gt;
==== July 15 ====&lt;br /&gt;
* temporal fixes [https://github.com/OSGeo/grass/pull/7717 #7717]&lt;br /&gt;
* over 10 PRs reviewed&lt;br /&gt;
* fix temporal with 3.14 [https://github.com/OSGeo/grass/pull/7724 #7724]&lt;br /&gt;
&lt;br /&gt;
==== July 16 ====&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672], [https://github.com/OSGeo/grass/pull/7684 #7684], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
* Configured CI required checks to not wait for successful checks during the code sprint, with the new rights given to me. Discussed with Vashek on what approach we'd want for the 4 ubuntu job configurations.&lt;br /&gt;
** Commented on an issue closed today [https://github.com/OSGeo/grass/issues/1313 #1313] about cppcheck: cppcheck could be useful to cover a bit more configuration combinations, but as discussed, only being to compile would only get us so far without testing.&lt;br /&gt;
* Discussion with Vashek on AI policy and approach to use with AI, low-quality contributors; Approach on renovate updates; Wishes on release cadence&lt;br /&gt;
* Multiple reviews and pair brainstorming on grass-website with Corey White, including [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass-website/pull/637 grass-website#637], [https://github.com/OSGeo/grass-website/pull/639 grass-website#639], [https://github.com/OSGeo/grass-website/pull/634 grass-website#634], [https://github.com/OSGeo/grass-website/pull/640 grass-website#640]&lt;br /&gt;
* Worked on CMake formatting, moving forward the PR a contributor opened for Gersemi, PR [https://github.com/OSGeo/grass/pull/7663 #7663], discussed weird finding with Vashek, lead to issue [https://github.com/OSGeo/grass/issues/7686 #7686]. To be continued the next day.&lt;br /&gt;
* Opened PR [https://github.com/OSGeo/grass/pull/7685 #7685] (merged), [https://github.com/OSGeo/grass/pull/7683 #7683] (needs more work/investigation), [https://github.com/OSGeo/grass/pull/7680 #7680] (merged)&lt;br /&gt;
* Opened issue to add zizmor to grass-website tools used to check, either local or CI [https://github.com/OSGeo/grass-website/issues/636 grass-website#636]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* (Early night) Merge PR that updates minimum Python version to 3.11, needed to change the required checks in order to do so. [https://github.com/OSGeo/grass/pull/7684 #7684].&lt;br /&gt;
** In the morning, update PRs which were most probably ready, and needed the check passing, like [https://github.com/OSGeo/grass/pull/7329 #7329], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Review and/or merge [https://github.com/OSGeo/grass-website/pull/642 grass-website#642], [https://github.com/OSGeo/grass/pull/7674 #7674], [https://github.com/OSGeo/grass/pull/7689 #7689], [https://github.com/OSGeo/grass/pull/7688 #7688], [https://github.com/OSGeo/grass/pull/7690 #7690], [https://github.com/OSGeo/grass/pull/7699 #7699], [https://github.com/OSGeo/grass/pull/7697 #7697], [https://github.com/OSGeo/grass/pull/7713 #7713], [https://github.com/OSGeo/grass/pull/7702 #7702], [https://github.com/OSGeo/grass/pull/7678 #7678], [https://github.com/OSGeo/grass-addons/pull/1786 grass-addons#1786]&lt;br /&gt;
* Long review and analysis of [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], coming from a discussion earlier on that using a single workflow to build, but split the deploy part in order to run separately.&lt;br /&gt;
* Work on CMake formatting tool: Finally ended up replacing [https://github.com/OSGeo/grass/pull/7663 #7663] with [https://github.com/OSGeo/grass/pull/7696 #7696]. Will close issue [https://github.com/OSGeo/grass/issues/7346 #7346] and [https://github.com/OSGeo/grass/issues/7686 #7686]. Opened issues with the tool's repo [https://github.com/BlankSpruce/gersemi/issues/123], [https://github.com/BlankSpruce/gersemi/issues/124], and [https://github.com/BlankSpruce/gersemi/issues/122] (the previous day).&lt;br /&gt;
* Help Stefan Blumentrath's son get started with finding simple ruff rules to fix.&lt;br /&gt;
* Work with Antonio Galea on making windows standalone installer + addons work without the old server. The installer now works. [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
* Reviewing PR by navigating types in dynamic gui code [https://github.com/OSGeo/grass/pull/7693 #7693]&lt;br /&gt;
* More precise discussion with team on what renovate grouping strategy to use.&lt;br /&gt;
* Discussion with Vashek on python version support policy.&lt;br /&gt;
* Created PR [https://github.com/OSGeo/grass/pull/7718 #7718] (merged)&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
* Merged [https://github.com/OSGeo/grass/pull/7699 #7699]&lt;br /&gt;
* Review issue [https://github.com/OSGeo/grass/issues/7646 #7646]&lt;br /&gt;
* Created PR [https://github.com/OSGeo/grass/pull/7722 #7722] (merged), [https://github.com/OSGeo/grass/pull/7723 #7723]&lt;br /&gt;
* Review PR [https://github.com/OSGeo/grass/pull/7687 #7687], [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], [https://github.com/OSGeo/grass-addons/pull/1769 grass-addons#1769], [https://github.com/OSGeo/grass-addons/pull/1785 grass-addons#1785], [https://github.com/OSGeo/grass/pull/7676 #7676], [https://github.com/OSGeo/grass-website/pull/645 grass-website#645]&lt;br /&gt;
* Try to get [https://github.com/OSGeo/grass/pull/7635 #7635] merged (update after other PR fixed test).&lt;br /&gt;
* Finished editing [https://github.com/OSGeo/grass/pull/7693 #7693]&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* Update RFC for updating Python versions which also sets up precedence for RFC amendments. &lt;br /&gt;
* Review v.class undefined behavior PR&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
* Port old in-package grass.pygrass unit tests to pytest&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7707 #7707]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7682 #7682], [https://github.com/OSGeo/grass/pull/7714 #7714], [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7707 #7707]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;br /&gt;
&lt;br /&gt;
==== Website ====&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/OSGeo/grass-website/pull/169 Community map]&lt;br /&gt;
&lt;br /&gt;
==== Addons ====&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1010/ t.rast.aggregate.seasons] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1005 t.rast.climatologies] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/641 t.rast.vi] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1695 r.learn.predict] fix map history&lt;br /&gt;
&lt;br /&gt;
=== Antonio Galea ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* support with the development of the (broken) winGRASS server replacement with a GitHub actions based Windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
=== Tomaž Žagar ===&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* i.hyper addon: enhancement/bugfix when importing EnMAP example data: https://github.com/mazingaro/grass-addons/issues/12&lt;br /&gt;
* i,hyper addon: fixed radiance import: https://github.com/mazingaro/grass-addons/issues/16&lt;br /&gt;
* started to work on: https://github.com/mazingaro/grass-addons/issues/6&lt;br /&gt;
&lt;br /&gt;
=== Matjaž Krebs ===&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* i.hyper addon: Started working on new importer module for emit data&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* i.hyper addon: working on importer module for emit data. Implementing and troubleshooting.&lt;br /&gt;
* i.hyper addon: working on i.hyper.export bug for exporting 3D raster cube from WGS 4326&lt;br /&gt;
&lt;br /&gt;
=== Alen Mangafić ===&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* i.hyper addon: improved EnMAP import handling and related bugfixes: https://github.com/mazingaro/grass-addons/commit/0a30d9505, https://github.com/mazingaro/grass-addons/commit/36bf3e686&lt;br /&gt;
* i.hyper addon: improved metadata copying/validation and fixed i.hyper.preproc import behavior: https://github.com/mazingaro/grass-addons/commit/d4313f162, https://github.com/mazingaro/grass-addons/commit/a52012289, https://github.com/mazingaro/grass-addons/commit/ce6cdd25d, https://github.com/mazingaro/grass-addons/commit/6d994e853&lt;br /&gt;
* i.hyper addon: implemented spectral resampling and merged it into i.hyper: https://github.com/mazingaro/grass-addons/commit/38a8e073b, https://github.com/mazingaro/grass-addons/commit/c992bc90f&lt;br /&gt;
* helped Matjaž Krebs to survive the day&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
&lt;br /&gt;
* SPDX License AI monkey business TBA&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28979</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28979"/>
		<updated>2026-07-15T07:50:19Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Anna Petrasova */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 PR#1782]&lt;br /&gt;
*** yet unsubmitted&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
* cleanup of some old stale tickets&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7698 PR#7698]&lt;br /&gt;
* work on SPDX header cleanup [https://github.com/OSGeo/grass/issues/4190 issue 4190]&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7716 PR#7716]&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/130 130], [https://github.com/OSGeo/grass-tutorials/pull/133 #133],[https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Review grass-website PRs [https://github.com/OSGeo/grass-website/pull/169 169], [https://github.com/OSGeo/grass-website/pull/611 611], [https://github.com/OSGeo/grass-website/pull/613 613], [https://github.com/OSGeo/grass-website/pull/645 645].&lt;br /&gt;
* PRs and issues clean-up in tutorials and website.&lt;br /&gt;
* Fix conda submenu [https://github.com/OSGeo/grass-website/pull/643 643].&lt;br /&gt;
* Participated of the discussion on STDS integration into GUI with Anna and Stefan.&lt;br /&gt;
* Assisted Luca with local organization issues.&lt;br /&gt;
* Compiled list of voters for upcoming PSC elections in line with PSC criteria defined on [[PSC_Meeting_2024-06-14]].&lt;br /&gt;
** Went through grass, grass-addons, grass-promo, grass-website, grass-tutorials, rgrass and got contributors with at least one merged PR during the current and previous PSC mandates, i.e., as far as 2016.&lt;br /&gt;
** Check attendants to community meetings in the same period.&lt;br /&gt;
** Check contributions to QGIS related to GRASS in the same period.&lt;br /&gt;
** Processed all lists and compiled a file with unique names and emails. &lt;br /&gt;
* Pictures and social media posting.&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
'''13-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - Split code into smaller lib functions, fix issues with original implementation, and updated tests.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 Reviewed PR#7298] - grass.script: add create_mapset function&lt;br /&gt;
# Got t.stac tutorial reviewed by Vero&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - '''(Merged)''' Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/637 PR#637 (grass-website)] - '''(Merged)''' Fix production build: inline Renovate-managed toolchain versions&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/639 PR#637 grass-website)] - '''(Merged)''' Add Renovate's helper preset to pin GitHub Actions to the full length SHA&lt;br /&gt;
&lt;br /&gt;
'''14-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/643 PR#643 (grass-website)] - '''(Reviewed/Merged)''' Menu entries: Use uppercase for Conda submenu&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Approved)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Approved)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(In-Review)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(In-Review)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1641 PR#1641 (grass-addons)] - '''(Merged)''' t.stac: fixed issue with download and import asset potentially overwhelming network.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - '''(In-Review)''' Split code into smaller lib functions, fix issues with original implementation, updated tests, and images to docs&lt;br /&gt;
# Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
* Review Jupyter GUI integration [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Discussion between me, Linda, Alen and Vashek about data catalog and regions&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
&lt;br /&gt;
* Fixing v.class causing flaky test [https://github.com/OSGeo/grass/pull/7692 #7692]&lt;br /&gt;
* Call with Saket and Stefan about the GSoC project&lt;br /&gt;
* Review [https://github.com/OSGeo/grass/pull/7608 #7608], [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Adding new icons for #7608.&lt;br /&gt;
* Cmake fixes [https://github.com/OSGeo/grass/pull/7720 #7720]&lt;br /&gt;
&lt;br /&gt;
==== July 15 ====&lt;br /&gt;
* temporal fixes [https://github.com/OSGeo/grass/pull/7717 #7717]&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672], [https://github.com/OSGeo/grass/pull/7684 #7684], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
* Configured CI required checks to not wait for successful checks during the code sprint, with the new rights given to me. Discussed with Vashek on what approach we'd want for the 4 ubuntu job configurations.&lt;br /&gt;
** Commented on an issue closed today [https://github.com/OSGeo/grass/issues/1313 #1313] about cppcheck: cppcheck could be useful to cover a bit more configuration combinations, but as discussed, only being to compile would only get us so far without testing.&lt;br /&gt;
* Discussion with Vashek on AI policy and approach to use with AI, low-quality contributors; Approach on renovate updates; Wishes on release cadence&lt;br /&gt;
* Multiple reviews and pair brainstorming on grass-website with Corey White, including [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass-website/pull/637 grass-website#637], [https://github.com/OSGeo/grass-website/pull/639 grass-website#639], [https://github.com/OSGeo/grass-website/pull/634 grass-website#634], [https://github.com/OSGeo/grass-website/pull/640 grass-website#640]&lt;br /&gt;
* Worked on CMake formatting, moving forward the PR a contributor opened for Gersemi, PR [https://github.com/OSGeo/grass/pull/7663 #7663], discussed weird finding with Vashek, lead to issue [https://github.com/OSGeo/grass/issues/7686 #7686]. To be continued the next day.&lt;br /&gt;
* Opened PR [https://github.com/OSGeo/grass/pull/7685 #7685] (merged), [https://github.com/OSGeo/grass/pull/7683 #7683] (needs more work/investigation), [https://github.com/OSGeo/grass/pull/7680 #7680] (merged)&lt;br /&gt;
* Opened issue to add zizmor to grass-website tools used to check, either local or CI [https://github.com/OSGeo/grass-website/issues/636 grass-website#636]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* (Early night) Merge PR that updates minimum Python version to 3.11, needed to change the required checks in order to do so. [https://github.com/OSGeo/grass/pull/7684 #7684].&lt;br /&gt;
** In the morning, update PRs which were most probably ready, and needed the check passing, like [https://github.com/OSGeo/grass/pull/7329 #7329], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Review and/or merge [https://github.com/OSGeo/grass-website/pull/642 grass-website#642], [https://github.com/OSGeo/grass/pull/7674 #7674], [https://github.com/OSGeo/grass/pull/7689 #7689], [https://github.com/OSGeo/grass/pull/7688 #7688], [https://github.com/OSGeo/grass/pull/7690 #7690]&lt;br /&gt;
* Long review and analysis of [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], coming from a discussion earlier on that using a single workflow to build, but split the deploy part in order to run separately.&lt;br /&gt;
* Work on CMake formatting tool: Finally ended up replacing [https://github.com/OSGeo/grass/pull/7663 #7663] with [https://github.com/OSGeo/grass/pull/7696 #7696]. Will close issue [https://github.com/OSGeo/grass/issues/7346 #7346] and [https://github.com/OSGeo/grass/issues/7686 #7686]. Opened issues with the tool's repo [https://github.com/BlankSpruce/gersemi/issues/123], [https://github.com/BlankSpruce/gersemi/issues/124], and [https://github.com/BlankSpruce/gersemi/issues/122] (the previous day).&lt;br /&gt;
* Help Stefan Blumentrath's son get started with finding simple ruff rules to fix.&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-15 ====&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* Update RFC for updating Python versions which also sets up precedence for RFC amendments. &lt;br /&gt;
* Review v.class undefined behavior PR&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
* Port old in-package grass.pygrass unit tests to pytest&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closeed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;br /&gt;
&lt;br /&gt;
==== Website ====&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/OSGeo/grass-website/pull/169 Community map]&lt;br /&gt;
&lt;br /&gt;
==== Addons ====&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1010/ t.rast.aggregate.seasons] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1005 t.rast.climatologies] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/641 t.rast.vi] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1695 r.learn.predict] fix map history&lt;br /&gt;
&lt;br /&gt;
=== Antonio Galea ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* support with the development of the (broken) winGRASS server replacement with a GitHub actions based Windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
=== Tomaž Žagar ===&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* i.hyper addon: enhancement/bugfix when importing EnMAP example data: https://github.com/mazingaro/grass-addons/issues/12&lt;br /&gt;
* i,hyper addon: fixed radiance import: https://github.com/mazingaro/grass-addons/issues/16&lt;br /&gt;
* started to work on: https://github.com/mazingaro/grass-addons/issues/6&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28974</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28974"/>
		<updated>2026-07-15T06:18:39Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Anna Petrasova */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 PR#1782]&lt;br /&gt;
*** yet unsubmitted&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
* cleanup of some old stale tickets&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7698 PR#7698]&lt;br /&gt;
* work on SPDX header cleanup [https://github.com/OSGeo/grass/issues/4190 issue 4190]&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7716 PR#7716]&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/130 130], [https://github.com/OSGeo/grass-tutorials/pull/133 #133],[https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Review grass-website PRs [https://github.com/OSGeo/grass-website/pull/169 169], [https://github.com/OSGeo/grass-website/pull/611 611], [https://github.com/OSGeo/grass-website/pull/613 613], [https://github.com/OSGeo/grass-website/pull/645 645].&lt;br /&gt;
* PRs and issues clean-up in tutorials and website.&lt;br /&gt;
* Fix conda submenu [https://github.com/OSGeo/grass-website/pull/643 643].&lt;br /&gt;
* Participated of the discussion on STDS integration into GUI with Anna and Stefan.&lt;br /&gt;
* Assisted Luca with local organization issues.&lt;br /&gt;
* Compiled list of voters for upcoming PSC elections in line with PSC criteria defined on [[PSC_Meeting_2024-06-14]].&lt;br /&gt;
** Went through grass, grass-addons, grass-promo, grass-website, grass-tutorials, rgrass and got contributors with at least one merged PR during the current and previous PSC mandates, i.e., as far as 2016.&lt;br /&gt;
** Check attendants to community meetings in the same period.&lt;br /&gt;
** Check contributions to QGIS related to GRASS in the same period.&lt;br /&gt;
** Processed all lists and compiled a file with unique names and emails. &lt;br /&gt;
* Pictures and social media posting.&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
'''13-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - Split code into smaller lib functions, fix issues with original implementation, and updated tests.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 Reviewed PR#7298] - grass.script: add create_mapset function&lt;br /&gt;
# Got t.stac tutorial reviewed by Vero&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - '''(Merged)''' Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/637 PR#637 (grass-website)] - '''(Merged)''' Fix production build: inline Renovate-managed toolchain versions&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/639 PR#637 grass-website)] - '''(Merged)''' Add Renovate's helper preset to pin GitHub Actions to the full length SHA&lt;br /&gt;
&lt;br /&gt;
'''14-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/643 PR#643 (grass-website)] - '''(Reviewed/Merged)''' Menu entries: Use uppercase for Conda submenu&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Approved)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Approved)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(In-Review)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(In-Review)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1641 PR#1641 (grass-addons)] - '''(Merged)''' t.stac: fixed issue with download and import asset potentially overwhelming network.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - '''(In-Review)''' Split code into smaller lib functions, fix issues with original implementation, updated tests, and images to docs&lt;br /&gt;
# Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
* Review Jupyter GUI integration [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Discussion between me, Linda, Alen and Vashek about data catalog and regions&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
&lt;br /&gt;
* Fixing v.class causing flaky test [https://github.com/OSGeo/grass/pull/7692 #7692]&lt;br /&gt;
* Call with Saket and Stefan about the GSoC project&lt;br /&gt;
* Review [https://github.com/OSGeo/grass/pull/7608 #7608], [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Adding new icons for #7608.&lt;br /&gt;
* Cmake fixes [https://github.com/OSGeo/grass/pull/7720 #7720]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== July 15 ====&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672], [https://github.com/OSGeo/grass/pull/7684 #7684], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
* Configured CI required checks to not wait for successful checks during the code sprint, with the new rights given to me. Discussed with Vashek on what approach we'd want for the 4 ubuntu job configurations.&lt;br /&gt;
** Commented on an issue closed today [https://github.com/OSGeo/grass/issues/1313 #1313] about cppcheck: cppcheck could be useful to cover a bit more configuration combinations, but as discussed, only being to compile would only get us so far without testing.&lt;br /&gt;
* Discussion with Vashek on AI policy and approach to use with AI, low-quality contributors; Approach on renovate updates; Wishes on release cadence&lt;br /&gt;
* Multiple reviews and pair brainstorming on grass-website with Corey White, including [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass-website/pull/637 grass-website#637], [https://github.com/OSGeo/grass-website/pull/639 grass-website#639], [https://github.com/OSGeo/grass-website/pull/634 grass-website#634], [https://github.com/OSGeo/grass-website/pull/640 grass-website#640]&lt;br /&gt;
* Worked on CMake formatting, moving forward the PR a contributor opened for Gersemi, PR [https://github.com/OSGeo/grass/pull/7663 #7663], discussed weird finding with Vashek, lead to issue [https://github.com/OSGeo/grass/issues/7686 #7686]. To be continued the next day.&lt;br /&gt;
* Opened PR [https://github.com/OSGeo/grass/pull/7685 #7685] (merged), [https://github.com/OSGeo/grass/pull/7683 #7683] (needs more work/investigation), [https://github.com/OSGeo/grass/pull/7680 #7680] (merged)&lt;br /&gt;
* Opened issue to add zizmor to grass-website tools used to check, either local or CI [https://github.com/OSGeo/grass-website/issues/636 grass-website#636]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* (Early night) Merge PR that updates minimum Python version to 3.11, needed to change the required checks in order to do so. [https://github.com/OSGeo/grass/pull/7684 #7684].&lt;br /&gt;
** In the morning, update PRs which were most probably ready, and needed the check passing, like [https://github.com/OSGeo/grass/pull/7329 #7329], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Review and/or merge [https://github.com/OSGeo/grass-website/pull/642 grass-website#642], [https://github.com/OSGeo/grass/pull/7674 #7674], [https://github.com/OSGeo/grass/pull/7689 #7689], [https://github.com/OSGeo/grass/pull/7688 #7688], [https://github.com/OSGeo/grass/pull/7690 #7690]&lt;br /&gt;
* Long review and analysis of [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], coming from a discussion earlier on that using a single workflow to build, but split the deploy part in order to run separately.&lt;br /&gt;
* Work on CMake formatting tool: Finally ended up replacing [https://github.com/OSGeo/grass/pull/7663 #7663] with [https://github.com/OSGeo/grass/pull/7696 #7696]. Will close issue [https://github.com/OSGeo/grass/issues/7346 #7346] and [https://github.com/OSGeo/grass/issues/7686 #7686]. Opened issues with the tool's repo [https://github.com/BlankSpruce/gersemi/issues/123], [https://github.com/BlankSpruce/gersemi/issues/124], and [https://github.com/BlankSpruce/gersemi/issues/122] (the previous day).&lt;br /&gt;
* Help Stefan Blumentrath's son get started with finding simple ruff rules to fix.&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* Update RFC for updating Python versions which also sets up precedence for RFC amendments. &lt;br /&gt;
* Review v.class undefined behavior PR&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
* Port old in-package grass.pygrass unit tests to pytest&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closeed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;br /&gt;
&lt;br /&gt;
==== Website ====&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/OSGeo/grass-website/pull/169 Community map]&lt;br /&gt;
&lt;br /&gt;
==== Addons ====&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1010/ t.rast.aggregate.seasons] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1005 t.rast.climatologies] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/641 t.rast.vi] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1695 r.learn.predict] fix map history&lt;br /&gt;
&lt;br /&gt;
=== Antonio Galea ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* support with the development of the (broken) winGRASS server replacement with a GitHub actions based Windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28973</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28973"/>
		<updated>2026-07-15T06:18:12Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Jul 12 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 PR#1782]&lt;br /&gt;
*** yet unsubmitted&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
* cleanup of some old stale tickets&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7698 PR#7698]&lt;br /&gt;
* work on SPDX header cleanup [https://github.com/OSGeo/grass/issues/4190 issue 4190]&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7716 PR#7716]&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/130 130], [https://github.com/OSGeo/grass-tutorials/pull/133 #133],[https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Review grass-website PRs [https://github.com/OSGeo/grass-website/pull/169 169], [https://github.com/OSGeo/grass-website/pull/611 611], [https://github.com/OSGeo/grass-website/pull/613 613], [https://github.com/OSGeo/grass-website/pull/645 645].&lt;br /&gt;
* PRs and issues clean-up in tutorials and website.&lt;br /&gt;
* Fix conda submenu [https://github.com/OSGeo/grass-website/pull/643 643].&lt;br /&gt;
* Participated of the discussion on STDS integration into GUI with Anna and Stefan.&lt;br /&gt;
* Assisted Luca with local organization issues.&lt;br /&gt;
* Compiled list of voters for upcoming PSC elections in line with PSC criteria defined on [[PSC_Meeting_2024-06-14]].&lt;br /&gt;
** Went through grass, grass-addons, grass-promo, grass-website, grass-tutorials, rgrass and got contributors with at least one merged PR during the current and previous PSC mandates, i.e., as far as 2016.&lt;br /&gt;
** Check attendants to community meetings in the same period.&lt;br /&gt;
** Check contributions to QGIS related to GRASS in the same period.&lt;br /&gt;
** Processed all lists and compiled a file with unique names and emails. &lt;br /&gt;
* Pictures and social media posting.&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
'''13-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - Split code into smaller lib functions, fix issues with original implementation, and updated tests.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 Reviewed PR#7298] - grass.script: add create_mapset function&lt;br /&gt;
# Got t.stac tutorial reviewed by Vero&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - '''(Merged)''' Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/637 PR#637 (grass-website)] - '''(Merged)''' Fix production build: inline Renovate-managed toolchain versions&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/639 PR#637 grass-website)] - '''(Merged)''' Add Renovate's helper preset to pin GitHub Actions to the full length SHA&lt;br /&gt;
&lt;br /&gt;
'''14-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/643 PR#643 (grass-website)] - '''(Reviewed/Merged)''' Menu entries: Use uppercase for Conda submenu&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Approved)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Approved)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(In-Review)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(In-Review)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1641 PR#1641 (grass-addons)] - '''(Merged)''' t.stac: fixed issue with download and import asset potentially overwhelming network.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - '''(In-Review)''' Split code into smaller lib functions, fix issues with original implementation, updated tests, and images to docs&lt;br /&gt;
# Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
* Cmake fixes [https://github.com/OSGeo/grass/pull/7720 #7720]&lt;br /&gt;
&lt;br /&gt;
==== July 15 ====&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
* Review Jupyter GUI integration [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Discussion between me, Linda, Alen and Vashek about data catalog and regions&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
&lt;br /&gt;
* Fixing v.class causing flaky test [https://github.com/OSGeo/grass/pull/7692 #7692]&lt;br /&gt;
* Call with Saket and Stefan about the GSoC project&lt;br /&gt;
* Review [https://github.com/OSGeo/grass/pull/7608 #7608], [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Adding new icons for #7608.&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672], [https://github.com/OSGeo/grass/pull/7684 #7684], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
* Configured CI required checks to not wait for successful checks during the code sprint, with the new rights given to me. Discussed with Vashek on what approach we'd want for the 4 ubuntu job configurations.&lt;br /&gt;
** Commented on an issue closed today [https://github.com/OSGeo/grass/issues/1313 #1313] about cppcheck: cppcheck could be useful to cover a bit more configuration combinations, but as discussed, only being to compile would only get us so far without testing.&lt;br /&gt;
* Discussion with Vashek on AI policy and approach to use with AI, low-quality contributors; Approach on renovate updates; Wishes on release cadence&lt;br /&gt;
* Multiple reviews and pair brainstorming on grass-website with Corey White, including [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass-website/pull/637 grass-website#637], [https://github.com/OSGeo/grass-website/pull/639 grass-website#639], [https://github.com/OSGeo/grass-website/pull/634 grass-website#634], [https://github.com/OSGeo/grass-website/pull/640 grass-website#640]&lt;br /&gt;
* Worked on CMake formatting, moving forward the PR a contributor opened for Gersemi, PR [https://github.com/OSGeo/grass/pull/7663 #7663], discussed weird finding with Vashek, lead to issue [https://github.com/OSGeo/grass/issues/7686 #7686]. To be continued the next day.&lt;br /&gt;
* Opened PR [https://github.com/OSGeo/grass/pull/7685 #7685] (merged), [https://github.com/OSGeo/grass/pull/7683 #7683] (needs more work/investigation), [https://github.com/OSGeo/grass/pull/7680 #7680] (merged)&lt;br /&gt;
* Opened issue to add zizmor to grass-website tools used to check, either local or CI [https://github.com/OSGeo/grass-website/issues/636 grass-website#636]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* (Early night) Merge PR that updates minimum Python version to 3.11, needed to change the required checks in order to do so. [https://github.com/OSGeo/grass/pull/7684 #7684].&lt;br /&gt;
** In the morning, update PRs which were most probably ready, and needed the check passing, like [https://github.com/OSGeo/grass/pull/7329 #7329], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Review and/or merge [https://github.com/OSGeo/grass-website/pull/642 grass-website#642], [https://github.com/OSGeo/grass/pull/7674 #7674], [https://github.com/OSGeo/grass/pull/7689 #7689], [https://github.com/OSGeo/grass/pull/7688 #7688], [https://github.com/OSGeo/grass/pull/7690 #7690]&lt;br /&gt;
* Long review and analysis of [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], coming from a discussion earlier on that using a single workflow to build, but split the deploy part in order to run separately.&lt;br /&gt;
* Work on CMake formatting tool: Finally ended up replacing [https://github.com/OSGeo/grass/pull/7663 #7663] with [https://github.com/OSGeo/grass/pull/7696 #7696]. Will close issue [https://github.com/OSGeo/grass/issues/7346 #7346] and [https://github.com/OSGeo/grass/issues/7686 #7686]. Opened issues with the tool's repo [https://github.com/BlankSpruce/gersemi/issues/123], [https://github.com/BlankSpruce/gersemi/issues/124], and [https://github.com/BlankSpruce/gersemi/issues/122] (the previous day).&lt;br /&gt;
* Help Stefan Blumentrath's son get started with finding simple ruff rules to fix.&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* Update RFC for updating Python versions which also sets up precedence for RFC amendments. &lt;br /&gt;
* Review v.class undefined behavior PR&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
* Port old in-package grass.pygrass unit tests to pytest&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closeed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;br /&gt;
&lt;br /&gt;
==== Website ====&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/OSGeo/grass-website/pull/169 Community map]&lt;br /&gt;
&lt;br /&gt;
==== Addons ====&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1010/ t.rast.aggregate.seasons] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1005 t.rast.climatologies] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/641 t.rast.vi] new addon&lt;br /&gt;
* [https://github.com/OSGeo/grass-addons/pull/1695 r.learn.predict] fix map history&lt;br /&gt;
&lt;br /&gt;
=== Antonio Galea ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* support with the development of the (broken) winGRASS server replacement with a GitHub actions based Windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28967</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28967"/>
		<updated>2026-07-14T16:54:07Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Jul 14 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 PR#1782]&lt;br /&gt;
*** yet unsubmitted&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
* cleanup of some old stale tickets&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7698 PR#7698]&lt;br /&gt;
* work on SPDX header cleanup [https://github.com/OSGeo/grass/issues/4190 issue 4190]&lt;br /&gt;
** yet unsubmitted&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/130 130], [https://github.com/OSGeo/grass-tutorials/pull/133 #133],[https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Review grass-website PRs [https://github.com/OSGeo/grass-website/pull/169 169], [https://github.com/OSGeo/grass-website/pull/611 611], [https://github.com/OSGeo/grass-website/pull/613 613], [https://github.com/OSGeo/grass-website/pull/645 645].&lt;br /&gt;
* PRs and issues clean-up in tutorials and website.&lt;br /&gt;
* Fix conda submenu [https://github.com/OSGeo/grass-website/pull/643 643].&lt;br /&gt;
* Participated of the discussion on STDS integration into GUI with Anna and Stefan.&lt;br /&gt;
* Assisted Luca with local organization issues.&lt;br /&gt;
* Compiled list of voters for upcoming PSC elections in line with PSC criteria defined on [[PSC_Meeting_2024-06-14]].&lt;br /&gt;
** Went through grass, grass-addons, grass-promo, grass-website, grass-tutorials, rgrass and got contributors with at least one merged PR during the current and previous PSC mandates, i.e., as far as 2016.&lt;br /&gt;
** Check attendants to community meetings in the same period.&lt;br /&gt;
** Check contributions to QGIS related to GRASS in the same period.&lt;br /&gt;
** Processed all lists and compiled a file with unique names and emails. &lt;br /&gt;
* Pictures and social media posting.&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
'''13-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - Split code into smaller lib functions, fix issues with original implementation, and updated tests.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 Reviewed PR#7298] - grass.script: add create_mapset function&lt;br /&gt;
# Got t.stac tutorial reviewed by Vero&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - '''(Merged)''' Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/637 PR#637 (grass-website)] - '''(Merged)''' Fix production build: inline Renovate-managed toolchain versions&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/639 PR#637 grass-website)] - '''(Merged)''' Add Renovate's helper preset to pin GitHub Actions to the full length SHA&lt;br /&gt;
&lt;br /&gt;
'''14-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/643 PR#643 (grass-website)] - '''(Reviewed/Merged)''' Menu entries: Use uppercase for Conda submenu&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Approved)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Approved)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(In-Review)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(In-Review)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1641 PR#1641 (grass-addons)] - '''(Merged)''' t.stac: fixed issue with download and import asset potentially overwhelming network.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - '''(In-Review)''' Split code into smaller lib functions, fix issues with original implementation, updated tests, and images to docs&lt;br /&gt;
# Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
* Review Jupyter GUI integration [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Discussion between me, Linda, Alen and Vashek about data catalog and regions&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
&lt;br /&gt;
* Fixing v.class causing flaky test [https://github.com/OSGeo/grass/pull/7692 #7692]&lt;br /&gt;
* Call with Saket and Stefan about the GSoC project&lt;br /&gt;
* Review [https://github.com/OSGeo/grass/pull/7608 #7608], [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Adding new icons for #7608.&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672], [https://github.com/OSGeo/grass/pull/7684 #7684], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
* Configured CI required checks to not wait for successful checks during the code sprint, with the new rights given to me. Discussed with Vashek on what approach we'd want for the 4 ubuntu job configurations.&lt;br /&gt;
** Commented on an issue closed today [https://github.com/OSGeo/grass/issues/1313 #1313] about cppcheck: cppcheck could be useful to cover a bit more configuration combinations, but as discussed, only being to compile would only get us so far without testing.&lt;br /&gt;
* Discussion with Vashek on AI policy and approach to use with AI, low-quality contributors; Approach on renovate updates; Wishes on release cadence&lt;br /&gt;
* Multiple reviews and pair brainstorming on grass-website with Corey White, including [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass-website/pull/637 grass-website#637], [https://github.com/OSGeo/grass-website/pull/639 grass-website#639], [https://github.com/OSGeo/grass-website/pull/634 grass-website#634], [https://github.com/OSGeo/grass-website/pull/640 grass-website#640]&lt;br /&gt;
* Worked on CMake formatting, moving forward the PR a contributor opened for Gersemi, PR [https://github.com/OSGeo/grass/pull/7663 #7663], discussed weird finding with Vashek, lead to issue [https://github.com/OSGeo/grass/issues/7686 #7686]. To be continued the next day.&lt;br /&gt;
* Opened PR [https://github.com/OSGeo/grass/pull/7685 #7685] (merged), [https://github.com/OSGeo/grass/pull/7683 #7683] (needs more work/investigation), [https://github.com/OSGeo/grass/pull/7680 #7680] (merged)&lt;br /&gt;
* Opened issue to add zizmor to grass-website tools used to check, either local or CI [https://github.com/OSGeo/grass-website/issues/636 grass-website#636]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* (Early night) Merge PR that updates minimum Python version to 3.11, needed to change the required checks in order to do so. [https://github.com/OSGeo/grass/pull/7684 #7684].&lt;br /&gt;
** In the morning, update PRs which were most probably ready, and needed the check passing, like [https://github.com/OSGeo/grass/pull/7329 #7329], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Review and/or merge [https://github.com/OSGeo/grass-website/pull/642 grass-website#642], [https://github.com/OSGeo/grass/pull/7674 #7674], [https://github.com/OSGeo/grass/pull/7689 #7689], [https://github.com/OSGeo/grass/pull/7688 #7688], [https://github.com/OSGeo/grass/pull/7690 #7690]&lt;br /&gt;
* Long review and analysis of [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], coming from a discussion earlier on that using a single workflow to build, but split the deploy part in order to run separately.&lt;br /&gt;
* Work on CMake formatting tool: Finally ended up replacing [https://github.com/OSGeo/grass/pull/7663 #7663] with [https://github.com/OSGeo/grass/pull/7696 #7696]. Will close issue [https://github.com/OSGeo/grass/issues/7346 #7346] and [https://github.com/OSGeo/grass/issues/7686 #7686]. Opened issues with the tool's repo [https://github.com/BlankSpruce/gersemi/issues/123], [https://github.com/BlankSpruce/gersemi/issues/124], and [https://github.com/BlankSpruce/gersemi/issues/122] (the previous day).&lt;br /&gt;
* Help Stefan Blumentrath's son get started with finding simple ruff rules to fix.&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* Update RFC for updating Python versions which also sets up precedence for RFC amendments. &lt;br /&gt;
* Review v.class undefined behavior PR&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
* Port old in-package grass.pygrass unit tests to pytest&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closeed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28965</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28965"/>
		<updated>2026-07-14T15:11:57Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Jul 14 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 PR#1782]&lt;br /&gt;
*** yet unsubmitted&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
* cleanup of some old stale tickets&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
** Draft [https://github.com/OSGeo/grass/pull/7698 PR#7698]&lt;br /&gt;
* work on SPDX header cleanup [https://github.com/OSGeo/grass/issues/4190 issue 4190]&lt;br /&gt;
** yet unsubmitted&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/130 130], [https://github.com/OSGeo/grass-tutorials/pull/133 #133],[https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Review grass-website PRs [https://github.com/OSGeo/grass-website/pull/169 169], [https://github.com/OSGeo/grass-website/pull/611 611], [https://github.com/OSGeo/grass-website/pull/613 613].&lt;br /&gt;
* PRs and issues clean-up in tutorials and website.&lt;br /&gt;
* Participated of the discussion on STDS integration into GUI with Anna and Stefan.&lt;br /&gt;
* Assisted Luca with local organization minor issues.&lt;br /&gt;
* Compiled list of voters for upcoming PSC elections in line with PSC criteria defined on [[PSC_Meeting_2024-06-14]]. Still ca. 80 emails missing.&lt;br /&gt;
* Social media posting.&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
'''13-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - Split code into smaller lib functions, fix issues with original implementation, and updated tests.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 Reviewed PR#7298] - grass.script: add create_mapset function&lt;br /&gt;
# Got t.stac tutorial reviewed by Vero&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - '''(Merged)''' Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/637 PR#637 (grass-website)] - '''(Merged)''' Fix production build: inline Renovate-managed toolchain versions&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/639 PR#637 grass-website)] - '''(Merged)''' Add Renovate's helper preset to pin GitHub Actions to the full length SHA&lt;br /&gt;
&lt;br /&gt;
'''14-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/643 PR#643 (grass-website)] - '''(Reviewed/Merged)''' Menu entries: Use uppercase for Conda submenu&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Approved)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Approved)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(In-Review)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(In-Review)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1641 PR#1641 (grass-addons)] - '''(Merged)''' t.stac: fixed issue with download and import asset potentially overwhelming network.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - '''(In-Review)''' Split code into smaller lib functions, fix issues with original implementation, updated tests, and images to docs&lt;br /&gt;
# Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
* Review Jupyter GUI integration [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Discussion between me, Linda, Alen and Vashek about data catalog and regions&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
&lt;br /&gt;
* Fixing v.class causing flaky test [https://github.com/OSGeo/grass/pull/7692 #7692]&lt;br /&gt;
* Call with Saket and Stefan about the GSoC project&lt;br /&gt;
* Review [https://github.com/OSGeo/grass/pull/7608 #7608], [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672], [https://github.com/OSGeo/grass/pull/7684 #7684], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
* Configured CI required checks to not wait for successful checks during the code sprint, with the new rights given to me. Discussed with Vashek on what approach we'd want for the 4 ubuntu job configurations.&lt;br /&gt;
** Commented on an issue closed today [https://github.com/OSGeo/grass/issues/1313 #1313] about cppcheck: cppcheck could be useful to cover a bit more configuration combinations, but as discussed, only being to compile would only get us so far without testing.&lt;br /&gt;
* Discussion with Vashek on AI policy and approach to use with AI, low-quality contributors; Approach on renovate updates; Wishes on release cadence&lt;br /&gt;
* Multiple reviews and pair brainstorming on grass-website with Corey White, including [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass-website/pull/637 grass-website#637], [https://github.com/OSGeo/grass-website/pull/639 grass-website#639], [https://github.com/OSGeo/grass-website/pull/634 grass-website#634], [https://github.com/OSGeo/grass-website/pull/640 grass-website#640]&lt;br /&gt;
* Worked on CMake formatting, moving forward the PR a contributor opened for Gersemi, PR [https://github.com/OSGeo/grass/pull/7663 #7663], discussed weird finding with Vashek, lead to issue [https://github.com/OSGeo/grass/issues/7686 #7686]. To be continued the next day.&lt;br /&gt;
* Opened PR [https://github.com/OSGeo/grass/pull/7685 #7685] (merged), [https://github.com/OSGeo/grass/pull/7683 #7683] (needs more work/investigation), [https://github.com/OSGeo/grass/pull/7680 #7680] (merged)&lt;br /&gt;
* Opened issue to add zizmor to grass-website tools used to check, either local or CI [https://github.com/OSGeo/grass-website/issues/636 grass-website#636]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* (Early night) Merge PR that updates minimum Python version to 3.11, needed to change the required checks in order to do so. [https://github.com/OSGeo/grass/pull/7684 #7684].&lt;br /&gt;
** In the morning, update PRs which were most probably ready, and needed the check passing, like [https://github.com/OSGeo/grass/pull/7329 #7329], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Review and/or merge [https://github.com/OSGeo/grass-website/pull/642 grass-website#642], [https://github.com/OSGeo/grass/pull/7674 #7674], [https://github.com/OSGeo/grass/pull/7689 #7689], [https://github.com/OSGeo/grass/pull/7688 #7688], [https://github.com/OSGeo/grass/pull/7690 #7690]&lt;br /&gt;
* Long review and analysis of [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], coming from a discussion earlier on that using a single workflow to build, but split the deploy part in order to run separately.&lt;br /&gt;
* Work on CMake formatting tool: Finally ended up replacing [https://github.com/OSGeo/grass/pull/7663 #7663] with [https://github.com/OSGeo/grass/pull/7696 #7696]. Will close issue [https://github.com/OSGeo/grass/issues/7346 #7346] and [https://github.com/OSGeo/grass/issues/7686 #7686]. Opened issues with the tool's repo [https://github.com/BlankSpruce/gersemi/issues/123], [https://github.com/BlankSpruce/gersemi/issues/124], and [https://github.com/BlankSpruce/gersemi/issues/122] (the previous day).&lt;br /&gt;
* Help Stefan Blumentrath's son get started with finding simple ruff rules to fix.&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* Update RFC for updating Python versions which also sets up precedence for RFC amendments. &lt;br /&gt;
* Review v.class undefined behavior PR&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
* Port old in-package grass.pygrass unit tests to pytest&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closeed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28961</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28961"/>
		<updated>2026-07-14T13:49:05Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Jul 14 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 #1782]&lt;br /&gt;
&lt;br /&gt;
'''13-07-2026'''&lt;br /&gt;
* cleanup of stale tickets&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
&lt;br /&gt;
'''14-07-2026'''&lt;br /&gt;
* work on SBOM implementation [https://github.com/OSGeo/grass/issues/7215 issue 7215]&lt;br /&gt;
* work on SPDX header cleanup [https://github.com/OSGeo/grass/issues/4190 issue 4190]&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/130 130], [https://github.com/OSGeo/grass-tutorials/pull/133 #133],[https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Review grass-website PRs [https://github.com/OSGeo/grass-website/pull/169 169], [https://github.com/OSGeo/grass-website/pull/611 611], [https://github.com/OSGeo/grass-website/pull/613 613].&lt;br /&gt;
* PRs and issues clean-up in tutorials and website.&lt;br /&gt;
* Participated of the discussion on STDS integration into GUI with Anna and Stefan.&lt;br /&gt;
* Assisted Luca with local organization minor issues.&lt;br /&gt;
* Social media posting.&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
'''13-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - Split code into smaller lib functions, fix issues with original implementation, and updated tests.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 Reviewed PR#7298] - grass.script: add create_mapset function&lt;br /&gt;
# Got t.stac tutorial reviewed by Vero&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - '''(Merged)''' Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/637 PR#637 (grass-website)] - '''(Merged)''' Fix production build: inline Renovate-managed toolchain versions&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/639 PR#637 grass-website)] - '''(Merged)''' Add Renovate's helper preset to pin GitHub Actions to the full length SHA&lt;br /&gt;
&lt;br /&gt;
'''14-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/643 PR#643 (grass-website)] - '''(Reviewed/Merged)''' Menu entries: Use uppercase for Conda submenu&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - '''(Approved)''' Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/644 PR#644 (grass-website)] - '''(Approved)''' Migrate markup to Bootstrap 5 and drop jQuery&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/645 PR#645 (grass-website)] - '''(In-Review)''' Single-source brand tokens; remove orphaned style.css (issue #600)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/646 PR#645 (grass-website)] - '''(In-Review)''' Split production artifact workflow into build and deploy jobs&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1641 PR#1641 (grass-addons)] - '''(Merged)''' t.stac: fixed issue with download and import asset potentially overwhelming network.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - '''(In-Review)''' Split code into smaller lib functions, fix issues with original implementation, updated tests, and images to docs&lt;br /&gt;
# Discussed sbom formatting (SPDX vs CycloneDX) and changes that need to made for compliance.&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
* Review Jupyter GUI integration [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Discussion between me, Linda, Alen and Vashek about data catalog and regions&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
&lt;br /&gt;
* Fixing v.class causing flaky test [https://github.com/OSGeo/grass/pull/7692 #7692]&lt;br /&gt;
* Call with Saket and Stefan about the GSoC project&lt;br /&gt;
* Review [https://github.com/OSGeo/grass/pull/7608 #7608]&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672], [https://github.com/OSGeo/grass/pull/7684 #7684], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
* Configured CI required checks to not wait for successful checks during the code sprint, with the new rights given to me. Discussed with Vashek on what approach we'd want for the 4 ubuntu job configurations.&lt;br /&gt;
** Commented on an issue closed today [https://github.com/OSGeo/grass/issues/1313 #1313] about cppcheck: cppcheck could be useful to cover a bit more configuration combinations, but as discussed, only being to compile would only get us so far without testing.&lt;br /&gt;
* Discussion with Vashek on AI policy and approach to use with AI, low-quality contributors; Approach on renovate updates; Wishes on release cadence&lt;br /&gt;
* Multiple reviews and pair brainstorming on grass-website with Corey White, including [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass-website/pull/637 grass-website#637], [https://github.com/OSGeo/grass-website/pull/639 grass-website#639], [https://github.com/OSGeo/grass-website/pull/634 grass-website#634], [https://github.com/OSGeo/grass-website/pull/640 grass-website#640]&lt;br /&gt;
* Worked on CMake formatting, moving forward the PR a contributor opened for Gersemi, PR [https://github.com/OSGeo/grass/pull/7663 #7663], discussed weird finding with Vashek, lead to issue [https://github.com/OSGeo/grass/issues/7686 #7686]. To be continued the next day.&lt;br /&gt;
* Opened PR [https://github.com/OSGeo/grass/pull/7685 #7685] (merged), [https://github.com/OSGeo/grass/pull/7683 #7683] (needs more work/investigation), [https://github.com/OSGeo/grass/pull/7680 #7680] (merged)&lt;br /&gt;
* Opened issue to add zizmor to grass-website tools used to check, either local or CI [https://github.com/OSGeo/grass-website/issues/636 grass-website#636]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* (Early night) Merge PR that updates minimum Python version to 3.11, needed to change the required checks in order to do so. [https://github.com/OSGeo/grass/pull/7684 #7684].&lt;br /&gt;
** In the morning, update PRs which were most probably ready, and needed the check passing, like [https://github.com/OSGeo/grass/pull/7329 #7329], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Review and/or merge [https://github.com/OSGeo/grass-website/pull/642 grass-website#642], [https://github.com/OSGeo/grass/pull/7674 #7674], [https://github.com/OSGeo/grass/pull/7689 #7689], [https://github.com/OSGeo/grass/pull/7688 #7688], [https://github.com/OSGeo/grass/pull/7690 #7690]&lt;br /&gt;
* Long review and analysis of [https://github.com/OSGeo/grass-website/pull/646 grass-website#646], coming from a discussion earlier on that using a single workflow to build, but split the deploy part in order to run separately.&lt;br /&gt;
* Work on CMake formatting tool: Finally ended up replacing [https://github.com/OSGeo/grass/pull/7663 #7663] with [https://github.com/OSGeo/grass/pull/7696 #7696]. Will close issue [https://github.com/OSGeo/grass/issues/7346 #7346] and [https://github.com/OSGeo/grass/issues/7686 #7686]. Opened issues with the tool's repo [https://github.com/BlankSpruce/gersemi/issues/123], [https://github.com/BlankSpruce/gersemi/issues/124], and [https://github.com/BlankSpruce/gersemi/issues/122] (the previous day).&lt;br /&gt;
* Help Stefan Blumentrath's son get started with finding simple ruff rules to fix.&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
&lt;br /&gt;
* Update RFC for updating Python versions which also sets up precedence for RFC amendments. &lt;br /&gt;
* Review v.class undefined behavior PR&lt;br /&gt;
* Reduce Sphinx warnings&lt;br /&gt;
* Port old in-package grass.pygrass unit tests to pytest&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closeed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28960</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28960"/>
		<updated>2026-07-14T13:47:52Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Tuesday, July 14 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 -  19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Sponsors make the event possible. Learn more about [https://grass.osgeo.org/contribute/sponsoring/ Sponsoring].&lt;br /&gt;
&lt;br /&gt;
* [https://bhinc.com/ Bohannan Huston, Inc.]: 2,500 USD&lt;br /&gt;
[[File:Bohannan_Huston_Inc_Logo.png|none|left|400px|alt=Logo of Bohannan Huston, Inc.|Bohannan Huston, Inc.]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.fossgis.de/ FOSSGIS e.V.]: 4500 EUR (approved budget contribution, [https://www.fossgis.de/wiki/F%C3%B6rderantr%C3%A4ge/GRASS_GIS_Community_Meeting_2026 request]).&lt;br /&gt;
&lt;br /&gt;
[[File:FOSSGIS_eV_logo.png|none|left|400px|alt=Logo of FOSSGIS e.V.|FOSSGIS e.V.]]&lt;br /&gt;
&lt;br /&gt;
* U.S. National Science Foundation, award 2303651 (planning and time of 3 participants).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In-kind contributions:&lt;br /&gt;
** mundialis GmbH &amp;amp; Co. KG - personnel time (personnel time)&lt;br /&gt;
** Geodetic institute of Slovenia (GI) - personnel time: SPHERE (basic research project No. J7-70247) financed by Slovenian Research and Innovation Agency&lt;br /&gt;
* Personal time and/or financial contributions:&lt;br /&gt;
** Edouard Choinière, Helmut Kudrnovsky, Markus Neteler, Vaclav Petras, Anna Petrasova, Corey White,   Veronica Andreo&lt;br /&gt;
** In addition to the above contributions, many participants made special efforts to keep costs down.&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is being refined.&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers (Luca, see FAQ below) if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
&lt;br /&gt;
* Hybrid meeting about 8.6.0 with Filesystem Hierarchy Standard and Jupyter in GUI updates &lt;br /&gt;
&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
&lt;br /&gt;
* Filesystem Hierarchy Standard ([https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard FHS])&lt;br /&gt;
* New '''Windows build server''' needed for addon provisioning and to get rid of &amp;quot;windows-2022 build and tests&amp;quot; (&amp;lt;code&amp;gt;ERROR: Cannot open URL &amp;lt;http://wingrass.fsv.cvut.cz/grass85/addons/grass-8.5.1dev/r.stream.distance.zip&amp;gt;: HTTP Error 404: Not Found&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Call with remote participants on GUI topics ([https://github.com/OSGeo/grass/issues/7614 #7614] and others)&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
&lt;br /&gt;
* [[GSoC]] Space-time dataset integration call&lt;br /&gt;
* GeoAI&lt;br /&gt;
* Updating the GRASS Roadmap&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
&lt;br /&gt;
* Python API review&lt;br /&gt;
* Plan [[PSC]] elections&lt;br /&gt;
&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
&lt;br /&gt;
* Reducing PR backlog &lt;br /&gt;
&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
&lt;br /&gt;
* Address issues for the upcoming [https://github.com/OSGeo/grass/milestone/29 8.6.0 release]&lt;br /&gt;
* Presentation of i.hyper @ 11.00h.&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
&lt;br /&gt;
* Website review: fix the serious bootstrap mixup and broken sitemap bugs&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| grass.tools, pytest, subcommands, reviews&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| GSoC, reviews, PR backlog, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| [[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| 06.07.&lt;br /&gt;
| 18.07.&lt;br /&gt;
| documentation, website, state of GRASS support in QGIS 3.x/4.x, knowledge-transfer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| [[User:Sbl|Stefan Blumentrath]]&lt;br /&gt;
| Norway&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 18.07. (presumably)&lt;br /&gt;
| Handling Copernicus data with GRASS / actinia&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
| [[User:Hellik|Helmut Kudrnovsky]]&lt;br /&gt;
| Austria&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
| [[User:Veroandreo|Verónica Andreo]]&lt;br /&gt;
| Argentina&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
| [[User:Ctwhite|Corey White]]&lt;br /&gt;
| United States&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| grass.jupyter, documentation, website, reviews, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
| [[User:Echoix|Edouard Choinière]]&lt;br /&gt;
| Canada&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 19.07. (presumably)&lt;br /&gt;
| Reviews, CI, pytest, Windows GUI, i18n, undecided&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
| [[User:Mazingaro|Alen Mangafić]]&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling; State of GRASS @FOSS4G 2026&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
| Tomaž Žagar&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
| Matjaž Krebs&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
| Christian Braun&lt;br /&gt;
| Luxembourg&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 16.07.&lt;br /&gt;
| Reviews, documentation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Registration is free; participants cover their own travel and lodging (see below), often with employer support — thank you. Ideally we'd reimburse everyone, and every [https://numfocus.org/donate-to-grass donation] or [https://grass.osgeo.org/contribute/sponsoring/ employer sponsorship] of the project helps us get closer.&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (Trento or Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
From Trento main train station you need to move to Ferrovia Trento-Malè (FTM) train station (few minutes by walk, https://www.openstreetmap.org/#map=17/46.072739/11.120814) and there take a train to Grumo/San Michele all'Adige. Train timetable is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20ANDATA.pdf here], the opposite way is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf this one]&lt;br /&gt;
&lt;br /&gt;
Another possibility is to arrive with the main train (Ferrovie dello Stato) in Mezzocorona and here you can walk to San Michele (around 20 minutes by walk) or take the small train Trento-Malè from Mezzocorona Ferrovia station (in front of main train station https://www.openstreetmap.org/#map=18/46.206633/11.128024) and stop in Grumo/San Michele (you need to look for the [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf way back schedule])&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Registration is free''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
* For '''lodging booking''' options: see [https://grasscommunitymeeting2026.eventbrite.it/ Eventbrite]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is this a conference?''&lt;br /&gt;
** Talks or presentations may be included, but the purpose is to work together on the project. Among conference formats, the closest comparison would be a participatory workshop.&lt;br /&gt;
* ''Is this a hackathon?''&lt;br /&gt;
** While there is plenty of intensive coding, the meeting is not competitive. We meet to collaborate.&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users, and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''What skills do I need?''&lt;br /&gt;
** Coding skills are not required. Contributions to documentation, tutorials, translations, website, and testing are all valuable. Practical help during the meeting, such as coordinating meals, photography, or reporting, is a real contribution too.&lt;br /&gt;
* ''Can I attend remotely?''&lt;br /&gt;
** The meeting is in-person, but everyone is welcome to use the same week for focused work on the project from wherever they are.&lt;br /&gt;
* ''What language is used during the meeting?''&lt;br /&gt;
** English is the working language, but you may hear several other languages spoken at the event.&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
* ''What if I can't spend time on this?''&lt;br /&gt;
** Can you spend money instead? [https://numfocus.org/donate-to-grass Donate to GRASS through NumFOCUS] to help keep the project going.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28947</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28947"/>
		<updated>2026-07-14T09:08:59Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Anna Petrasova */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 #1782]&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/130 130], [https://github.com/OSGeo/grass-tutorials/pull/133 #133],[https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Review grass-website PRs [https://github.com/OSGeo/grass-website/pull/169 169], [https://github.com/OSGeo/grass-website/pull/611 611], [https://github.com/OSGeo/grass-website/pull/613 613].&lt;br /&gt;
* PRs and issues clean-up in tutorials and website.&lt;br /&gt;
* Participated of the discussion on STDS integration into GUI with Anna and Stefan.&lt;br /&gt;
* Assisted Luca with local organization minor issues.&lt;br /&gt;
* Social media posting.&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
'''13-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - Split code into smaller lib functions, fix issues with original implementation, and updated tests.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 Reviewed PR#7298] - grass.script: add create_mapset function&lt;br /&gt;
# Got t.stac tutorial reviewed by Vero&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - '''(Merged)''' Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/637 PR#637 (grass-website)] - '''(Merged)''' Fix production build: inline Renovate-managed toolchain versions&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/639 PR#637 grass-website)] - '''(Merged)''' Add Renovate's helper preset to pin GitHub Actions to the full length SHA&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
* Review Jupyter GUI integration [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Discussion between me, Linda, Alen and Vashek about data catalog and regions&lt;br /&gt;
&lt;br /&gt;
==== Jul 14 ====&lt;br /&gt;
&lt;br /&gt;
* Fixing v.class causing flaky test [https://github.com/OSGeo/grass/pull/7692 #7692]&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672], [https://github.com/OSGeo/grass/pull/7684 #7684], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
* Configured CI required checks to not wait for successful checks during the code sprint, with the new rights given to me. Discussed with Vashek on what approach we'd want for the 4 ubuntu job configurations.&lt;br /&gt;
** Commented on an issue closed today [https://github.com/OSGeo/grass/issues/1313 #1313] about cppcheck: cppcheck could be useful to cover a bit more configuration combinations, but as discussed, only being to compile would only get us so far without testing.&lt;br /&gt;
* Discussion with Vashek on AI policy and approach to use with AI, low-quality contributors; Approach on renovate updates; Wishes on release cadence&lt;br /&gt;
* Multiple reviews and pair brainstorming on grass-website with Corey White, including [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass-website/pull/637 grass-website#637], [https://github.com/OSGeo/grass-website/pull/639 grass-website#639], [https://github.com/OSGeo/grass-website/pull/634 grass-website#634], [https://github.com/OSGeo/grass-website/pull/640 grass-website#640]&lt;br /&gt;
* Worked on CMake formatting, moving forward the PR a contributor opened for Gersemi, PR [https://github.com/OSGeo/grass/pull/7663 #7663], discussed weird finding with Vashek, lead to issue [https://github.com/OSGeo/grass/issues/7686 #7686]. To be continued the next day.&lt;br /&gt;
* Opened PR [https://github.com/OSGeo/grass/pull/7685 #7685] (merged), [https://github.com/OSGeo/grass/pull/7683 #7683] (needs more work/investigation), [https://github.com/OSGeo/grass/pull/7680 #7680] (merged)&lt;br /&gt;
* Opened issue to add zizmor to grass-website tools used to check, either local or CI [https://github.com/OSGeo/grass-website/issues/636 grass-website#636]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-14 ====&lt;br /&gt;
* (Early night) Merge PR that updates minimum Python version to 3.11, needed to change the required checks in order to do so. [https://github.com/OSGeo/grass/pull/7684 #7684].&lt;br /&gt;
** In the morning, update PRs which were most probably ready, and needed the check passing, like [https://github.com/OSGeo/grass/pull/7329 #7329], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7687 #7687]&lt;br /&gt;
* Review and/or merge [https://github.com/OSGeo/grass-website/pull/642 grass-website#642], [https://github.com/OSGeo/grass/pull/7674 #7674],&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closeed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28941</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28941"/>
		<updated>2026-07-14T06:30:45Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Agenda */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 -  19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Sponsors make the event possible. Learn more about [https://grass.osgeo.org/contribute/sponsoring/ Sponsoring].&lt;br /&gt;
&lt;br /&gt;
* [https://bhinc.com/ Bohannan Huston, Inc.]: 2,500 USD&lt;br /&gt;
[[File:Bohannan_Huston_Inc_Logo.png|none|left|400px|alt=Logo of Bohannan Huston, Inc.|Bohannan Huston, Inc.]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.fossgis.de/ FOSSGIS e.V.]: 4500 EUR (approved budget contribution, [https://www.fossgis.de/wiki/F%C3%B6rderantr%C3%A4ge/GRASS_GIS_Community_Meeting_2026 request]).&lt;br /&gt;
&lt;br /&gt;
[[File:FOSSGIS_eV_logo.png|none|left|400px|alt=Logo of FOSSGIS e.V.|FOSSGIS e.V.]]&lt;br /&gt;
&lt;br /&gt;
* U.S. National Science Foundation, award 2303651 (planning and time of 3 participants).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In-kind contributions:&lt;br /&gt;
** mundialis GmbH &amp;amp; Co. KG - personnel time (personnel time)&lt;br /&gt;
* Personal time and/or financial contributions:&lt;br /&gt;
** Edouard Choinière, Helmut Kudrnovsky, Markus Neteler, Vaclav Petras, Anna Petrasova, Corey White,   Veronica Andreo&lt;br /&gt;
** In addition to the above contributions, many participants made special efforts to keep costs down.&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is being refined.&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers (Luca, see FAQ below) if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
&lt;br /&gt;
* Hybrid meeting about 8.6.0 with Filesystem Hierarchy Standard and Jupyter in GUI updates &lt;br /&gt;
&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
&lt;br /&gt;
* Filesystem Hierarchy Standard ([https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard FHS])&lt;br /&gt;
* New '''Windows build server''' needed for addon provisioning and to get rid of &amp;quot;windows-2022 build and tests&amp;quot; (&amp;lt;code&amp;gt;ERROR: Cannot open URL &amp;lt;http://wingrass.fsv.cvut.cz/grass85/addons/grass-8.5.1dev/r.stream.distance.zip&amp;gt;: HTTP Error 404: Not Found&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Call with remote participants on GUI topics ([https://github.com/OSGeo/grass/issues/7614 #7614] and others)&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
&lt;br /&gt;
* [[GSoC]] ([https://ncsu.zoom.us/j/91637696963?pwd=7GFdlbLPvCsxzkggmwHt6QarJELMcq.1 zoom link])&lt;br /&gt;
* GeoAI&lt;br /&gt;
* Updating the GRASS Roadmap&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
&lt;br /&gt;
* Python API review&lt;br /&gt;
* Plan [[PSC]] elections&lt;br /&gt;
&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
&lt;br /&gt;
* Reducing PR backlog &lt;br /&gt;
&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
&lt;br /&gt;
* Address issues for the upcoming [https://github.com/OSGeo/grass/milestone/29 8.6.0 release]&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
&lt;br /&gt;
* Website review: fix the serious bootstrap mixup and broken sitemap bugs&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| grass.tools, pytest, subcommands, reviews&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| GSoC, reviews, PR backlog, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| [[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| 06.07.&lt;br /&gt;
| 18.07.&lt;br /&gt;
| documentation, website, state of GRASS support in QGIS 3.x/4.x, knowledge-transfer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| [[User:Sbl|Stefan Blumentrath]]&lt;br /&gt;
| Norway&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 18.07. (presumably)&lt;br /&gt;
| Handling Copernicus data with GRASS / actinia&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
| [[User:Hellik|Helmut Kudrnovsky]]&lt;br /&gt;
| Austria&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
| [[User:Veroandreo|Verónica Andreo]]&lt;br /&gt;
| Argentina&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
| [[User:Ctwhite|Corey White]]&lt;br /&gt;
| United States&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| grass.jupyter, documentation, website, reviews, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
| [[User:Echoix|Edouard Choinière]]&lt;br /&gt;
| Canada&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 19.07. (presumably)&lt;br /&gt;
| Reviews, CI, pytest, Windows GUI, i18n, undecided&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
| [[User:Mazingaro|Alen Mangafić]]&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling; State of GRASS @FOSS4G 2026&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
| Tomaž Žagar&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
| Matjaž Krebs&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
| Christian Braun&lt;br /&gt;
| Luxembourg&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 16.07.&lt;br /&gt;
| Reviews, documentation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Registration is free; participants cover their own travel and lodging (see below), often with employer support — thank you. Ideally we'd reimburse everyone, and every [https://numfocus.org/donate-to-grass donation] or [https://grass.osgeo.org/contribute/sponsoring/ employer sponsorship] of the project helps us get closer.&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (Trento or Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
From Trento main train station you need to move to Ferrovia Trento-Malè (FTM) train station (few minutes by walk, https://www.openstreetmap.org/#map=17/46.072739/11.120814) and there take a train to Grumo/San Michele all'Adige. Train timetable is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20ANDATA.pdf here], the opposite way is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf this one]&lt;br /&gt;
&lt;br /&gt;
Another possibility is to arrive with the main train (Ferrovie dello Stato) in Mezzocorona and here you can walk to San Michele (around 20 minutes by walk) or take the small train Trento-Malè from Mezzocorona Ferrovia station (in front of main train station https://www.openstreetmap.org/#map=18/46.206633/11.128024) and stop in Grumo/San Michele (you need to look for the [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf way back schedule])&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Registration is free''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
* For '''lodging booking''' options: see [https://grasscommunitymeeting2026.eventbrite.it/ Eventbrite]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is this a conference?''&lt;br /&gt;
** Talks or presentations may be included, but the purpose is to work together on the project. Among conference formats, the closest comparison would be a participatory workshop.&lt;br /&gt;
* ''Is this a hackathon?''&lt;br /&gt;
** While there is plenty of intensive coding, the meeting is not competitive. We meet to collaborate.&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users, and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''What skills do I need?''&lt;br /&gt;
** Coding skills are not required. Contributions to documentation, tutorials, translations, website, and testing are all valuable. Practical help during the meeting, such as coordinating meals, photography, or reporting, is a real contribution too.&lt;br /&gt;
* ''Can I attend remotely?''&lt;br /&gt;
** The meeting is in-person, but everyone is welcome to use the same week for focused work on the project from wherever they are.&lt;br /&gt;
* ''What language is used during the meeting?''&lt;br /&gt;
** English is the working language, but you may hear several other languages spoken at the event.&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
* ''What if I can't spend time on this?''&lt;br /&gt;
** Can you spend money instead? [https://numfocus.org/donate-to-grass Donate to GRASS through NumFOCUS] to help keep the project going.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28937</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28937"/>
		<updated>2026-07-13T16:09:37Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Tuesday, July 14 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 -  19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Sponsors make the event possible. Learn more about [https://grass.osgeo.org/contribute/sponsoring/ Sponsoring].&lt;br /&gt;
&lt;br /&gt;
* [https://bhinc.com/ Bohannan Huston, Inc.]: 2,500 USD&lt;br /&gt;
[[File:Bohannan_Huston_Inc_Logo.png|none|left|400px|alt=Logo of Bohannan Huston, Inc.|Bohannan Huston, Inc.]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.fossgis.de/ FOSSGIS e.V.]: 4500 EUR (approved budget contribution, [https://www.fossgis.de/wiki/F%C3%B6rderantr%C3%A4ge/GRASS_GIS_Community_Meeting_2026 request]).&lt;br /&gt;
&lt;br /&gt;
[[File:FOSSGIS_eV_logo.png|none|left|400px|alt=Logo of FOSSGIS e.V.|FOSSGIS e.V.]]&lt;br /&gt;
&lt;br /&gt;
* U.S. National Science Foundation, award 2303651 (planning and time of 3 participants).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In-kind contributions:&lt;br /&gt;
** mundialis GmbH &amp;amp; Co. KG - personnel time (personnel time)&lt;br /&gt;
* Personal time and/or financial contributions:&lt;br /&gt;
** Edouard Choinière, Helmut Kudrnovsky, Markus Neteler, Vaclav Petras, Anna Petrasova, Corey White,   Veronica Andreo&lt;br /&gt;
** In addition to the above contributions, many participants made special efforts to keep costs down.&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is being refined.&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers (Luca, see FAQ below) if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
&lt;br /&gt;
* Hybrid meeting about 8.6.0 with Filesystem Hierarchy Standard and Jupyter in GUI updates &lt;br /&gt;
&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
&lt;br /&gt;
* Filesystem Hierarchy Standard ([https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard FHS])&lt;br /&gt;
* Updating the GRASS Roadmap&lt;br /&gt;
* New '''Windows build server''' needed for addon provisioning and to get rid of &amp;quot;windows-2022 build and tests&amp;quot; (&amp;lt;code&amp;gt;ERROR: Cannot open URL &amp;lt;http://wingrass.fsv.cvut.cz/grass85/addons/grass-8.5.1dev/r.stream.distance.zip&amp;gt;: HTTP Error 404: Not Found&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Call with remote participants on GUI topics ([https://github.com/OSGeo/grass/issues/7614 #7614] and others)&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
&lt;br /&gt;
* [[GSoC]] ([https://ncsu.zoom.us/j/91637696963?pwd=7GFdlbLPvCsxzkggmwHt6QarJELMcq.1 zoom link])&lt;br /&gt;
* GeoAI&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
&lt;br /&gt;
* Python API review&lt;br /&gt;
* Plan [[PSC]] elections&lt;br /&gt;
&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
&lt;br /&gt;
* Reducing PR backlog &lt;br /&gt;
&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
&lt;br /&gt;
* Address issues for the upcoming [https://github.com/OSGeo/grass/milestone/29 8.6.0 release]&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
&lt;br /&gt;
* Website review: fix the serious bootstrap mixup and broken sitemap bugs&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| grass.tools, pytest, subcommands, reviews&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| GSoC, reviews, PR backlog, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| [[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| 06.07.&lt;br /&gt;
| 18.07.&lt;br /&gt;
| documentation, website, state of GRASS support in QGIS 3.x/4.x, knowledge-transfer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| [[User:Sbl|Stefan Blumentrath]]&lt;br /&gt;
| Norway&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 18.07. (presumably)&lt;br /&gt;
| Handling Copernicus data with GRASS / actinia&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
| [[User:Hellik|Helmut Kudrnovsky]]&lt;br /&gt;
| Austria&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
| [[User:Veroandreo|Verónica Andreo]]&lt;br /&gt;
| Argentina&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
| [[User:Ctwhite|Corey White]]&lt;br /&gt;
| United States&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| grass.jupyter, documentation, website, reviews, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
| [[User:Echoix|Edouard Choinière]]&lt;br /&gt;
| Canada&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 19.07. (presumably)&lt;br /&gt;
| Reviews, CI, pytest, Windows GUI, i18n, undecided&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
| [[User:Mazingaro|Alen Mangafić]]&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling; State of GRASS @FOSS4G 2026&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
| Tomaž Žagar&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
| Matjaž Krebs&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
| Christian Braun&lt;br /&gt;
| Luxembourg&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 16.07.&lt;br /&gt;
| Reviews, documentation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Registration is free; participants cover their own travel and lodging (see below), often with employer support — thank you. Ideally we'd reimburse everyone, and every [https://numfocus.org/donate-to-grass donation] or [https://grass.osgeo.org/contribute/sponsoring/ employer sponsorship] of the project helps us get closer.&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (Trento or Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
From Trento main train station you need to move to Ferrovia Trento-Malè (FTM) train station (few minutes by walk, https://www.openstreetmap.org/#map=17/46.072739/11.120814) and there take a train to Grumo/San Michele all'Adige. Train timetable is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20ANDATA.pdf here], the opposite way is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf this one]&lt;br /&gt;
&lt;br /&gt;
Another possibility is to arrive with the main train (Ferrovie dello Stato) in Mezzocorona and here you can walk to San Michele (around 20 minutes by walk) or take the small train Trento-Malè from Mezzocorona Ferrovia station (in front of main train station https://www.openstreetmap.org/#map=18/46.206633/11.128024) and stop in Grumo/San Michele (you need to look for the [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf way back schedule])&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Registration is free''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
* For '''lodging booking''' options: see [https://grasscommunitymeeting2026.eventbrite.it/ Eventbrite]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is this a conference?''&lt;br /&gt;
** Talks or presentations may be included, but the purpose is to work together on the project. Among conference formats, the closest comparison would be a participatory workshop.&lt;br /&gt;
* ''Is this a hackathon?''&lt;br /&gt;
** While there is plenty of intensive coding, the meeting is not competitive. We meet to collaborate.&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users, and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''What skills do I need?''&lt;br /&gt;
** Coding skills are not required. Contributions to documentation, tutorials, translations, website, and testing are all valuable. Practical help during the meeting, such as coordinating meals, photography, or reporting, is a real contribution too.&lt;br /&gt;
* ''Can I attend remotely?''&lt;br /&gt;
** The meeting is in-person, but everyone is welcome to use the same week for focused work on the project from wherever they are.&lt;br /&gt;
* ''What language is used during the meeting?''&lt;br /&gt;
** English is the working language, but you may hear several other languages spoken at the event.&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
* ''What if I can't spend time on this?''&lt;br /&gt;
** Can you spend money instead? [https://numfocus.org/donate-to-grass Donate to GRASS through NumFOCUS] to help keep the project going.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28936</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28936"/>
		<updated>2026-07-13T16:08:41Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Monday, July 13 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 -  19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Sponsors make the event possible. Learn more about [https://grass.osgeo.org/contribute/sponsoring/ Sponsoring].&lt;br /&gt;
&lt;br /&gt;
* [https://bhinc.com/ Bohannan Huston, Inc.]: 2,500 USD&lt;br /&gt;
[[File:Bohannan_Huston_Inc_Logo.png|none|left|400px|alt=Logo of Bohannan Huston, Inc.|Bohannan Huston, Inc.]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.fossgis.de/ FOSSGIS e.V.]: 4500 EUR (approved budget contribution, [https://www.fossgis.de/wiki/F%C3%B6rderantr%C3%A4ge/GRASS_GIS_Community_Meeting_2026 request]).&lt;br /&gt;
&lt;br /&gt;
[[File:FOSSGIS_eV_logo.png|none|left|400px|alt=Logo of FOSSGIS e.V.|FOSSGIS e.V.]]&lt;br /&gt;
&lt;br /&gt;
* U.S. National Science Foundation, award 2303651 (planning and time of 3 participants).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In-kind contributions:&lt;br /&gt;
** mundialis GmbH &amp;amp; Co. KG - personnel time (personnel time)&lt;br /&gt;
* Personal time and/or financial contributions:&lt;br /&gt;
** Edouard Choinière, Helmut Kudrnovsky, Markus Neteler, Vaclav Petras, Anna Petrasova, Corey White,   Veronica Andreo&lt;br /&gt;
** In addition to the above contributions, many participants made special efforts to keep costs down.&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is being refined.&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers (Luca, see FAQ below) if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
&lt;br /&gt;
* Hybrid meeting about 8.6.0 with Filesystem Hierarchy Standard and Jupyter in GUI updates &lt;br /&gt;
&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
&lt;br /&gt;
* Filesystem Hierarchy Standard ([https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard FHS])&lt;br /&gt;
* Updating the GRASS Roadmap&lt;br /&gt;
* New '''Windows build server''' needed for addon provisioning and to get rid of &amp;quot;windows-2022 build and tests&amp;quot; (&amp;lt;code&amp;gt;ERROR: Cannot open URL &amp;lt;http://wingrass.fsv.cvut.cz/grass85/addons/grass-8.5.1dev/r.stream.distance.zip&amp;gt;: HTTP Error 404: Not Found&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Call with remote participants on GUI topics ([https://github.com/OSGeo/grass/issues/7614 #7614] and others)&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
&lt;br /&gt;
* [[GSoC]] (may be moved to different day)&lt;br /&gt;
* GeoAI&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
&lt;br /&gt;
* Python API review&lt;br /&gt;
* Plan [[PSC]] elections&lt;br /&gt;
&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
&lt;br /&gt;
* Reducing PR backlog &lt;br /&gt;
&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
&lt;br /&gt;
* Address issues for the upcoming [https://github.com/OSGeo/grass/milestone/29 8.6.0 release]&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
&lt;br /&gt;
* Website review: fix the serious bootstrap mixup and broken sitemap bugs&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| grass.tools, pytest, subcommands, reviews&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| GSoC, reviews, PR backlog, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| [[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| 06.07.&lt;br /&gt;
| 18.07.&lt;br /&gt;
| documentation, website, state of GRASS support in QGIS 3.x/4.x, knowledge-transfer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| [[User:Sbl|Stefan Blumentrath]]&lt;br /&gt;
| Norway&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 18.07. (presumably)&lt;br /&gt;
| Handling Copernicus data with GRASS / actinia&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
| [[User:Hellik|Helmut Kudrnovsky]]&lt;br /&gt;
| Austria&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
| [[User:Veroandreo|Verónica Andreo]]&lt;br /&gt;
| Argentina&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
| [[User:Ctwhite|Corey White]]&lt;br /&gt;
| United States&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| grass.jupyter, documentation, website, reviews, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
| [[User:Echoix|Edouard Choinière]]&lt;br /&gt;
| Canada&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 19.07. (presumably)&lt;br /&gt;
| Reviews, CI, pytest, Windows GUI, i18n, undecided&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
| [[User:Mazingaro|Alen Mangafić]]&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling; State of GRASS @FOSS4G 2026&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
| Tomaž Žagar&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
| Matjaž Krebs&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
| Christian Braun&lt;br /&gt;
| Luxembourg&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 16.07.&lt;br /&gt;
| Reviews, documentation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Registration is free; participants cover their own travel and lodging (see below), often with employer support — thank you. Ideally we'd reimburse everyone, and every [https://numfocus.org/donate-to-grass donation] or [https://grass.osgeo.org/contribute/sponsoring/ employer sponsorship] of the project helps us get closer.&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (Trento or Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
From Trento main train station you need to move to Ferrovia Trento-Malè (FTM) train station (few minutes by walk, https://www.openstreetmap.org/#map=17/46.072739/11.120814) and there take a train to Grumo/San Michele all'Adige. Train timetable is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20ANDATA.pdf here], the opposite way is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf this one]&lt;br /&gt;
&lt;br /&gt;
Another possibility is to arrive with the main train (Ferrovie dello Stato) in Mezzocorona and here you can walk to San Michele (around 20 minutes by walk) or take the small train Trento-Malè from Mezzocorona Ferrovia station (in front of main train station https://www.openstreetmap.org/#map=18/46.206633/11.128024) and stop in Grumo/San Michele (you need to look for the [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf way back schedule])&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Registration is free''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
* For '''lodging booking''' options: see [https://grasscommunitymeeting2026.eventbrite.it/ Eventbrite]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is this a conference?''&lt;br /&gt;
** Talks or presentations may be included, but the purpose is to work together on the project. Among conference formats, the closest comparison would be a participatory workshop.&lt;br /&gt;
* ''Is this a hackathon?''&lt;br /&gt;
** While there is plenty of intensive coding, the meeting is not competitive. We meet to collaborate.&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users, and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''What skills do I need?''&lt;br /&gt;
** Coding skills are not required. Contributions to documentation, tutorials, translations, website, and testing are all valuable. Practical help during the meeting, such as coordinating meals, photography, or reporting, is a real contribution too.&lt;br /&gt;
* ''Can I attend remotely?''&lt;br /&gt;
** The meeting is in-person, but everyone is welcome to use the same week for focused work on the project from wherever they are.&lt;br /&gt;
* ''What language is used during the meeting?''&lt;br /&gt;
** English is the working language, but you may hear several other languages spoken at the event.&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
* ''What if I can't spend time on this?''&lt;br /&gt;
** Can you spend money instead? [https://numfocus.org/donate-to-grass Donate to GRASS through NumFOCUS] to help keep the project going.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28934</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28934"/>
		<updated>2026-07-13T15:39:39Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Jul 13 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 #1782]&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Social media posting.&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/3826 PR#3826 (grass) v.ppa] - Split code into smaller lib functions, fix issues with original implementation, and updated tests.&lt;br /&gt;
# [https://github.com/OSGeo/grass/pull/7298 Reviewed PR#7298] - grass.script: add create_mapset function&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# Reviewed t.stac tutorial&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
* Review Jupyter GUI integration [https://github.com/OSGeo/grass/pull/5901 #5901]&lt;br /&gt;
* Discussion between me, Linda, Alen and Vashek about data catalog and regions&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closeed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28932</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28932"/>
		<updated>2026-07-13T13:31:01Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Monday, July 13 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 -  19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Sponsors make the event possible. Learn more about [https://grass.osgeo.org/contribute/sponsoring/ Sponsoring].&lt;br /&gt;
&lt;br /&gt;
* [https://bhinc.com/ Bohannan Huston, Inc.]: 2,500 USD&lt;br /&gt;
[[File:Bohannan_Huston_Inc_Logo.png|none|left|400px|alt=Logo of Bohannan Huston, Inc.|Bohannan Huston, Inc.]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.fossgis.de/ FOSSGIS e.V.]: 4500 EUR (approved budget contribution, [https://www.fossgis.de/wiki/F%C3%B6rderantr%C3%A4ge/GRASS_GIS_Community_Meeting_2026 request]).&lt;br /&gt;
&lt;br /&gt;
[[File:FOSSGIS_eV_logo.png|none|left|400px|alt=Logo of FOSSGIS e.V.|FOSSGIS e.V.]]&lt;br /&gt;
&lt;br /&gt;
* U.S. National Science Foundation, award 2303651 (planning and time of 3 participants).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In-kind contributions:&lt;br /&gt;
** mundialis GmbH &amp;amp; Co. KG - personnel time (personnel time)&lt;br /&gt;
* Personal time and/or financial contributions:&lt;br /&gt;
** Edouard Choinière, Helmut Kudrnovsky, Markus Neteler, Vaclav Petras, Anna Petrasova, Corey White,   Veronica Andreo&lt;br /&gt;
** In addition to the above contributions, many participants made special efforts to keep costs down.&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is being refined.&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers (Luca, see FAQ below) if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
&lt;br /&gt;
* Hybrid meeting about 8.6.0 with Filesystem Hierarchy Standard and Jupyter in GUI updates &lt;br /&gt;
&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
&lt;br /&gt;
* Filesystem Hierarchy Standard ([https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard FHS])&lt;br /&gt;
* Updating the GRASS Roadmap&lt;br /&gt;
* New '''Windows build server''' needed for addon provisioning and to get rid of &amp;quot;windows-2022 build and tests&amp;quot; (&amp;lt;code&amp;gt;ERROR: Cannot open URL &amp;lt;http://wingrass.fsv.cvut.cz/grass85/addons/grass-8.5.1dev/r.stream.distance.zip&amp;gt;: HTTP Error 404: Not Found&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Call with remote participants on GUI topics ([https://github.com/OSGeo/grass/issues/7614 #7614] and others): [https://ncsu.zoom.us/j/91637696963?pwd=7GFdlbLPvCsxzkggmwHt6QarJELMcq.1 zoom link]&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
&lt;br /&gt;
* [[GSoC]] (may be moved to different day)&lt;br /&gt;
* GeoAI&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
&lt;br /&gt;
* Python API review&lt;br /&gt;
* Plan [[PSC]] elections&lt;br /&gt;
&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
&lt;br /&gt;
* Reducing PR backlog &lt;br /&gt;
&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
&lt;br /&gt;
* Address issues for the upcoming [https://github.com/OSGeo/grass/milestone/29 8.6.0 release]&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
&lt;br /&gt;
* Website review: fix the serious bootstrap mixup and broken sitemap bugs&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| grass.tools, pytest, subcommands, reviews&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| GSoC, reviews, PR backlog, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| [[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| 06.07.&lt;br /&gt;
| 18.07.&lt;br /&gt;
| documentation, website, state of GRASS support in QGIS 3.x/4.x, knowledge-transfer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| [[User:Sbl|Stefan Blumentrath]]&lt;br /&gt;
| Norway&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 18.07. (presumably)&lt;br /&gt;
| Handling Copernicus data with GRASS / actinia&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
| [[User:Hellik|Helmut Kudrnovsky]]&lt;br /&gt;
| Austria&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
| [[User:Veroandreo|Verónica Andreo]]&lt;br /&gt;
| Argentina&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
| [[User:Ctwhite|Corey White]]&lt;br /&gt;
| United States&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| grass.jupyter, documentation, website, reviews, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
| [[User:Echoix|Edouard Choinière]]&lt;br /&gt;
| Canada&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 19.07. (presumably)&lt;br /&gt;
| Reviews, CI, pytest, Windows GUI, i18n, undecided&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
| [[User:Mazingaro|Alen Mangafić]]&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling; State of GRASS @FOSS4G 2026&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
| Tomaž Žagar&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
| Matjaž Krebs&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
| Christian Braun&lt;br /&gt;
| Luxembourg&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 16.07.&lt;br /&gt;
| Reviews, documentation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Registration is free; participants cover their own travel and lodging (see below), often with employer support — thank you. Ideally we'd reimburse everyone, and every [https://numfocus.org/donate-to-grass donation] or [https://grass.osgeo.org/contribute/sponsoring/ employer sponsorship] of the project helps us get closer.&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (Trento or Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
From Trento main train station you need to move to Ferrovia Trento-Malè (FTM) train station (few minutes by walk, https://www.openstreetmap.org/#map=17/46.072739/11.120814) and there take a train to Grumo/San Michele all'Adige. Train timetable is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20ANDATA.pdf here], the opposite way is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf this one]&lt;br /&gt;
&lt;br /&gt;
Another possibility is to arrive with the main train (Ferrovie dello Stato) in Mezzocorona and here you can walk to San Michele (around 20 minutes by walk) or take the small train Trento-Malè from Mezzocorona Ferrovia station (in front of main train station https://www.openstreetmap.org/#map=18/46.206633/11.128024) and stop in Grumo/San Michele (you need to look for the [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf way back schedule])&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Registration is free''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
* For '''lodging booking''' options: see [https://grasscommunitymeeting2026.eventbrite.it/ Eventbrite]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is this a conference?''&lt;br /&gt;
** Talks or presentations may be included, but the purpose is to work together on the project. Among conference formats, the closest comparison would be a participatory workshop.&lt;br /&gt;
* ''Is this a hackathon?''&lt;br /&gt;
** While there is plenty of intensive coding, the meeting is not competitive. We meet to collaborate.&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users, and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''What skills do I need?''&lt;br /&gt;
** Coding skills are not required. Contributions to documentation, tutorials, translations, website, and testing are all valuable. Practical help during the meeting, such as coordinating meals, photography, or reporting, is a real contribution too.&lt;br /&gt;
* ''Can I attend remotely?''&lt;br /&gt;
** The meeting is in-person, but everyone is welcome to use the same week for focused work on the project from wherever they are.&lt;br /&gt;
* ''What language is used during the meeting?''&lt;br /&gt;
** English is the working language, but you may hear several other languages spoken at the event.&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
* ''What if I can't spend time on this?''&lt;br /&gt;
** Can you spend money instead? [https://numfocus.org/donate-to-grass Donate to GRASS through NumFOCUS] to help keep the project going.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28931</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28931"/>
		<updated>2026-07-13T13:27:55Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Monday, July 13 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 -  19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Sponsors make the event possible. Learn more about [https://grass.osgeo.org/contribute/sponsoring/ Sponsoring].&lt;br /&gt;
&lt;br /&gt;
* [https://bhinc.com/ Bohannan Huston, Inc.]: 2,500 USD&lt;br /&gt;
[[File:Bohannan_Huston_Inc_Logo.png|none|left|400px|alt=Logo of Bohannan Huston, Inc.|Bohannan Huston, Inc.]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.fossgis.de/ FOSSGIS e.V.]: 4500 EUR (approved budget contribution, [https://www.fossgis.de/wiki/F%C3%B6rderantr%C3%A4ge/GRASS_GIS_Community_Meeting_2026 request]).&lt;br /&gt;
&lt;br /&gt;
[[File:FOSSGIS_eV_logo.png|none|left|400px|alt=Logo of FOSSGIS e.V.|FOSSGIS e.V.]]&lt;br /&gt;
&lt;br /&gt;
* U.S. National Science Foundation, award 2303651 (planning and time of 3 participants).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In-kind contributions:&lt;br /&gt;
** mundialis GmbH &amp;amp; Co. KG - personnel time (personnel time)&lt;br /&gt;
* Personal time and/or financial contributions:&lt;br /&gt;
** Edouard Choinière, Helmut Kudrnovsky, Markus Neteler, Vaclav Petras, Anna Petrasova, Corey White,   Veronica Andreo&lt;br /&gt;
** In addition to the above contributions, many participants made special efforts to keep costs down.&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is being refined.&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers (Luca, see FAQ below) if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
&lt;br /&gt;
* Hybrid meeting about 8.6.0 with Filesystem Hierarchy Standard and Jupyter in GUI updates &lt;br /&gt;
&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
&lt;br /&gt;
* Filesystem Hierarchy Standard ([https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard FHS])&lt;br /&gt;
* Updating the GRASS Roadmap&lt;br /&gt;
* New '''Windows build server''' needed for addon provisioning and to get rid of &amp;quot;windows-2022 build and tests&amp;quot; (&amp;lt;code&amp;gt;ERROR: Cannot open URL &amp;lt;http://wingrass.fsv.cvut.cz/grass85/addons/grass-8.5.1dev/r.stream.distance.zip&amp;gt;: HTTP Error 404: Not Found&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Call with remote participants on GUI topics: [https://ncsu.zoom.us/j/91637696963?pwd=7GFdlbLPvCsxzkggmwHt6QarJELMcq.1 zoom link]&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
&lt;br /&gt;
* [[GSoC]] (may be moved to different day)&lt;br /&gt;
* GeoAI&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
&lt;br /&gt;
* Python API review&lt;br /&gt;
* Plan [[PSC]] elections&lt;br /&gt;
&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
&lt;br /&gt;
* Reducing PR backlog &lt;br /&gt;
&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
&lt;br /&gt;
* Address issues for the upcoming [https://github.com/OSGeo/grass/milestone/29 8.6.0 release]&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
&lt;br /&gt;
* Website review: fix the serious bootstrap mixup and broken sitemap bugs&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| grass.tools, pytest, subcommands, reviews&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| GSoC, reviews, PR backlog, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| [[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| 06.07.&lt;br /&gt;
| 18.07.&lt;br /&gt;
| documentation, website, state of GRASS support in QGIS 3.x/4.x, knowledge-transfer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| [[User:Sbl|Stefan Blumentrath]]&lt;br /&gt;
| Norway&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 18.07. (presumably)&lt;br /&gt;
| Handling Copernicus data with GRASS / actinia&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
| [[User:Hellik|Helmut Kudrnovsky]]&lt;br /&gt;
| Austria&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
| [[User:Veroandreo|Verónica Andreo]]&lt;br /&gt;
| Argentina&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
| [[User:Ctwhite|Corey White]]&lt;br /&gt;
| United States&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| grass.jupyter, documentation, website, reviews, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
| [[User:Echoix|Edouard Choinière]]&lt;br /&gt;
| Canada&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 19.07. (presumably)&lt;br /&gt;
| Reviews, CI, pytest, Windows GUI, i18n, undecided&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
| [[User:Mazingaro|Alen Mangafić]]&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling; State of GRASS @FOSS4G 2026&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
| Tomaž Žagar&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
| Matjaž Krebs&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
| Christian Braun&lt;br /&gt;
| Luxembourg&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 16.07.&lt;br /&gt;
| Reviews, documentation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Registration is free; participants cover their own travel and lodging (see below), often with employer support — thank you. Ideally we'd reimburse everyone, and every [https://numfocus.org/donate-to-grass donation] or [https://grass.osgeo.org/contribute/sponsoring/ employer sponsorship] of the project helps us get closer.&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (Trento or Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
From Trento main train station you need to move to Ferrovia Trento-Malè (FTM) train station (few minutes by walk, https://www.openstreetmap.org/#map=17/46.072739/11.120814) and there take a train to Grumo/San Michele all'Adige. Train timetable is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20ANDATA.pdf here], the opposite way is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf this one]&lt;br /&gt;
&lt;br /&gt;
Another possibility is to arrive with the main train (Ferrovie dello Stato) in Mezzocorona and here you can walk to San Michele (around 20 minutes by walk) or take the small train Trento-Malè from Mezzocorona Ferrovia station (in front of main train station https://www.openstreetmap.org/#map=18/46.206633/11.128024) and stop in Grumo/San Michele (you need to look for the [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf way back schedule])&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Registration is free''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
* For '''lodging booking''' options: see [https://grasscommunitymeeting2026.eventbrite.it/ Eventbrite]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is this a conference?''&lt;br /&gt;
** Talks or presentations may be included, but the purpose is to work together on the project. Among conference formats, the closest comparison would be a participatory workshop.&lt;br /&gt;
* ''Is this a hackathon?''&lt;br /&gt;
** While there is plenty of intensive coding, the meeting is not competitive. We meet to collaborate.&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users, and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''What skills do I need?''&lt;br /&gt;
** Coding skills are not required. Contributions to documentation, tutorials, translations, website, and testing are all valuable. Practical help during the meeting, such as coordinating meals, photography, or reporting, is a real contribution too.&lt;br /&gt;
* ''Can I attend remotely?''&lt;br /&gt;
** The meeting is in-person, but everyone is welcome to use the same week for focused work on the project from wherever they are.&lt;br /&gt;
* ''What language is used during the meeting?''&lt;br /&gt;
** English is the working language, but you may hear several other languages spoken at the event.&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
* ''What if I can't spend time on this?''&lt;br /&gt;
** Can you spend money instead? [https://numfocus.org/donate-to-grass Donate to GRASS through NumFOCUS] to help keep the project going.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28930</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28930"/>
		<updated>2026-07-13T13:18:22Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Jul 13 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 #1782]&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Social media posting.&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
* t.info tests [https://github.com/OSGeo/grass/pull/7682 #7682]&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closeed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28929</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28929"/>
		<updated>2026-07-13T13:04:21Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Jul 13 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 #1782]&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Social media posting.&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
* Fixed bug in temporal library: [https://github.com/OSGeo/grass/pull/7681 #7681]&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Reviewed: [https://github.com/OSGeo/grass/pull/7670 #7670], [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
Closed PRs: [https://github.com/OSGeo/grass/pull/7644 #7644]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
&lt;br /&gt;
Discussed options for handling STDS in the GUI&lt;br /&gt;
&lt;br /&gt;
Opened PRs: [https://github.com/OSGeo/grass/pull/7678 #7678]&lt;br /&gt;
&lt;br /&gt;
Reviewed PRs: [https://github.com/OSGeo/grass/pull/7670 #7670]&lt;br /&gt;
&lt;br /&gt;
Merged PRs: [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
&lt;br /&gt;
Closeed PRs: [https://github.com/OSGeo/grass/pull/7671 #7671]&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28927</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28927"/>
		<updated>2026-07-13T09:53:26Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Anna Petrasova */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
* work on generating an auto-generated GRASS addons index covering all addons found with GitHub topic &amp;quot;[https://github.com/topics/grass-gis-addons grass-gis-addons]&amp;quot;&lt;br /&gt;
** part 1: add missing markdown manual files to all addons missing them (addons found on GitHub outside of &amp;quot;grass-addons&amp;quot;: currently 71)&lt;br /&gt;
** part 2: developing of a script doing the git clone/compilation/manual page generation steps [https://github.com/OSGeo/grass-addons/pull/1782 #1782]&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
* Review grass-tutorials PRs [https://github.com/OSGeo/grass-tutorials/pull/116 #116], [https://github.com/OSGeo/grass-tutorials/pull/135 #135], [https://github.com/OSGeo/grass-tutorials/pull/136 #136].&lt;br /&gt;
* Social media posting.&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
'''12-07-2026'''&lt;br /&gt;
&lt;br /&gt;
GRASS Website migration to Bootstrap 5 and sass-dart&lt;br /&gt;
* Addressing [https://github.com/OSGeo/grass-website/issues/600 Issue #600]&lt;br /&gt;
Current state&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/599 PR#599 (grass-website)] - Approved (pending PR#635 and PR#1783)&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/552 PR#552 (grass-website)] (devcontainer)   - Closed (superseded by #599)&lt;br /&gt;
# PR B (grass-website)(bootstrap5-migration)   - Pushed to fork, not opened. I'll open after #599 merges&lt;br /&gt;
# PR C (grass-website) (brand-tokens-single-source) - Pushed to fork, not opened. I'll open after PR B merges&lt;br /&gt;
# [https://github.com/OSGeo/grass-website/pull/635 PR#635 (grass-website)] - Build production site in CI and publish it as a release artifact&lt;br /&gt;
# [https://github.com/OSGeo/grass-addons/pull/1783 PR#1783 (grass-addons)] - Updates deploy website CRON job from the CI-built release artifact&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
==== Jul 12 ====&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
* Review website [https://github.com/OSGeo/grass-website/pull/599 #599]&lt;br /&gt;
&lt;br /&gt;
==== Jul 13 ====&lt;br /&gt;
&lt;br /&gt;
* Discussion with Vero and Stefan on GSoC project implementation&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
==== 2026-07-11 ====&lt;br /&gt;
* Discussion with Corey White on trying to build docs with Zensical, and dropping Sphinx for [https://zensical.org/docs/setup/extensions/mkdocstrings/ mkdocstrings]&lt;br /&gt;
* Discussion with Vaclav Petras on Windows builds and Fable:&lt;br /&gt;
** The nsis installer had a change to do (as debugged last year by me in [https://github.com/OSGeo/grass/issues/5663 #5663]), but we don't know how to do it well. We suggested to let Anthropic's Fable try to do it before it stopped being included in the Claude subscription.&lt;br /&gt;
** For us to try out the fixed nsis installer script, Fable should be able to create the installer in CI. It is being tried in [https://github.com/echoix/grass/pull/664 echoix#664]/[https://github.com/wenzeslaus/grass/pull/12 wenzeslaus#12]&lt;br /&gt;
** Also suggested to use Fable to attempt to solve issues in a pending Sphinx PR that we were stuck for too long, (Stcuk PR: [https://github.com/OSGeo/grass/pull/7526 #7526], result: [https://github.com/wenzeslaus/grass/pull/11 wenzeslaus#11])&lt;br /&gt;
==== 2026-07-12 ====&lt;br /&gt;
* Got PRs merged: [https://github.com/OSGeo/grass/pull/7660 #7660], [https://github.com/OSGeo/grass/pull/7659 #7659],&lt;br /&gt;
* Created follow-up PR for sscanf: [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Discussed with Stefan Blumentrath: &lt;br /&gt;
** temporal init, choice of his PR or another contributor&lt;br /&gt;
** Discussed AI findings on various files accumulated in the last weeks: most are valid and should be filed.&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass-addons/pull/641 grass-addons#641], [https://github.com/OSGeo/grass/pull/7635 #7635], [https://github.com/OSGeo/grass/pull/7671 #7671], [https://github.com/OSGeo/grass/pull/7669 #7669]&lt;br /&gt;
* Video call on FHS&lt;br /&gt;
* First review of Fable windows installer in CI on [https://github.com/echoix/grass/pull/664 echoix#664]&lt;br /&gt;
&lt;br /&gt;
==== 2026-07-13 ====&lt;br /&gt;
* Reviewed PRs: [https://github.com/OSGeo/grass/pull/7663 #7663], [https://github.com/OSGeo/grass-website/pull/635 grass-website#635], [https://github.com/OSGeo/grass/pull/7337 #7337], [https://github.com/OSGeo/grass/pull/7672 #7672]&lt;br /&gt;
* Worked on the last sscanf CodeQL alert, for [https://github.com/OSGeo/grass/pull/7673 #7673]&lt;br /&gt;
* Tested out windows standalone installer built in CI [https://github.com/echoix/grass/pull/664 echoix#664]. Almost works, as it installs, but it doesn't start because of a path error. Wrote some notes about windows compilation in CI in relation to addons in Vashek's google doc.&lt;br /&gt;
* Wrote notes on the windows build script having two versions, where OSGeo4W uses a different one than the one we use in CI for our tests, and they diverged&lt;br /&gt;
* Submitted PR of AI findings for tests of g.md2man [https://github.com/OSGeo/grass/pull/7679 #7679]&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
* Reviews and discussion on FHS (video call, [https://github.com/OSGeo/grass/pull/5630 5630], [https://github.com/wenzeslaus/grass/pull/10 my fork PR 10])&lt;br /&gt;
* Test reviews: [https://github.com/OSGeo/grass/pull/7675 #7675]&lt;br /&gt;
* Windows distribution reviews: [https://github.com/OSGeo/grass/issues/5663 #5663]&lt;br /&gt;
* Sphinx reviews: [https://github.com/OSGeo/grass/pull/7526 #7526]&lt;br /&gt;
* RegionManager discussion ([https://github.com/OSGeo/grass/pull/7599 7599])&lt;br /&gt;
* Parson allocation review: [https://github.com/OSGeo/grass/pull/7208 7208]&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;br /&gt;
&lt;br /&gt;
* All the local organizing (Thank you, Luca!)&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28911</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28911"/>
		<updated>2026-07-12T13:57:36Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540] - merged&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7674 #7674]&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28910</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28910"/>
		<updated>2026-07-12T10:08:44Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Anna Petrasova */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Finish v.geometry tool: [https://github.com/OSGeo/grass/pull/7329 #7329]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540]&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28909</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28909"/>
		<updated>2026-07-12T08:52:08Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Anna Petrasova */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
* Review of [https://github.com/OSGeo/grass/pull/7659 #7659], [https://github.com/OSGeo/grass/pull/7599 #7599]&lt;br /&gt;
* Working on markdown to man page conversion to remove old html pages:&lt;br /&gt;
** [https://github.com/OSGeo/grass/pull/7540 #7540]&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28905</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28905"/>
		<updated>2026-07-12T07:39:10Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Sponsors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 -  19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Sponsors make the event possible. Learn more about [https://grass.osgeo.org/contribute/sponsoring/ Sponsoring].&lt;br /&gt;
&lt;br /&gt;
* [https://bhinc.com/ Bohannan Huston, Inc.]: 2,500 USD&lt;br /&gt;
[[File:Bohannan_Huston_Inc_Logo.png|none|left|400px|alt=Logo of Bohannan Huston, Inc.|Bohannan Huston, Inc.]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.fossgis.de/ FOSSGIS e.V.]: 4500 EUR (approved budget contribution, [https://www.fossgis.de/wiki/F%C3%B6rderantr%C3%A4ge/GRASS_GIS_Community_Meeting_2026 request]).&lt;br /&gt;
&lt;br /&gt;
[[File:FOSSGIS_eV_logo.png|none|left|400px|alt=Logo of FOSSGIS e.V.|FOSSGIS e.V.]]&lt;br /&gt;
&lt;br /&gt;
* U.S. National Science Foundation, award 2303651 (planning and time of 3 participants).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In-kind contributions:&lt;br /&gt;
** mundialis GmbH &amp;amp; Co. KG - personnel time (personnel time)&lt;br /&gt;
* Personal time and/or financial contributions:&lt;br /&gt;
** Edouard Choinière, Helmut Kudrnovsky, Markus Neteler, Vaclav Petras, Anna Petrasova, Corey White,   Veronica Andreo&lt;br /&gt;
** In addition to the above contributions, many participants made special efforts to keep costs down.&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is being refined.&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers (Luca, see FAQ below) if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
&lt;br /&gt;
* Hybrid meeting about 8.6.0 with Filesystem Hierarchy Standard and Jupyter in GUI updates &lt;br /&gt;
&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
&lt;br /&gt;
* Filesystem Hierarchy Standard ([https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard FHS])&lt;br /&gt;
* Updating the GRASS Roadmap&lt;br /&gt;
* New '''Windows build server''' needed for addon provisioning and to get rid of &amp;quot;windows-2022 build and tests&amp;quot; (&amp;lt;code&amp;gt;ERROR: Cannot open URL &amp;lt;http://wingrass.fsv.cvut.cz/grass85/addons/grass-8.5.1dev/r.stream.distance.zip&amp;gt;: HTTP Error 404: Not Found&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
&lt;br /&gt;
* [[GSoC]] (may be moved to different day)&lt;br /&gt;
* GeoAI&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
&lt;br /&gt;
* Python API review&lt;br /&gt;
* Plan [[PSC]] elections&lt;br /&gt;
&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
&lt;br /&gt;
* Reducing PR backlog &lt;br /&gt;
&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
&lt;br /&gt;
* Address issues for the upcoming [https://github.com/OSGeo/grass/milestone/29 8.6.0 release]&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
&lt;br /&gt;
* Website review: fix the serious bootstrap mixup and broken sitemap bugs&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| grass.tools, pytest, subcommands, reviews&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| GSoC, reviews, PR backlog, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| [[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| 06.07.&lt;br /&gt;
| 18.07.&lt;br /&gt;
| documentation, website, state of GRASS support in QGIS 3.x/4.x, knowledge-transfer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| [[User:Sbl|Stefan Blumentrath]]&lt;br /&gt;
| Norway&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 18.07. (presumably)&lt;br /&gt;
| Handling Copernicus data with GRASS / actinia&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
| [[User:Hellik|Helmut Kudrnovsky]]&lt;br /&gt;
| Austria&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
| [[User:Veroandreo|Verónica Andreo]]&lt;br /&gt;
| Argentina&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
| [[User:Ctwhite|Corey White]]&lt;br /&gt;
| United States&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| grass.jupyter, documentation, website, reviews, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
| [[User:Echoix|Edouard Choinière]]&lt;br /&gt;
| Canada&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 19.07. (presumably)&lt;br /&gt;
| Reviews, CI, pytest, Windows GUI, i18n, undecided&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
| [[User:Mazingaro|Alen Mangafić]]&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling; State of GRASS @FOSS4G 2026&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
| Tomaž Žagar&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
| Matjaž Krebs&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Registration is free; participants cover their own travel and lodging (see below), often with employer support — thank you. Ideally we'd reimburse everyone, and every [https://numfocus.org/donate-to-grass donation] or [https://grass.osgeo.org/contribute/sponsoring/ employer sponsorship] of the project helps us get closer.&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (Trento or Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
From Trento main train station you need to move to Ferrovia Trento-Malè (FTM) train station (few minutes by walk, https://www.openstreetmap.org/#map=17/46.072739/11.120814) and there take a train to Grumo/San Michele all'Adige. Train timetable is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20ANDATA.pdf here], the opposite way is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf this one]&lt;br /&gt;
&lt;br /&gt;
Another possibility is to arrive with the main train (Ferrovie dello Stato) in Mezzocorona and here you can walk to San Michele (around 20 minutes by walk) or take the small train Trento-Malè from Mezzocorona Ferrovia station (in front of main train station https://www.openstreetmap.org/#map=18/46.206633/11.128024) and stop in Grumo/San Michele (you need to look for the [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf way back schedule])&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Registration is free''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
* For '''lodging booking''' options: see [https://grasscommunitymeeting2026.eventbrite.it/ Eventbrite]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is this a conference?''&lt;br /&gt;
** Talks or presentations may be included, but the purpose is to work together on the project. Among conference formats, the closest comparison would be a participatory workshop.&lt;br /&gt;
* ''Is this a hackathon?''&lt;br /&gt;
** While there is plenty of intensive coding, the meeting is not competitive. We meet to collaborate.&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users, and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''What skills do I need?''&lt;br /&gt;
** Coding skills are not required. Contributions to documentation, tutorials, translations, website, and testing are all valuable. Practical help during the meeting, such as coordinating meals, photography, or reporting, is a real contribution too.&lt;br /&gt;
* ''Can I attend remotely?''&lt;br /&gt;
** The meeting is in-person, but everyone is welcome to use the same week for focused work on the project from wherever they are.&lt;br /&gt;
* ''What language is used during the meeting?''&lt;br /&gt;
** English is the working language, but you may hear several other languages spoken at the event.&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
* ''What if I can't spend time on this?''&lt;br /&gt;
** Can you spend money instead? [https://numfocus.org/donate-to-grass Donate to GRASS through NumFOCUS] to help keep the project going.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28904</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28904"/>
		<updated>2026-07-12T07:36:57Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Sponsors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 -  19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Sponsors make the event possible. Learn more about [https://grass.osgeo.org/contribute/sponsoring/ Sponsoring].&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.fossgis.de/ FOSSGIS e.V.]: 4500 EUR (approved budget contribution, [https://www.fossgis.de/wiki/F%C3%B6rderantr%C3%A4ge/GRASS_GIS_Community_Meeting_2026 request]).&lt;br /&gt;
&lt;br /&gt;
[[File:FOSSGIS_eV_logo.png|none|left|400px|alt=Logo of FOSSGIS e.V.|FOSSGIS e.V.]]&lt;br /&gt;
&lt;br /&gt;
* U.S. National Science Foundation, award 2303651 (planning and time of 3 participants).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In-kind contributions:&lt;br /&gt;
** mundialis GmbH &amp;amp; Co. KG - personnel time (personnel time)&lt;br /&gt;
* Personal time and/or financial contributions:&lt;br /&gt;
** Edouard Choinière, Helmut Kudrnovsky, Markus Neteler, Vaclav Petras, Anna Petrasova, Corey White,   Veronica Andreo&lt;br /&gt;
** In addition to the above contributions, many participants made special efforts to keep costs down.&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is being refined.&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers (Luca, see FAQ below) if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
&lt;br /&gt;
* Hybrid meeting about 8.6.0 with Filesystem Hierarchy Standard and Jupyter in GUI updates &lt;br /&gt;
&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
&lt;br /&gt;
* Filesystem Hierarchy Standard ([https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard FHS])&lt;br /&gt;
* Updating the GRASS Roadmap&lt;br /&gt;
* New '''Windows build server''' needed for addon provisioning and to get rid of &amp;quot;windows-2022 build and tests&amp;quot; (&amp;lt;code&amp;gt;ERROR: Cannot open URL &amp;lt;http://wingrass.fsv.cvut.cz/grass85/addons/grass-8.5.1dev/r.stream.distance.zip&amp;gt;: HTTP Error 404: Not Found&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
&lt;br /&gt;
* [[GSoC]] (may be moved to different day)&lt;br /&gt;
* GeoAI&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
&lt;br /&gt;
* Python API review&lt;br /&gt;
* Plan [[PSC]] elections&lt;br /&gt;
&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
&lt;br /&gt;
* Reducing PR backlog &lt;br /&gt;
&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
&lt;br /&gt;
* Address issues for the upcoming [https://github.com/OSGeo/grass/milestone/29 8.6.0 release]&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
&lt;br /&gt;
* Website review: fix the serious bootstrap mixup and broken sitemap bugs&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| grass.tools, pytest, subcommands, reviews&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| GSoC, reviews, PR backlog, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| [[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| 06.07.&lt;br /&gt;
| 18.07.&lt;br /&gt;
| documentation, website, state of GRASS support in QGIS 3.x/4.x, knowledge-transfer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| [[User:Sbl|Stefan Blumentrath]]&lt;br /&gt;
| Norway&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 18.07. (presumably)&lt;br /&gt;
| Handling Copernicus data with GRASS / actinia&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
| [[User:Hellik|Helmut Kudrnovsky]]&lt;br /&gt;
| Austria&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
| [[User:Veroandreo|Verónica Andreo]]&lt;br /&gt;
| Argentina&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
| [[User:Ctwhite|Corey White]]&lt;br /&gt;
| United States&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| grass.jupyter, documentation, website, reviews, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
| [[User:Echoix|Edouard Choinière]]&lt;br /&gt;
| Canada&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 19.07. (presumably)&lt;br /&gt;
| Reviews, CI, pytest, Windows GUI, i18n, undecided&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
| [[User:Mazingaro|Alen Mangafić]]&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling; State of GRASS @FOSS4G 2026&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
| Tomaž Žagar&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
| Matjaž Krebs&lt;br /&gt;
| Slovenia&lt;br /&gt;
| 13.07.&lt;br /&gt;
| 17.07.&lt;br /&gt;
| i.hyper: [https://grass.osgeo.org/grass-stable/manuals/addons/i.hyper.html Road Map] fulfilling&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Registration is free; participants cover their own travel and lodging (see below), often with employer support — thank you. Ideally we'd reimburse everyone, and every [https://numfocus.org/donate-to-grass donation] or [https://grass.osgeo.org/contribute/sponsoring/ employer sponsorship] of the project helps us get closer.&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (Trento or Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
From Trento main train station you need to move to Ferrovia Trento-Malè (FTM) train station (few minutes by walk, https://www.openstreetmap.org/#map=17/46.072739/11.120814) and there take a train to Grumo/San Michele all'Adige. Train timetable is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20ANDATA.pdf here], the opposite way is [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf this one]&lt;br /&gt;
&lt;br /&gt;
Another possibility is to arrive with the main train (Ferrovie dello Stato) in Mezzocorona and here you can walk to San Michele (around 20 minutes by walk) or take the small train Trento-Malè from Mezzocorona Ferrovia station (in front of main train station https://www.openstreetmap.org/#map=18/46.206633/11.128024) and stop in Grumo/San Michele (you need to look for the [https://www.trentinotrasporti.it/images/allegati/ferrovia/ftm/FTM%20est2026%20-%20RITORNO.pdf way back schedule])&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Registration is free''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
* For '''lodging booking''' options: see [https://grasscommunitymeeting2026.eventbrite.it/ Eventbrite]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is this a conference?''&lt;br /&gt;
** Talks or presentations may be included, but the purpose is to work together on the project. Among conference formats, the closest comparison would be a participatory workshop.&lt;br /&gt;
* ''Is this a hackathon?''&lt;br /&gt;
** While there is plenty of intensive coding, the meeting is not competitive. We meet to collaborate.&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users, and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''What skills do I need?''&lt;br /&gt;
** Coding skills are not required. Contributions to documentation, tutorials, translations, website, and testing are all valuable. Practical help during the meeting, such as coordinating meals, photography, or reporting, is a real contribution too.&lt;br /&gt;
* ''Can I attend remotely?''&lt;br /&gt;
** The meeting is in-person, but everyone is welcome to use the same week for focused work on the project from wherever they are.&lt;br /&gt;
* ''What language is used during the meeting?''&lt;br /&gt;
** English is the working language, but you may hear several other languages spoken at the event.&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
* ''What if I can't spend time on this?''&lt;br /&gt;
** Can you spend money instead? [https://numfocus.org/donate-to-grass Donate to GRASS through NumFOCUS] to help keep the project going.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28903</id>
		<title>Talk:GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Meeting_San_Michele_2026&amp;diff=28903"/>
		<updated>2026-07-12T07:16:39Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: Initial reports page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Community Meeting San Michele 2026|Meeting page]] | [[#Reports|Reports]]  |  [[GRASS_Community_Meeting_Prague_2024#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Luca Delucchi, Vaclav Petras, Veronica Andreo, Markus Neteler, Anna Petrasova&lt;br /&gt;
* Budget: Luca Delucchi, Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Raising support: Vaclav Petras, Markus Neteler, Veronica Andreo&lt;br /&gt;
* Reimbursements: &lt;br /&gt;
* Venue: Luca Delucchi&lt;br /&gt;
* Meals: Luca Delucchi&lt;br /&gt;
* Agenda: Veronica Andreo, Anna Petrasova&lt;br /&gt;
* Wiki page: Anna Petrasova, Luca Delucchi, Vaclav Petras&lt;br /&gt;
* Virtual participant support: &lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Veronica Andreo&lt;br /&gt;
* Photography: Veronica Andreo&lt;br /&gt;
&lt;br /&gt;
== Tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* Create section for you in the Reports section.&lt;br /&gt;
* List all the things you are working on in the section. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting (one &amp;lt;code&amp;gt;=== Name ===&amp;lt;/code&amp;gt; section per participant.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Corey White ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Stefan Blumentrath ===&lt;br /&gt;
&lt;br /&gt;
=== Luca Delucchi ===&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GIS_Jupyter_notebooks&amp;diff=28884</id>
		<title>GRASS GIS Jupyter notebooks</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GIS_Jupyter_notebooks&amp;diff=28884"/>
		<updated>2026-05-15T17:15:44Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: Remove outdated information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Jupyter Notebook is a web application that allows you to create and share documents that contain scripts and code, equations, visualizations and explanatory text, combined.&lt;br /&gt;
&lt;br /&gt;
== Get started ==&lt;br /&gt;
Read [https://grass.osgeo.org/grass-stable/manuals/jupyter_intro.html GRASS Jupyter Notebooks Introduction].&lt;br /&gt;
Try [https://grass-tutorials.osgeo.org/content/tutorials/get_started/fast_track_grass_and_python.html Get started with GRASS &amp;amp; Python in Jupyter Notebooks] official tutorial. Browse additional [https://grass-tutorials.osgeo.org/ tutorials].&lt;br /&gt;
&lt;br /&gt;
== List of selected GRASS Jupyter notebooks ==&lt;br /&gt;
Note that the following list is community contributed and the notebooks may contain outdated information and old GRASS API usage. For up-to-date notebooks, see GRASS official [https://grass-tutorials.osgeo.org/ tutorial page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Intro notebooks:'''&lt;br /&gt;
* [https://github.com/OSGeo/grass/blob/main/doc/notebooks Official notebooks in OSGeo/grass repo] ([https://mybinder.org/v2/gh/OSGeo/grass/main?urlpath=lab%2Ftree%2Fdoc%2Fnotebooks%2Fjupyter_example.ipynb jupyter_example.ipynb on Binder])&lt;br /&gt;
* [https://github.com/ncsu-geoforall-lab/grass-gis-workshop-foss4g-2022 Unleash the power of GRASS GIS with Jupyter (FOSS4G 2022 workshop)]&lt;br /&gt;
* [https://github.com/ncsu-geoforall-lab/grass-gis-workshop-FOSS4G-2021 GRASS GIS: From Beginner to Power User (FOSS4G 2021 workshop)]&lt;br /&gt;
* [https://github.com/wenzeslaus/try-grass-in-jupyter-with-bash wenzeslaus/try-grass-in-jupyter-with-bash] (experimental)&lt;br /&gt;
* NSF platform: https://wholetale.org/&lt;br /&gt;
** GRASS GIS Introduction, by Anna Petrasova: https://dashboard.wholetale.org/run/63d832bab4a0197e9a9ecdad?tab=files&lt;br /&gt;
&lt;br /&gt;
'''Windows related:'''&lt;br /&gt;
* [https://github.com/ncsu-geoforall-lab/GIS714-assignments/blob/main/GRASS_GIS_Foundations/JupyterOnWindows_standalone_Tutorial.ipynb GRASS GIS Jupyter Notebooks on Windows standalone installer tutorial]&lt;br /&gt;
* [https://github.com/ncsu-geoforall-lab/GIS714-assignments/blob/main/GRASS_GIS_Foundations/JupyterOnWindows_OSGeo4W_Tutorial.ipynb GRASS GIS Jupyter Notebooks on Windows with OSGeo4W]&lt;br /&gt;
&lt;br /&gt;
'''Mac related:'''&lt;br /&gt;
* [https://github.com/ncsu-geoforall-lab/GIS714-assignments/blob/main/GRASS_GIS_Foundations/JupyterOnMac_Tutorial.ipynb GRASS GIS Jupyter Notebooks on Mac]&lt;br /&gt;
&lt;br /&gt;
'''Workbook Collections:'''&lt;br /&gt;
* [https://github.com/wenzeslaus/geospatial-modeling-course-jupyter/tree/master/notebooks 14 Jupyter Notebooks for learning geospatial analysis and modeling with GRASS GIS] (Python and command line versions)&lt;br /&gt;
&lt;br /&gt;
'''Species Distribution Modeling:'''&lt;br /&gt;
* NSF platform: https://wholetale.org/&lt;br /&gt;
** Using satellite data for Species Distribution Modeling with GRASS GIS and R, by Veronica Andreo https://dashboard.wholetale.org/run/64388157b3b74e434bd8f1ac?tab=files&lt;br /&gt;
&lt;br /&gt;
'''Image processing/OBIA:'''&lt;br /&gt;
* [https://github.com/veroandreo/foss4g2022_grass4rs GRASS GIS for remote sensing data processing and analysis]&lt;br /&gt;
* [https://github.com/neteler/jupyter_sentinel2_grass_gis GRASS GIS 8 and processing of multitemporal EO data]&lt;br /&gt;
* [https://github.com/tgrippa/Opensource_OBIA_processing_chain An open-source semi-automated processing chain for urban OBIA classification]&lt;br /&gt;
&lt;br /&gt;
'''Python and PyGRASS:'''&lt;br /&gt;
* [https://github.com/zarch/workshop-pygrass Workshop on PyGRASS using IPython notebook]&lt;br /&gt;
* [https://github.com/wenzeslaus/foss4g-2022-developing-custom-grass-tools Developing custom GRASS tools (FOSS4G 2022 workshop)]&lt;br /&gt;
* [https://github.com/wenzeslaus/python-grass-addon How to write a Python GRASS GIS 7 addon (FOSS4G Europe 2015 workshop)]&lt;br /&gt;
* [https://github.com/lucadelu/docker-stacks/tree/geospatial/geospatial-notebook Jupyter Notebook Geospatial Python Stack]&lt;br /&gt;
&lt;br /&gt;
'''R and GRASS GIS:'''&lt;br /&gt;
* [https://gist.github.com/joergsteinkamp/43fb13a82aeab9b5c0dcc4433f97f1a6 Simple Opensource GIS examples with GRASS GIS and R]&lt;br /&gt;
&lt;br /&gt;
'''Wildfire Modeling:'''&lt;br /&gt;
* [https://github.com/acoiman/wildfire_modeling Wildfire Modeling in Yosemite National Park]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Documentation]]&lt;br /&gt;
[[Category: Python]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=FUTURES_tutorial&amp;diff=28881</id>
		<title>FUTURES tutorial</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=FUTURES_tutorial&amp;diff=28881"/>
		<updated>2026-05-14T16:46:33Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: small updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://grass.osgeo.org/grass-stable/manuals/addons/r.futures.html r.futures.*] is an implementation of FUTure Urban-Regional Environment Simulation (FUTURES)&lt;br /&gt;
which is a model for multilevel simulations of emerging urban-rural landscape structure.&lt;br /&gt;
FUTURES produces regional projections of landscape patterns using coupled submodels that integrate nonstationary&lt;br /&gt;
drivers of land change: per capita demand (DEMAND submodel), site suitability (POTENTIAL submodel),&lt;br /&gt;
and the spatial structure of conversion events (PGA submodel).&lt;br /&gt;
&lt;br /&gt;
This tutorial shows how to prepare data and run the model. You can download [http://fatra.cnr.ncsu.edu/futures/FUTURES_triangle.zip sample dataset] and simulate urban growth&lt;br /&gt;
in [https://en.wikipedia.org/wiki/Research_Triangle The Triangle], region in the Piedmont of North Carolina in the United States with rapidly growing cities Raleigh, Durham and Chapel Hill.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
This tutorial requires basic knowledge of GRASS GIS. If you haven't used GRASS GIS before, you may want to first go through some of the introductory tutorials or alternative workshops linked from the [[#See also|See also section]].&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
Required software includes:&lt;br /&gt;
* GRASS GIS&lt;br /&gt;
* addons&lt;br /&gt;
** {{AddonCmd|r.futures.simulation}}&lt;br /&gt;
** {{AddonCmd|r.futures.potential}}&lt;br /&gt;
** {{AddonCmd|r.futures.demand}}&lt;br /&gt;
** {{AddonCmd|r.futures.devpressure}}&lt;br /&gt;
** {{AddonCmd|r.sample.category}}&lt;br /&gt;
* R (≥ 3.0.2) - needed for {{AddonCmd|r.futures.potential}}&lt;br /&gt;
* SciPy - useful for {{AddonCmd|r.futures.demand}}&lt;br /&gt;
&lt;br /&gt;
= Input data used in this tutorial =&lt;br /&gt;
Download [http://fatra.cnr.ncsu.edu/futures/FUTURES_triangle.zip sample dataset] containing:&lt;br /&gt;
* digital elevation model ([http://nationalmap.gov/elevation.html NED])&lt;br /&gt;
* [http://www.mrlc.gov/ NLCD] 2001, 2011&lt;br /&gt;
* NLCD 1992/2001 Retrofit Land Cover Change Product&lt;br /&gt;
* transportation network ([http://www.census.gov/geo/maps-data/data/tiger-line.html TIGER])&lt;br /&gt;
* county boundaries ([http://www.census.gov/geo/maps-data/data/tiger-line.html TIGER])&lt;br /&gt;
* protected areas ([http://www.conservationgateway.org/ConservationByGeography/NorthAmerica/UnitedStates/edc/reportsdata/terrestrial/secured/Pages/default.aspx  Secured Lands])&lt;br /&gt;
* cities above 20000 (USGS)&lt;br /&gt;
* county population past estimates and future projections ([https://www.osbm.nc.gov/demog/county-projections NC OSBM]) per county (nonspatial)&lt;br /&gt;
&lt;br /&gt;
= Workflow =&lt;br /&gt;
Download sample data and unzip it. Create &amp;lt;tt&amp;gt;grassdata&amp;lt;/tt&amp;gt; directory on your disk (or use the one you already have) and move there Location &amp;lt;tt&amp;gt;futures_ncspm&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Launch GRASS GIS and select your &amp;lt;tt&amp;gt;grassdata&amp;lt;/tt&amp;gt; directory, Location &amp;lt;tt&amp;gt;futures_ncspm&amp;lt;/tt&amp;gt; and Mapset &amp;lt;tt&amp;gt;practice1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Install addons:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
g.extension r.futures&lt;br /&gt;
g.extension r.sample.category&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Close GUI and restart it:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
g.gui&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install the required R packages, go to the command line terminal which was started with GRASS GIS and R:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
R&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This starts the R command line where you need to execute the following code (and go through any dialogs about installation if R shows them):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;R&amp;quot;&amp;gt;&lt;br /&gt;
install.packages(c(&amp;quot;MuMIn&amp;quot;, &amp;quot;lme4&amp;quot;, &amp;quot;optparse&amp;quot;, &amp;quot;rgrass7&amp;quot;))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial steps and data preparation ==&lt;br /&gt;
First we will set computational region of our analyses to an extent covering our study area and so that the cells are aligned with one of our landuse rasters:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;g.region raster=landuse_2011 -p&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will derive urbanized areas from NLCD dataset for year 1992, 2001 and 2011&lt;br /&gt;
by extracting categories category 21 - 24 into a new binary map where developed is 1,&lt;br /&gt;
undeveloped 0 and NULL (no data) is area unsuitable for development (water, wetlands, protected areas).&lt;br /&gt;
First we will convert protected areas from vector to raster and set&lt;br /&gt;
NULLs to zeros (for simpler raster algebra expression in the next step):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=protected_areas output=protected_areas use=val&lt;br /&gt;
r.null map=protected_areas null=0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then create rasters of developed/undeveloped areas using raster algebra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.mapcalc &amp;quot;urban_1992 = if(landuse_1992 &amp;gt;= 21 &amp;amp;&amp;amp; landuse_1992 &amp;lt;= 24, 1, if(landuse_1992 == 11 || landuse_1992 &amp;gt;= 90 || protected_areas, null(), 0))&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;urban_2001 = if(landuse_2001 &amp;gt;= 21 &amp;amp;&amp;amp; landuse_2001 &amp;lt;= 24, 1, if(landuse_2001 == 11 || landuse_2001 &amp;gt;= 90 || protected_areas, null(), 0))&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;urban_2011 = if(landuse_2011 &amp;gt;= 21 &amp;amp;&amp;amp; landuse_2011 &amp;lt;= 24, 1, if(landuse_2011 == 11 || landuse_2011 &amp;gt;= 90 || protected_areas, null(), 0))&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will convert vector counties to raster with the values of the FIPS attribute which links to population file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=counties type=area use=attr attribute_column=FIPS output=counties&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we need to run FUTURES only for smaller number of counties, we can extract them based on the identifier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=counties type=area where=&amp;quot;FIPS in (37183, 37101)&amp;quot; use=attr attribute_column=FIPS output=counties_subset&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before further steps, we will set our working directory so that the input population files and text files&lt;br /&gt;
we are going to create are saved in one directory and easily accessible.&lt;br /&gt;
You can do that from menu ''Settings'' → ''GRASS working environment'' → ''Change working directory''.&lt;br /&gt;
Select (or create) a directory and move there the downloaded files &amp;lt;tt&amp;gt;population_projection.csv&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;population_trend.csv&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Potential submodel ==&lt;br /&gt;
Module {{AddonCmd|r.futures.potential}} implements POTENTIAL submodel as a part of FUTURES land change model. POTENTIAL is implemented using a set of coefficients that relate a selection of site suitability factors to the probability of a place becoming developed. This is implemented using the parameter table in combination with maps of those site suitability factors (mapped predictors). The coefficients are obtained by conducting multilevel logistic regression in R with package lme4 where the coefficients may vary by county. The best model is selected automatically using dredge function from package [https://cran.r-project.org/web/packages/MuMIn/index.html MuMIn].&lt;br /&gt;
&lt;br /&gt;
First, we will derive couple of predictors. &lt;br /&gt;
=== Predictors ===&lt;br /&gt;
==== Slope ====&lt;br /&gt;
We will derive slope in degrees from digital elevation model using {{cmd|r.slope.aspect}} module:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;r.slope.aspect elevation=elevation_30m slope=slope&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Distance from lakes/rivers ====&lt;br /&gt;
First we will extract [http://www.mrlc.gov/nlcd11_leg.php category ''Open Water''] from 2011 NLCD dataset:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.mapcalc &amp;quot;water = if(landuse_2011 == 11, 1, null())&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then we compute the distance to water with module {{cmd|r.grow.distance}} and set color table to shades of blue:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.grow.distance input=water distance=dist_to_water&lt;br /&gt;
r.colors -n map=dist_to_water color=blues&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Distance from protected areas ====&lt;br /&gt;
We will use raster protected of protected areas we already created, but we will set NULL values to zero.&lt;br /&gt;
We compute the distance to protected areas with module {{cmd|r.grow.distance}} and set color table from green to red:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.null map=protected_areas setnull=0&lt;br /&gt;
r.grow.distance input=protected_areas distance=dist_to_protected&lt;br /&gt;
r.colors map=dist_to_protected color=gyr&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Forests ====&lt;br /&gt;
We will smooth the transition between forest and other land use, see NLCD [http://www.mrlc.gov/nlcd11_leg.php category ''Open Water'']:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.mapcalc &amp;quot;forest = if(landuse_2011 &amp;gt;= 41 &amp;amp;&amp;amp; landuse_2011 &amp;lt;= 43, 1, 0)&amp;quot;&lt;br /&gt;
r.neighbors -c input=forest output=forest_smooth size=15 method=average&lt;br /&gt;
r.colors map=forest_smooth color=ndvi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Travel time to cities ====&lt;br /&gt;
Here we will compute travel time to cities (&amp;gt; population 20000)&lt;br /&gt;
as cumulative cost distance where cost is defined as travel time on roads.&lt;br /&gt;
First we specify the speed on different types of roads.&lt;br /&gt;
We copy the roads raster into our mapset so that we can change it&lt;br /&gt;
by adding a new attribute field &amp;lt;tt&amp;gt;speed&amp;lt;/tt&amp;gt;. Then we assign speed values (km/h) based on the type of road:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
g.copy vector=roads,myroads&lt;br /&gt;
v.db.addcolumn map=myroads columns=&amp;quot;speed double precision&amp;quot;&lt;br /&gt;
v.db.update map=myroads column=speed value=50 where=&amp;quot;MTFCC = 'S1400'&amp;quot;&lt;br /&gt;
v.db.update map=myroads column=speed value=100 where=&amp;quot;MTFCC IN ('S1100', 'S1200')&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we rasterize the selected road types using the speed values from the attribute table as raster values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=myroads type=line where=&amp;quot;MTFCC IN ('S1100', 'S1200', 'S1400')&amp;quot; output=roads_speed use=attr attribute_column=speed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We set the rest of the area to low speed and recompute the speed as time to travel through a 30m cell in minutes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.null map=roads_speed null=5&lt;br /&gt;
r.mapcalc &amp;quot;roads_travel_time = 1.8 / roads_speed&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally we compute the travel time to larger cities using {{cmd|r.cost}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.cost input=roads_travel_time output=travel_time_cities start_points=cities_20000 memory=3000&lt;br /&gt;
r.colors map=travel_time_cities color=byr&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Road density ====&lt;br /&gt;
We will rasterize roads and use moving window analysis ({{cmd|r.neighbors}}) to compute road density:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=roads output=roads use=val&lt;br /&gt;
r.null map=roads null=0&lt;br /&gt;
r.neighbors -c input=roads output=road_dens size=25 method=average nprocs=4&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Distance to interchanges ====&lt;br /&gt;
&lt;br /&gt;
We will consider TIGER roads of type &amp;lt;tt&amp;gt;Ramp&amp;lt;/tt&amp;gt; as interchanges, rasterize them and compute euclidean distance to them:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=roads type=line where=&amp;quot;MTFCC = 'S1630'&amp;quot; output=interchanges use=val&lt;br /&gt;
r.grow.distance -m input=interchanges distance=dist_interchanges&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Development pressure ===&lt;br /&gt;
&lt;br /&gt;
We compute development pressure with {{AddonCmd|r.futures.devpressure}}. Development pressure is a predictor based on number of neighboring developed cells within search distance, weighted by distance. The development pressure variable plays a special role in the model, allowing for a feedback between predicted change and change in subsequent steps.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.devpressure -n input=urban_2011 output=devpressure_1 method=gravity size=10 gamma=1 scaling_factor=1&lt;br /&gt;
r.futures.devpressure -n input=urban_2011 output=devpressure_0_5 method=gravity size=30 gamma=0.5 scaling_factor=0.1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When gamma increases, development influence decreases more rapidly with distance.&lt;br /&gt;
Size is half the size of the moving window. When gamma is low, local development influences more distant places.&lt;br /&gt;
We will derive 2 layers with different gamma and size parameters for the potential statistical model.&lt;br /&gt;
&lt;br /&gt;
=== Rescaling variables ===&lt;br /&gt;
&lt;br /&gt;
First we will look at the ranges of our predictor variables by running a short Python code snippet in Python tab in GUI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
for name in ['slope', 'dist_to_water', 'dist_to_protected', 'forest_smooth', 'travel_time_cities', 'road_dens', 'dist_interchanges', 'devpressure_0_5', 'devpressure_1']:&lt;br /&gt;
    minmax = grass.raster_info(name)&lt;br /&gt;
    print name, minmax['min'], minmax['max']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will rescale some of our input variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.mapcalc &amp;quot;dist_to_water_km = dist_to_water / 1000&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;dist_to_protected_km = dist_to_protected / 1000&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;dist_interchanges_km = dist_interchanges / 1000&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;road_dens_perc = road_dens * 100&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;forest_smooth_perc = forest_smooth * 100&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sampling ===&lt;br /&gt;
To sample only in the analyzed counties, we will clip development layer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.mapcalc &amp;quot;urban_2011_clip = if(counties, urban_2011)&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To estimate the number of sampling points, we can use {{cmd|r.report}} to report number of developed/undeveloped cells and their ratio.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.report map=urban_2011 units=h,c,p&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will sample the predictors and the response variable with 10000 random points in undeveloped areas and 2000 points in developed area:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.sample.category input=urban_2011_clip output=sampling sampled=counties,devpressure_0_5,devpressure_1,slope,road_dens_perc,forest_smooth_perc,dist_to_water_km,dist_to_protected_km,dist_interchanges_km,travel_time_cities npoints=10000,2000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The attribute table can be exported as CSV file (not necessary step):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
v.db.select map=sampling columns=urban_2011_clip,counties,devpressure_0_5,devpressure_1,slope,road_dens_perc,forest_smooth_perc,dist_to_water_km,dist_to_protected_km,dist_interchanges_km,travel_time_cities separator=comma file=samples.csv&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Development potential ===&lt;br /&gt;
Now we find best model for predicting urbanization using {{AddonCmd|r.futures.potential}} which wraps an R script.&lt;br /&gt;
&lt;br /&gt;
We can play with different combinations of predictors, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.potential input=sampling output=potential.csv columns=devpressure_0_5,slope,road_dens_perc,forest_smooth_perc,dist_to_water_km,travel_time_cities developed_column=urban_2011_clip subregions_column=counties&lt;br /&gt;
r.futures.potential input=sampling output=potential.csv columns=devpressure_1,road_dens_perc,dist_to_water_km,dist_to_protected_km,travel_time_cities developed_column=urban_2011_clip subregions_column=counties&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or we can run R [http://www.inside-r.org/packages/cran/MuMIn/docs/dredge dredge] function to find &amp;quot;best&amp;quot; model. We can specify minimum and maximum number of predictors the final model should use.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.potential -d input=sampling output=potential.csv columns=devpressure_1,slope,road_dens_perc,forest_smooth_perc,dist_to_water_km,dist_to_protected_km,dist_interchanges_km,travel_time_cities developed_column=urban_2011_clip subregions_column=counties min_variables=4 max_variables=7&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then open the output file &amp;lt;tt&amp;gt;potential.csv&amp;lt;/tt&amp;gt;, which is a CSV file with tabs as separators.&lt;br /&gt;
&lt;br /&gt;
For this tutorial, the final potential is created with:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.potential  input=sampling output=potential.csv columns=devpressure_1,slope,forest_smooth_perc,dist_interchanges_km,travel_time_cities developed_column=urban_2011_clip subregions_column=counties --o&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Demand submodel ==&lt;br /&gt;
First we will mask out roads so that they don't influence into per capita land demand relation.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=roads type=line output=roads_mask use=val&lt;br /&gt;
r.mask roads_mask -i&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will use {{AddonCmd|r.futures.demand}} which derives the population vs. development relation. The relation can be linear/logarithmic/logarithmic2/exponential/exponential approach.&lt;br /&gt;
Look for examples of the different relations in the manual.&lt;br /&gt;
&lt;br /&gt;
* linear: y = A + Bx&lt;br /&gt;
* logarithmic: y = A + Bln(x)&lt;br /&gt;
* logarithmic2: y = A + B * ln(x - C)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;(requires SciPy)&lt;br /&gt;
* exponential: y = Ae^(BX)&lt;br /&gt;
* exp_approach: y = (1 - e^(-A(x - B))) + C&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;(requires SciPy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The format of the input population CSV files is described in the manual. It is important to have synchronized categories of subregions and the column headers of the CSV files (in our case FIPS number). How to simply generate the list of years (for which demand is computed) is described in {{AddonCmd|r.futures.demand}} manual, for example run this in Python console:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
','.join([str(i) for i in range(2011, 2036)])&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then we can create the DEMAND file:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.demand development=urban_1992,urban_2001,urban_2011 subregions=counties observed_population=population_trend.csv projected_population=population_projection.csv simulation_times=2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035 plot=plot_demand.pdf demand=demand.csv separator=comma&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In your current working directory, you should find files &amp;lt;tt&amp;gt;plot_demand.png&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;demand.csv&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you have SciPy installed, you can experiment with other methods for fitting the functions:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.demand ... method=logarithmic2&lt;br /&gt;
r.futures.demand ... method=exp_approach&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
If necessary, you can create a set of demand files produced by fitting each method separately and&lt;br /&gt;
then pick for each county the method which seems best and manually create a new demand file.&lt;br /&gt;
&lt;br /&gt;
When you are finished, remove the mask as it is not needed for the next steps.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.mask -r&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Patch calibration ==&lt;br /&gt;
Patch calibration can be a very time consuming computation.&lt;br /&gt;
First we derive patches of new development by comparing historical and latest development.&lt;br /&gt;
We can run this on the entire area and keep only patches with minimum size 2 cells (1800 = 2 x 30 x 30 m).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.calib development_start=urban_1992 development_end=urban_2011 subregions=counties patch_sizes=patches.txt patch_threshold=1800  -l&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
We obtained a file &amp;lt;tt&amp;gt;patches.txt&amp;lt;/tt&amp;gt; (used later in the PGA) - a patch size distribution file - containing sizes of all found patches.&lt;br /&gt;
&lt;br /&gt;
We can look at the distribution of the patch sizes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from matplotlib import pyplot as plt&lt;br /&gt;
with open('patches.txt') as f:&lt;br /&gt;
    patches = [int(patch) for patch in f.readlines()]&lt;br /&gt;
plt.hist(patches, 2000)&lt;br /&gt;
plt.xlim(0,50)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At this point, we start the calibration to get best parameters of patch shape &lt;br /&gt;
(for this tutorial, this step can be skipped and the suggested parameters are used).&lt;br /&gt;
First we select only one county to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=counties type=area where=&amp;quot;FIPS == 37183&amp;quot; use=attr attribute_column=FIPS output=calib_county&lt;br /&gt;
g.region raster=calib_county zoom=calib_county&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; &lt;br /&gt;
style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap;&lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.calib development_start=urban_1992 development_end=urban_2011 subregions=calib_county patch_sizes=patches.txt calibration_results=calib.csv patch_threshold=1800 repeat=5 compactness_mean=0.1,0.3,0.5,0.7,0.9 compactness_range=0.1,0.05 discount_factor=0.1,0.3,0.5,0.7,0.9 predictors=slope,forest_smooth_perc,dist_interchanges_km,travel_time_cities demand=demand.csv devpot_params=potential.csv num_neighbors=4 seed_search=probability development_pressure=devpressure_1 development_pressure_approach=gravity n_dev_neighbourhood=10 gamma=1 scaling_factor=1 --o&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FUTURES simulation ==&lt;br /&gt;
We will switch back to our previous region:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
g.region raster=landuse_2011 -p&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have all the inputs necessary for running {{AddonCmd|r.futures.simulation}}:&lt;br /&gt;
&lt;br /&gt;
The entire command is here:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.simulation subregions=counties developed=urban_2011 predictors=slope,forest_smooth_perc,dist_interchanges_km,travel_time_cities devpot_params=potential.csv development_pressure=devpressure_1 n_dev_neighbourhood=10 development_pressure_approach=gravity gamma=1 scaling_factor=1 demand=demand.csv discount_factor=0.3 compactness_mean=0.2 compactness_range=0.1 patch_sizes=patches.txt num_neighbors=4 seed_search=probability random_seed=1 output=final output_series=final&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Quick description ===&lt;br /&gt;
The command parameters and their values:&lt;br /&gt;
* raster map of counties with their categories&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... subregions=counties ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* raster of developed (1), undeveloped (0) and NULLs for undevelopable areas&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... developed=urban_2011 ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* predictors selected with {{AddonCmd|r.futures.potential}} and their coefficients in a &amp;lt;tt&amp;gt;potential.csv&amp;lt;/tt&amp;gt; file. The order of predictors must match the order in the file and the categories of the counties must match raster &amp;lt;tt&amp;gt;counties&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... predictors=slope,forest_smooth_perc,dist_interchanges_km,travel_time_cities devpot_params=potential.csv ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* initial development pressure computed by {{AddonCmd|r.futures.devpressure}}, it's important to set here the same parameters&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... development_pressure=devpressure_1 n_dev_neighbourhood=10 development_pressure_approach=gravity gamma=1 scaling_factor=1 ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* per capita land demand computed by {{AddonCmd|r.futures.demand}}, the categories of the counties must match raster &amp;lt;tt&amp;gt;counties&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... demand=demand.csv ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* patch parameters from the calibration step&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... discount_factor=0.3 compactness_mean=0.4 compactness_range=0.08 patch_sizes=patches.txt ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* recommended parameters for patch growing algorithm &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... num_neighbors=4 seed_search=probability ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* set random seed  for repeatable results or set flag &amp;lt;tt&amp;gt;-s&amp;lt;/tt&amp;gt; to generate seed automatically&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... random_seed=1 ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* specify final output map and optionally basename for intermediate raster maps&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
output=final output_series=final&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scenarios ===&lt;br /&gt;
&lt;br /&gt;
Scenarios involving policies that encourage infill versus sprawl can be explored using the &amp;lt;tt&amp;gt;incentive_power&amp;lt;/tt&amp;gt; parameter,&lt;br /&gt;
which uses a power function to transform the evenness of the probability gradient in POTENTIAL.&lt;br /&gt;
&lt;br /&gt;
The default value is 1. You can change the power to a number between 0.25 and 4 to test urban sprawl/infill scenarios.&lt;br /&gt;
Higher power leads to infill behavior, lower power to urban sprawl.&lt;br /&gt;
&lt;br /&gt;
= Postprocessing =&lt;br /&gt;
&lt;br /&gt;
Follow a [[Creating_animation_from_FUTURES_output_in_GRASS_GIS| tutorial how to make an animation from the results]].&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[From GRASS GIS novice to power user (workshop at FOSS4G Boston 2017)]]&lt;br /&gt;
* [[Unleash the power of GRASS GIS at US-IALE 2017]]&lt;br /&gt;
* [[Workshop on urban growth modeling with FUTURES]]&lt;br /&gt;
* [[R statistics|GRASS GIS and R]]&lt;br /&gt;
* [[GRASS Location Wizard]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Tutorial]]&lt;br /&gt;
[[Category: FUTURES]]&lt;br /&gt;
[[Category: Urban]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=FUTURES_tutorial&amp;diff=28880</id>
		<title>FUTURES tutorial</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=FUTURES_tutorial&amp;diff=28880"/>
		<updated>2026-05-14T16:41:45Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Travel time to cities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://grass.osgeo.org/grass-stable/manuals/addons/r.futures.html r.futures.*] is an implementation of FUTure Urban-Regional Environment Simulation (FUTURES)&lt;br /&gt;
which is a model for multilevel simulations of emerging urban-rural landscape structure.&lt;br /&gt;
FUTURES produces regional projections of landscape patterns using coupled submodels that integrate nonstationary&lt;br /&gt;
drivers of land change: per capita demand (DEMAND submodel), site suitability (POTENTIAL submodel),&lt;br /&gt;
and the spatial structure of conversion events (PGA submodel).&lt;br /&gt;
&lt;br /&gt;
This tutorial shows how to prepare data and run the model. You can download [http://fatra.cnr.ncsu.edu/futures/FUTURES_triangle.zip sample dataset] and simulate urban growth&lt;br /&gt;
in [https://en.wikipedia.org/wiki/Research_Triangle The Triangle], region in the Piedmont of North Carolina in the United States with rapidly growing cities Raleigh, Durham and Chapel Hill.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
This tutorial requires basic knowledge of GRASS GIS. If you haven't used GRASS GIS before, you may want to first go through some of the introductory tutorials or alternative workshops linked from the [[#See also|See also section]].&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
Required software includes:&lt;br /&gt;
* GRASS GIS 7&lt;br /&gt;
* addons&lt;br /&gt;
** {{AddonCmd|r.futures.pga}}&lt;br /&gt;
** {{AddonCmd|r.futures.potential}}&lt;br /&gt;
** {{AddonCmd|r.futures.demand}}&lt;br /&gt;
** {{AddonCmd|r.futures.devpressure}}&lt;br /&gt;
** {{AddonCmd|r.sample.category}}&lt;br /&gt;
* R (≥ 3.0.2) - needed for {{AddonCmd|r.futures.potential}}&lt;br /&gt;
* SciPy - useful for {{AddonCmd|r.futures.demand}}&lt;br /&gt;
&lt;br /&gt;
= Input data used in this tutorial =&lt;br /&gt;
Download [http://fatra.cnr.ncsu.edu/futures/FUTURES_triangle.zip sample dataset] containing:&lt;br /&gt;
* digital elevation model ([http://nationalmap.gov/elevation.html NED])&lt;br /&gt;
* [http://www.mrlc.gov/ NLCD] 2001, 2011&lt;br /&gt;
* NLCD 1992/2001 Retrofit Land Cover Change Product&lt;br /&gt;
* transportation network ([http://www.census.gov/geo/maps-data/data/tiger-line.html TIGER])&lt;br /&gt;
* county boundaries ([http://www.census.gov/geo/maps-data/data/tiger-line.html TIGER])&lt;br /&gt;
* protected areas ([http://www.conservationgateway.org/ConservationByGeography/NorthAmerica/UnitedStates/edc/reportsdata/terrestrial/secured/Pages/default.aspx  Secured Lands])&lt;br /&gt;
* cities above 20000 (USGS)&lt;br /&gt;
* county population past estimates and future projections ([https://www.osbm.nc.gov/demog/county-projections NC OSBM]) per county (nonspatial)&lt;br /&gt;
&lt;br /&gt;
= Workflow =&lt;br /&gt;
Download sample data and unzip it. Create &amp;lt;tt&amp;gt;grassdata&amp;lt;/tt&amp;gt; directory on your disk (or use the one you already have) and move there Location &amp;lt;tt&amp;gt;futures_ncspm&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Launch GRASS GIS and select your &amp;lt;tt&amp;gt;grassdata&amp;lt;/tt&amp;gt; directory, Location &amp;lt;tt&amp;gt;futures_ncspm&amp;lt;/tt&amp;gt; and Mapset &amp;lt;tt&amp;gt;practice1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Install addons:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
g.extension r.futures&lt;br /&gt;
g.extension r.sample.category&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Close GUI and restart it:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
g.gui&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To install the required R packages, go to the command line terminal which was started with GRASS GIS and R:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
R&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This starts the R command line where you need to execute the following code (and go through any dialogs about installation if R shows them):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;R&amp;quot;&amp;gt;&lt;br /&gt;
install.packages(c(&amp;quot;MuMIn&amp;quot;, &amp;quot;lme4&amp;quot;, &amp;quot;optparse&amp;quot;, &amp;quot;rgrass7&amp;quot;))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial steps and data preparation ==&lt;br /&gt;
First we will set computational region of our analyses to an extent covering our study area and so that the cells are aligned with one of our landuse rasters:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;g.region raster=landuse_2011 -p&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will derive urbanized areas from NLCD dataset for year 1992, 2001 and 2011&lt;br /&gt;
by extracting categories category 21 - 24 into a new binary map where developed is 1,&lt;br /&gt;
undeveloped 0 and NULL (no data) is area unsuitable for development (water, wetlands, protected areas).&lt;br /&gt;
First we will convert protected areas from vector to raster and set&lt;br /&gt;
NULLs to zeros (for simpler raster algebra expression in the next step):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=protected_areas output=protected_areas use=val&lt;br /&gt;
r.null map=protected_areas null=0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then create rasters of developed/undeveloped areas using raster algebra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.mapcalc &amp;quot;urban_1992 = if(landuse_1992 &amp;gt;= 21 &amp;amp;&amp;amp; landuse_1992 &amp;lt;= 24, 1, if(landuse_1992 == 11 || landuse_1992 &amp;gt;= 90 || protected_areas, null(), 0))&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;urban_2001 = if(landuse_2001 &amp;gt;= 21 &amp;amp;&amp;amp; landuse_2001 &amp;lt;= 24, 1, if(landuse_2001 == 11 || landuse_2001 &amp;gt;= 90 || protected_areas, null(), 0))&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;urban_2011 = if(landuse_2011 &amp;gt;= 21 &amp;amp;&amp;amp; landuse_2011 &amp;lt;= 24, 1, if(landuse_2011 == 11 || landuse_2011 &amp;gt;= 90 || protected_areas, null(), 0))&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will convert vector counties to raster with the values of the FIPS attribute which links to population file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=counties type=area use=attr attribute_column=FIPS output=counties&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we need to run FUTURES only for smaller number of counties, we can extract them based on the identifier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=counties type=area where=&amp;quot;FIPS in (37183, 37101)&amp;quot; use=attr attribute_column=FIPS output=counties_subset&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before further steps, we will set our working directory so that the input population files and text files&lt;br /&gt;
we are going to create are saved in one directory and easily accessible.&lt;br /&gt;
You can do that from menu ''Settings'' → ''GRASS working environment'' → ''Change working directory''.&lt;br /&gt;
Select (or create) a directory and move there the downloaded files &amp;lt;tt&amp;gt;population_projection.csv&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;population_trend.csv&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Potential submodel ==&lt;br /&gt;
Module {{AddonCmd|r.futures.potential}} implements POTENTIAL submodel as a part of FUTURES land change model. POTENTIAL is implemented using a set of coefficients that relate a selection of site suitability factors to the probability of a place becoming developed. This is implemented using the parameter table in combination with maps of those site suitability factors (mapped predictors). The coefficients are obtained by conducting multilevel logistic regression in R with package lme4 where the coefficients may vary by county. The best model is selected automatically using dredge function from package [https://cran.r-project.org/web/packages/MuMIn/index.html MuMIn].&lt;br /&gt;
&lt;br /&gt;
First, we will derive couple of predictors. &lt;br /&gt;
=== Predictors ===&lt;br /&gt;
==== Slope ====&lt;br /&gt;
We will derive slope in degrees from digital elevation model using {{cmd|r.slope.aspect}} module:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;r.slope.aspect elevation=elevation_30m slope=slope&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Distance from lakes/rivers ====&lt;br /&gt;
First we will extract [http://www.mrlc.gov/nlcd11_leg.php category ''Open Water''] from 2011 NLCD dataset:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.mapcalc &amp;quot;water = if(landuse_2011 == 11, 1, null())&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then we compute the distance to water with module {{cmd|r.grow.distance}} and set color table to shades of blue:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.grow.distance input=water distance=dist_to_water&lt;br /&gt;
r.colors -n map=dist_to_water color=blues&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Distance from protected areas ====&lt;br /&gt;
We will use raster protected of protected areas we already created, but we will set NULL values to zero.&lt;br /&gt;
We compute the distance to protected areas with module {{cmd|r.grow.distance}} and set color table from green to red:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.null map=protected_areas setnull=0&lt;br /&gt;
r.grow.distance input=protected_areas distance=dist_to_protected&lt;br /&gt;
r.colors map=dist_to_protected color=gyr&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Forests ====&lt;br /&gt;
We will smooth the transition between forest and other land use, see NLCD [http://www.mrlc.gov/nlcd11_leg.php category ''Open Water'']:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.mapcalc &amp;quot;forest = if(landuse_2011 &amp;gt;= 41 &amp;amp;&amp;amp; landuse_2011 &amp;lt;= 43, 1, 0)&amp;quot;&lt;br /&gt;
r.neighbors -c input=forest output=forest_smooth size=15 method=average&lt;br /&gt;
r.colors map=forest_smooth color=ndvi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Travel time to cities ====&lt;br /&gt;
Here we will compute travel time to cities (&amp;gt; population 20000)&lt;br /&gt;
as cumulative cost distance where cost is defined as travel time on roads.&lt;br /&gt;
First we specify the speed on different types of roads.&lt;br /&gt;
We copy the roads raster into our mapset so that we can change it&lt;br /&gt;
by adding a new attribute field &amp;lt;tt&amp;gt;speed&amp;lt;/tt&amp;gt;. Then we assign speed values (km/h) based on the type of road:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
g.copy vector=roads,myroads&lt;br /&gt;
v.db.addcolumn map=myroads columns=&amp;quot;speed double precision&amp;quot;&lt;br /&gt;
v.db.update map=myroads column=speed value=50 where=&amp;quot;MTFCC = 'S1400'&amp;quot;&lt;br /&gt;
v.db.update map=myroads column=speed value=100 where=&amp;quot;MTFCC IN ('S1100', 'S1200')&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we rasterize the selected road types using the speed values from the attribute table as raster values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=myroads type=line where=&amp;quot;MTFCC IN ('S1100', 'S1200', 'S1400')&amp;quot; output=roads_speed use=attr attribute_column=speed&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We set the rest of the area to low speed and recompute the speed as time to travel through a 30m cell in minutes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.null map=roads_speed null=5&lt;br /&gt;
r.mapcalc &amp;quot;roads_travel_time = 1.8 / roads_speed&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally we compute the travel time to larger cities using {{cmd|r.cost}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.cost input=roads_travel_time output=travel_time_cities start_points=cities_20000 memory=3000&lt;br /&gt;
r.colors map=travel_time_cities color=byr&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Road density ====&lt;br /&gt;
We will rasterize roads and use moving window analysis ({{cmd|r.neighbors}}) to compute road density:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=roads output=roads use=val&lt;br /&gt;
r.null map=roads null=0&lt;br /&gt;
r.neighbors -c input=roads output=road_dens size=25 method=average&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Distance to interchanges ====&lt;br /&gt;
&lt;br /&gt;
We will consider TIGER roads of type &amp;lt;tt&amp;gt;Ramp&amp;lt;/tt&amp;gt; as interchanges, rasterize them and compute euclidean distance to them:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=roads type=line where=&amp;quot;MTFCC = 'S1630'&amp;quot; output=interchanges use=val&lt;br /&gt;
r.grow.distance -m input=interchanges distance=dist_interchanges&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Development pressure ===&lt;br /&gt;
&lt;br /&gt;
We compute development pressure with {{AddonCmd|r.futures.devpressure}}. Development pressure is a predictor based on number of neighboring developed cells within search distance, weighted by distance. The development pressure variable plays a special role in the model, allowing for a feedback between predicted change and change in subsequent steps.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.devpressure -n input=urban_2011 output=devpressure_1 method=gravity size=10 gamma=1 scaling_factor=1&lt;br /&gt;
r.futures.devpressure -n input=urban_2011 output=devpressure_0_5 method=gravity size=30 gamma=0.5 scaling_factor=0.1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When gamma increases, development influence decreases more rapidly with distance.&lt;br /&gt;
Size is half the size of the moving window. When gamma is low, local development influences more distant places.&lt;br /&gt;
We will derive 2 layers with different gamma and size parameters for the potential statistical model.&lt;br /&gt;
&lt;br /&gt;
=== Rescaling variables ===&lt;br /&gt;
&lt;br /&gt;
First we will look at the ranges of our predictor variables by running a short Python code snippet in Python tab in GUI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
for name in ['slope', 'dist_to_water', 'dist_to_protected', 'forest_smooth', 'travel_time_cities', 'road_dens', 'dist_interchanges', 'devpressure_0_5', 'devpressure_1']:&lt;br /&gt;
    minmax = grass.raster_info(name)&lt;br /&gt;
    print name, minmax['min'], minmax['max']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will rescale some of our input variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.mapcalc &amp;quot;dist_to_water_km = dist_to_water / 1000&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;dist_to_protected_km = dist_to_protected / 1000&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;dist_interchanges_km = dist_interchanges / 1000&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;road_dens_perc = road_dens * 100&amp;quot;&lt;br /&gt;
r.mapcalc &amp;quot;forest_smooth_perc = forest_smooth * 100&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sampling ===&lt;br /&gt;
To sample only in the analyzed counties, we will clip development layer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.mapcalc &amp;quot;urban_2011_clip = if(counties, urban_2011)&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To estimate the number of sampling points, we can use {{cmd|r.report}} to report number of developed/undeveloped cells and their ratio.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.report map=urban_2011 units=h,c,p&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will sample the predictors and the response variable with 10000 random points in undeveloped areas and 2000 points in developed area:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.sample.category input=urban_2011_clip output=sampling sampled=counties,devpressure_0_5,devpressure_1,slope,road_dens_perc,forest_smooth_perc,dist_to_water_km,dist_to_protected_km,dist_interchanges_km,travel_time_cities npoints=10000,2000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The attribute table can be exported as CSV file (not necessary step):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
v.db.select map=sampling columns=urban_2011_clip,counties,devpressure_0_5,devpressure_1,slope,road_dens_perc,forest_smooth_perc,dist_to_water_km,dist_to_protected_km,dist_interchanges_km,travel_time_cities separator=comma file=samples.csv&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Development potential ===&lt;br /&gt;
Now we find best model for predicting urbanization using {{AddonCmd|r.futures.potential}} which wraps an R script.&lt;br /&gt;
&lt;br /&gt;
We can play with different combinations of predictors, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.potential input=sampling output=potential.csv columns=devpressure_0_5,slope,road_dens_perc,forest_smooth_perc,dist_to_water_km,travel_time_cities developed_column=urban_2011_clip subregions_column=counties&lt;br /&gt;
r.futures.potential input=sampling output=potential.csv columns=devpressure_1,road_dens_perc,dist_to_water_km,dist_to_protected_km,travel_time_cities developed_column=urban_2011_clip subregions_column=counties&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or we can run R [http://www.inside-r.org/packages/cran/MuMIn/docs/dredge dredge] function to find &amp;quot;best&amp;quot; model. We can specify minimum and maximum number of predictors the final model should use.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.potential -d input=sampling output=potential.csv columns=devpressure_1,slope,road_dens_perc,forest_smooth_perc,dist_to_water_km,dist_to_protected_km,dist_interchanges_km,travel_time_cities developed_column=urban_2011_clip subregions_column=counties min_variables=4 max_variables=7&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then open the output file &amp;lt;tt&amp;gt;potential.csv&amp;lt;/tt&amp;gt;, which is a CSV file with tabs as separators.&lt;br /&gt;
&lt;br /&gt;
For this tutorial, the final potential is created with:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.potential  input=sampling output=potential.csv columns=devpressure_1,slope,forest_smooth_perc,dist_interchanges_km,travel_time_cities developed_column=urban_2011_clip subregions_column=counties --o&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Demand submodel ==&lt;br /&gt;
First we will mask out roads so that they don't influence into per capita land demand relation.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=roads type=line output=roads_mask use=val&lt;br /&gt;
r.mask roads_mask -i&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We will use {{AddonCmd|r.futures.demand}} which derives the population vs. development relation. The relation can be linear/logarithmic/logarithmic2/exponential/exponential approach.&lt;br /&gt;
Look for examples of the different relations in the manual.&lt;br /&gt;
&lt;br /&gt;
* linear: y = A + Bx&lt;br /&gt;
* logarithmic: y = A + Bln(x)&lt;br /&gt;
* logarithmic2: y = A + B * ln(x - C)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;(requires SciPy)&lt;br /&gt;
* exponential: y = Ae^(BX)&lt;br /&gt;
* exp_approach: y = (1 - e^(-A(x - B))) + C&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;(requires SciPy)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The format of the input population CSV files is described in the manual. It is important to have synchronized categories of subregions and the column headers of the CSV files (in our case FIPS number). How to simply generate the list of years (for which demand is computed) is described in {{AddonCmd|r.futures.demand}} manual, for example run this in Python console:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
','.join([str(i) for i in range(2011, 2036)])&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then we can create the DEMAND file:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.demand development=urban_1992,urban_2001,urban_2011 subregions=counties observed_population=population_trend.csv projected_population=population_projection.csv simulation_times=2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035 plot=plot_demand.pdf demand=demand.csv separator=comma&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In your current working directory, you should find files &amp;lt;tt&amp;gt;plot_demand.png&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;demand.csv&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you have SciPy installed, you can experiment with other methods for fitting the functions:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.demand ... method=logarithmic2&lt;br /&gt;
r.futures.demand ... method=exp_approach&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
If necessary, you can create a set of demand files produced by fitting each method separately and&lt;br /&gt;
then pick for each county the method which seems best and manually create a new demand file.&lt;br /&gt;
&lt;br /&gt;
When you are finished, remove the mask as it is not needed for the next steps.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.mask -r&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Patch calibration ==&lt;br /&gt;
Patch calibration can be a very time consuming computation.&lt;br /&gt;
First we derive patches of new development by comparing historical and latest development.&lt;br /&gt;
We can run this on the entire area and keep only patches with minimum size 2 cells (1800 = 2 x 30 x 30 m).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.calib development_start=urban_1992 development_end=urban_2011 subregions=counties patch_sizes=patches.txt patch_threshold=1800  -l&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
We obtained a file &amp;lt;tt&amp;gt;patches.txt&amp;lt;/tt&amp;gt; (used later in the PGA) - a patch size distribution file - containing sizes of all found patches.&lt;br /&gt;
&lt;br /&gt;
We can look at the distribution of the patch sizes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from matplotlib import pyplot as plt&lt;br /&gt;
with open('patches.txt') as f:&lt;br /&gt;
    patches = [int(patch) for patch in f.readlines()]&lt;br /&gt;
plt.hist(patches, 2000)&lt;br /&gt;
plt.xlim(0,50)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At this point, we start the calibration to get best parameters of patch shape &lt;br /&gt;
(for this tutorial, this step can be skipped and the suggested parameters are used).&lt;br /&gt;
First we select only one county to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
v.to.rast input=counties type=area where=&amp;quot;FIPS == 37183&amp;quot; use=attr attribute_column=FIPS output=calib_county&lt;br /&gt;
g.region raster=calib_county zoom=calib_county&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; &lt;br /&gt;
style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap;&lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.calib development_start=urban_1992 development_end=urban_2011 subregions=calib_county patch_sizes=patches.txt calibration_results=calib.csv patch_threshold=1800 repeat=5 compactness_mean=0.1,0.3,0.5,0.7,0.9 compactness_range=0.1,0.05 discount_factor=0.1,0.3,0.5,0.7,0.9 predictors=slope,forest_smooth_perc,dist_interchanges_km,travel_time_cities demand=demand.csv devpot_params=potential.csv num_neighbors=4 seed_search=2 development_pressure=devpressure_1 development_pressure_approach=gravity n_dev_neighbourhood=10 gamma=1 scaling_factor=1 --o&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FUTURES simulation ==&lt;br /&gt;
We will switch back to our previous region:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
g.region raster=landuse_2011 -p&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have all the inputs necessary for running {{AddonCmd|r.futures.pga}}:&lt;br /&gt;
&lt;br /&gt;
The entire command is here:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
r.futures.pga subregions=counties developed=urban_2011 predictors=slope,forest_smooth_perc,dist_interchanges_km,travel_time_cities devpot_params=potential.csv development_pressure=devpressure_1 n_dev_neighbourhood=10 development_pressure_approach=gravity gamma=1 scaling_factor=1 demand=demand.csv discount_factor=0.3 compactness_mean=0.2 compactness_range=0.1 patch_sizes=patches.txt num_neighbors=4 seed_search=2 random_seed=1 output=final output_series=final&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Quick description ===&lt;br /&gt;
The command parameters and their values:&lt;br /&gt;
* raster map of counties with their categories&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... subregions=counties ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* raster of developed (1), undeveloped (0) and NULLs for undevelopable areas&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... developed=urban_2011 ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* predictors selected with {{AddonCmd|r.futures.potential}} and their coefficients in a &amp;lt;tt&amp;gt;potential.csv&amp;lt;/tt&amp;gt; file. The order of predictors must match the order in the file and the categories of the counties must match raster &amp;lt;tt&amp;gt;counties&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... predictors=slope,forest_smooth_perc,dist_interchanges_km,travel_time_cities devpot_params=potential.csv ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* initial development pressure computed by {{AddonCmd|r.futures.devpressure}}, it's important to set here the same parameters&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... development_pressure=devpressure_1 n_dev_neighbourhood=10 development_pressure_approach=gravity gamma=1 scaling_factor=1 ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* per capita land demand computed by {{AddonCmd|r.futures.demand}}, the categories of the counties must match raster &amp;lt;tt&amp;gt;counties&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... demand=demand.csv ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* patch parameters from the calibration step&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... discount_factor=0.3 compactness_mean=0.4 compactness_range=0.08 patch_sizes=patches.txt ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* recommended parameters for patch growing algorithm &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... num_neighbors=4 seed_search=2 ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* set random seed  for repeatable results or set flag &amp;lt;tt&amp;gt;-s&amp;lt;/tt&amp;gt; to generate seed automatically&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
... random_seed=1 ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* specify final output map and optionally basename for intermediate raster maps&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
output=final output_series=final&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scenarios ===&lt;br /&gt;
&lt;br /&gt;
Scenarios involving policies that encourage infill versus sprawl can be explored using the &amp;lt;tt&amp;gt;incentive_power&amp;lt;/tt&amp;gt; parameter,&lt;br /&gt;
which uses a power function to transform the evenness of the probability gradient in POTENTIAL.&lt;br /&gt;
&lt;br /&gt;
The default value is 1. You can change the power to a number between 0.25 and 4 to test urban sprawl/infill scenarios.&lt;br /&gt;
Higher power leads to infill behavior, lower power to urban sprawl.&lt;br /&gt;
&lt;br /&gt;
= Postprocessing =&lt;br /&gt;
&lt;br /&gt;
Follow a [[Creating_animation_from_FUTURES_output_in_GRASS_GIS| tutorial how to make an animation from the results]].&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[From GRASS GIS novice to power user (workshop at FOSS4G Boston 2017)]]&lt;br /&gt;
* [[Unleash the power of GRASS GIS at US-IALE 2017]]&lt;br /&gt;
* [[Workshop on urban growth modeling with FUTURES]]&lt;br /&gt;
* [[R statistics|GRASS GIS and R]]&lt;br /&gt;
* [[GRASS Location Wizard]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Tutorial]]&lt;br /&gt;
[[Category: FUTURES]]&lt;br /&gt;
[[Category: Urban]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28875</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28875"/>
		<updated>2026-05-08T16:32:10Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Agenda */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 -  19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Sponsors make the event possible. Learn more about [https://grass.osgeo.org/contribute/sponsoring/ Sponsoring].&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is being refined.&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
&lt;br /&gt;
* Hybrid meeting about 8.6.0 with FHS and Jupyter in GUI updates &lt;br /&gt;
&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
&lt;br /&gt;
* FHS&lt;br /&gt;
* Updating the GRASS Roadmap&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
&lt;br /&gt;
* GSoC (may be moved to different day)&lt;br /&gt;
* GeoAI&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
&lt;br /&gt;
* Python API review&lt;br /&gt;
* Plan PSC elections&lt;br /&gt;
&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
&lt;br /&gt;
* Reducing PR backlog &lt;br /&gt;
&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
&lt;br /&gt;
* Address issues for 8.6.0 release&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
&lt;br /&gt;
* Website review&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| grass.tools, pytest, subcommands, reviews&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| GSoC, reviews, PR backlog, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| [[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| [[User:Sbl|Stefan Blumentrath]]&lt;br /&gt;
| Norway&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 18.07. (presumably)&lt;br /&gt;
| Handling Copernicus data with GRASS / actinia&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
| [[User:Hellik|Helmut Kudrnovsky]]&lt;br /&gt;
| Austria&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
| [[User:Veroandreo|Verónica Andreo]]&lt;br /&gt;
| Argentina&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
| [[User:Ctwhite|Corey White]]&lt;br /&gt;
| United States&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| grass.jupyter, documentation, website, reviews, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Registration is free; participants cover their own travel and lodging, often with employer support — thank you. Ideally we'd reimburse everyone, and every [https://numfocus.org/donate-to-grass donation] or [https://grass.osgeo.org/contribute/sponsoring/ employer sponsorship] of the project helps us get closer.&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (San Michele all'Adige–Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Registration is free''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
* Details to be communicated soon.&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is this a conference?''&lt;br /&gt;
** Talks or presentations may be included, but the purpose is to work together on the project. Among conference formats, the closest comparison would be a participatory workshop.&lt;br /&gt;
* ''Is this a hackathon?''&lt;br /&gt;
** While there is plenty of intensive coding, the meeting is not competitive. We meet to collaborate.&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users, and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''What skills do I need?''&lt;br /&gt;
** Coding skills are not required. Contributions to documentation, tutorials, translations, website, and testing are all valuable. Practical help during the meeting, such as coordinating meals, photography, or reporting, is a real contribution too.&lt;br /&gt;
* ''Can I attend remotely?''&lt;br /&gt;
** The meeting is in-person, but everyone is welcome to use the same week for focused work on the project from wherever they are.&lt;br /&gt;
* ''What language is used during the meeting?''&lt;br /&gt;
** English is the working language, but you may hear several other languages spoken at the event.&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
* ''What if I can't spend time on this?''&lt;br /&gt;
** Can you spend money instead? [https://numfocus.org/donate-to-grass Donate to GRASS through NumFOCUS] to help keep the project going.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28862</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28862"/>
		<updated>2026-05-05T13:23:32Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Participation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 -  19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Sponsors make the event possible. Learn more about [https://grass.osgeo.org/contribute/sponsoring/ Sponsoring].&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is forthcoming.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| grass.tools, pytest, subcommands, reviews&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| 11.07.&lt;br /&gt;
| 19.07.&lt;br /&gt;
| GSoC, reviews, PR backlog, tutorials&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| [[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| [[User:Sbl|Stefan Blumentrath]]&lt;br /&gt;
| Norway&lt;br /&gt;
| 11.07. (presumably)&lt;br /&gt;
| 18.07. (presumably)&lt;br /&gt;
| Handling Copernicus data with GRASS / actinia&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
| [[User:Hellik|Helmut Kudrnovsky]]&lt;br /&gt;
| Austria&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| [[User:Veroandreo|Verónica Andreo]]&lt;br /&gt;
| Argentina&lt;br /&gt;
| 11.07. &lt;br /&gt;
| 19.07. &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Registration is free; participants cover their own travel and lodging, often with employer support — thank you. Ideally we'd reimburse everyone, and every [https://numfocus.org/donate-to-grass donation] or [https://grass.osgeo.org/contribute/sponsoring/ employer sponsorship] of the project helps us get closer.&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (San Michele all'Adige–Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Registration is free''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
* Details to be communicated soon.&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is this a conference?''&lt;br /&gt;
** Talks or presentations may be included, but the purpose is to work together on the project. Among conference formats, the closest comparison would be a participatory workshop.&lt;br /&gt;
* ''Is this a hackathon?''&lt;br /&gt;
** While there is plenty of intensive coding, the meeting is not competitive. We meet to collaborate.&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users, and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''What skills do I need?''&lt;br /&gt;
** Coding skills are not required. Contributions to documentation, tutorials, translations, website, and testing are all valuable. Practical help during the meeting, such as coordinating meals, photography, or reporting, is a real contribution too.&lt;br /&gt;
* ''Can I attend remotely?''&lt;br /&gt;
** The meeting is in-person, but everyone is welcome to use the same week for focused work on the project from wherever they are.&lt;br /&gt;
* ''What language is used during the meeting?''&lt;br /&gt;
** English is the working language, but you may hear several other languages spoken at the event.&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
* ''What if I can't spend time on this?''&lt;br /&gt;
** Can you spend money instead? [https://numfocus.org/donate-to-grass Donate to GRASS through NumFOCUS] to help keep the project going.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28857</id>
		<title>GRASS GSoC Ideas 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28857"/>
		<updated>2026-05-04T02:31:41Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: Add template for accepted ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Important: While we are still an OSGeo project, we changed our fiscal sponsor to [https://numfocus.org/ NumFOCUS].&lt;br /&gt;
&lt;br /&gt;
''As a result, GRASS participates in GSoC under the [https://numfocus.org/ NumFOCUS] umbrella organization.''&lt;br /&gt;
&lt;br /&gt;
Read more about our governance [https://grass.osgeo.org/about/governance/ on GRASS website].&lt;br /&gt;
&lt;br /&gt;
* [https://numfocus.org/programs/google-summer-code The NumFOCUS GSoC main page]&lt;br /&gt;
* [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines for contributors].&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== Accepted ideas ==&lt;br /&gt;
=== Idea title ===&lt;br /&gt;
* Student:&lt;br /&gt;
* Mentors:&lt;br /&gt;
* [[GRASS_GSoC_2025_Add_JSON_output_to_different_tools_in_C|Example of Wiki page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AI Tool Usage Policy ==&lt;br /&gt;
We acknowledge that applicants may use AI tools (like ChatGPT, Copilot, etc.) to assist with proposal writing and coding. However:&lt;br /&gt;
&lt;br /&gt;
* Your proposal should reflect your own understanding and voice. AI-generated &amp;quot;slop&amp;quot; (overly generic or regurgitated content) is easy to spot and will hurt your application.&lt;br /&gt;
* We evaluate applications primarily on GitHub contributions and communication with the GRASS community, not just proposal polish.&lt;br /&gt;
* Show us you understand the project through high-quality pull requests on GitHub.&lt;br /&gt;
* Disclose AI usage: If you use AI tools in your proposal or code contributions, please disclose the extent to which you used them (e.g., for brainstorming, proofreading, code suggestions, etc.).&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://discourse.osgeo.org/c/grass/developer/61 OSGeo Discourse forum for GRASS developers], [https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, r.proj, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: difficult&lt;br /&gt;
* Expected Outcomes: parallelized 2-5 tools, depending on complexity&lt;br /&gt;
* Test of skills (one or more):&lt;br /&gt;
** Address https://github.com/OSGeo/grass/issues/5776 (carefully read the existing conversation in the issue and linked PR)&lt;br /&gt;
** Pick a tool and develop prototype implementation of the parallelization.&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as better symbology handling and adding legend to InteractiveMap and better integration with matplotlib.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here] or rewrite some of the functions in grass.jupyter library using the new [https://grass.osgeo.org/grass-devel/manuals/python_intro.html#running-tools Tools API].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output.&lt;br /&gt;
Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: 10-20 tools (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Note: A lot of work on JSON was already done, but there is more! Some of the remaining tools require more design. There are also Python tools (not just C which was the focus previously) and then also the grass-addons repo. Some tools also don't have any machine readable output right now and should. Also current tools which use other tools should use the new JSON as opposed to what they are using now. Preparing a well-reasoned list of tasks is a part of the application.&lt;br /&gt;
* Test of skills (pick one or more): &lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6968&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6969&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6970&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== Fix known code defects ===&lt;br /&gt;
&lt;br /&gt;
* Fix code defects (security or code quality) such as those reported by Coverity Scan.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Nicklas Larsson&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: C&lt;br /&gt;
** Proposal: Define milestones which will be used during the evaluation.&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** Reduction of issues by 70-100%.&lt;br /&gt;
** New tests for changed code if missing.&lt;br /&gt;
* Test and training tasks (complete more than one): Fix e.g., [https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html GCC Static Analysis], [https://clang.llvm.org/docs/ClangStaticAnalyzer.html Clang Static Analyzer] or [https://cppcheck.sourceforge.io Cppcheck] issues.&lt;br /&gt;
&lt;br /&gt;
=== Subcommand CLI for GRASS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS tools in command line as easy as possible.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of data and project handling in GRASS. Furthermore, the proposal needs to present, at least, concrete formulation of ideas, identification of missing and existing parts, and new subcommands.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath, Corey White&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** A subcommand which runs a GRASS tool on GeoTiff and GeoPackage in one step.&lt;br /&gt;
** A complete parity with the existing CLI.&lt;br /&gt;
** An underlying Python API which will be used to implement the CLI.&lt;br /&gt;
* Test and training tasks (complete one or more): Add a subcommand, sub-subcommand, or an option to the experimental interface (with tests).&lt;br /&gt;
** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`.&lt;br /&gt;
** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
Current state:&lt;br /&gt;
&lt;br /&gt;
 # Reveals the existing subcommands&lt;br /&gt;
 PYTHONPATH=$(grass --config python-path) python -m grass.app --help&lt;br /&gt;
 # Allows running subset of commands&lt;br /&gt;
 grass run --help&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Searchable metadata in Space Time Datasets ===&lt;br /&gt;
The temporal framework in GRASS was initially developed almost 15 years ago. Spatio-temporal data has become more widely available since then and new standards emerged like e.g. ''[https://docs.ogc.org/cs/25-004/25-004.html STAC]'' with ''[https://github.com/stac-extensions/stac-extensions.github.io extensions]'', or the ''[https://cfconventions.org/ CF-conventions]''. The aim of this project is to extend the metadata model in the temporal framework to improve discoverability of map datasets registered in TGIS and to allow users to embed extended metadata with the registered maps in a Space Time Dataset in a searchable way. Ideally, the new model is able to account for the standards mentioned above.&lt;br /&gt;
 &lt;br /&gt;
See also: https://github.com/OSGeo/grass/issues/1938&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python, SQL, JSON&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Stefan Blumentrath&lt;br /&gt;
* Co-mentor: ???&lt;br /&gt;
* Proposed by: Stefan Blumentrath&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:&lt;br /&gt;
** an updated TGIS database model (version 4) that:&lt;br /&gt;
*** is oriented on relevant metadata standards (STAC, CF-Convention, ...)&lt;br /&gt;
*** allows to use metadata in temporal_where to select relevant elements of Space time datasets&lt;br /&gt;
** updated tool to create space time datasets (t.create) in the TGIS database with extended metadata&lt;br /&gt;
** updated tool to register map datasets (t.register) in the TGIS database with extended metadata&lt;br /&gt;
** Conversion tool for database Upgrades (v3 to v4)&lt;br /&gt;
** a new tool to update / modify metadata in the TGIS database&lt;br /&gt;
** Storage of timeseries metadata for both C-based and temporal Tools&lt;br /&gt;
&lt;br /&gt;
* Test of skills (e.g.):&lt;br /&gt;
** address one or more sub-tasks from https://github.com/OSGeo/grass/issues/3427 (add append-mode to selected new tool(s))&lt;br /&gt;
** suggest/implement solution for https://github.com/OSGeo/grass/issues/3394 (more complex task)&lt;br /&gt;
** suggest/implement solution for https://github.com/OSGeo/grass/issues/7041&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
* Follow official [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines].&lt;br /&gt;
* Include &amp;quot;GRASS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside NumFOCUS.&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://discourse.osgeo.org/c/grass/developer/61 on our Discourse].&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file].&lt;br /&gt;
* Prove your worth by being active on the [https://discourse.osgeo.org/c/grass/developer/61 GRASS Discourse] or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28856</id>
		<title>GRASS GSoC Ideas 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28856"/>
		<updated>2026-05-04T02:30:26Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: Add template for accepted ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Important: While we are still an OSGeo project, we changed our fiscal sponsor to [https://numfocus.org/ NumFOCUS].&lt;br /&gt;
&lt;br /&gt;
''As a result, GRASS participates in GSoC under the [https://numfocus.org/ NumFOCUS] umbrella organization.''&lt;br /&gt;
&lt;br /&gt;
Read more about our governance [https://grass.osgeo.org/about/governance/ on GRASS website].&lt;br /&gt;
&lt;br /&gt;
* [https://numfocus.org/programs/google-summer-code The NumFOCUS GSoC main page]&lt;br /&gt;
* [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines for contributors].&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== AI Tool Usage Policy ==&lt;br /&gt;
We acknowledge that applicants may use AI tools (like ChatGPT, Copilot, etc.) to assist with proposal writing and coding. However:&lt;br /&gt;
&lt;br /&gt;
* Your proposal should reflect your own understanding and voice. AI-generated &amp;quot;slop&amp;quot; (overly generic or regurgitated content) is easy to spot and will hurt your application.&lt;br /&gt;
* We evaluate applications primarily on GitHub contributions and communication with the GRASS community, not just proposal polish.&lt;br /&gt;
* Show us you understand the project through high-quality pull requests on GitHub.&lt;br /&gt;
* Disclose AI usage: If you use AI tools in your proposal or code contributions, please disclose the extent to which you used them (e.g., for brainstorming, proofreading, code suggestions, etc.).&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://discourse.osgeo.org/c/grass/developer/61 OSGeo Discourse forum for GRASS developers], [https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, r.proj, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: difficult&lt;br /&gt;
* Expected Outcomes: parallelized 2-5 tools, depending on complexity&lt;br /&gt;
* Test of skills (one or more):&lt;br /&gt;
** Address https://github.com/OSGeo/grass/issues/5776 (carefully read the existing conversation in the issue and linked PR)&lt;br /&gt;
** Pick a tool and develop prototype implementation of the parallelization.&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as better symbology handling and adding legend to InteractiveMap and better integration with matplotlib.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here] or rewrite some of the functions in grass.jupyter library using the new [https://grass.osgeo.org/grass-devel/manuals/python_intro.html#running-tools Tools API].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output.&lt;br /&gt;
Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: 10-20 tools (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Note: A lot of work on JSON was already done, but there is more! Some of the remaining tools require more design. There are also Python tools (not just C which was the focus previously) and then also the grass-addons repo. Some tools also don't have any machine readable output right now and should. Also current tools which use other tools should use the new JSON as opposed to what they are using now. Preparing a well-reasoned list of tasks is a part of the application.&lt;br /&gt;
* Test of skills (pick one or more): &lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6968&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6969&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6970&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== Fix known code defects ===&lt;br /&gt;
&lt;br /&gt;
* Fix code defects (security or code quality) such as those reported by Coverity Scan.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Nicklas Larsson&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: C&lt;br /&gt;
** Proposal: Define milestones which will be used during the evaluation.&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** Reduction of issues by 70-100%.&lt;br /&gt;
** New tests for changed code if missing.&lt;br /&gt;
* Test and training tasks (complete more than one): Fix e.g., [https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html GCC Static Analysis], [https://clang.llvm.org/docs/ClangStaticAnalyzer.html Clang Static Analyzer] or [https://cppcheck.sourceforge.io Cppcheck] issues.&lt;br /&gt;
&lt;br /&gt;
=== Subcommand CLI for GRASS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS tools in command line as easy as possible.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of data and project handling in GRASS. Furthermore, the proposal needs to present, at least, concrete formulation of ideas, identification of missing and existing parts, and new subcommands.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath, Corey White&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** A subcommand which runs a GRASS tool on GeoTiff and GeoPackage in one step.&lt;br /&gt;
** A complete parity with the existing CLI.&lt;br /&gt;
** An underlying Python API which will be used to implement the CLI.&lt;br /&gt;
* Test and training tasks (complete one or more): Add a subcommand, sub-subcommand, or an option to the experimental interface (with tests).&lt;br /&gt;
** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`.&lt;br /&gt;
** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
Current state:&lt;br /&gt;
&lt;br /&gt;
 # Reveals the existing subcommands&lt;br /&gt;
 PYTHONPATH=$(grass --config python-path) python -m grass.app --help&lt;br /&gt;
 # Allows running subset of commands&lt;br /&gt;
 grass run --help&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Searchable metadata in Space Time Datasets ===&lt;br /&gt;
The temporal framework in GRASS was initially developed almost 15 years ago. Spatio-temporal data has become more widely available since then and new standards emerged like e.g. ''[https://docs.ogc.org/cs/25-004/25-004.html STAC]'' with ''[https://github.com/stac-extensions/stac-extensions.github.io extensions]'', or the ''[https://cfconventions.org/ CF-conventions]''. The aim of this project is to extend the metadata model in the temporal framework to improve discoverability of map datasets registered in TGIS and to allow users to embed extended metadata with the registered maps in a Space Time Dataset in a searchable way. Ideally, the new model is able to account for the standards mentioned above.&lt;br /&gt;
 &lt;br /&gt;
See also: https://github.com/OSGeo/grass/issues/1938&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python, SQL, JSON&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Stefan Blumentrath&lt;br /&gt;
* Co-mentor: ???&lt;br /&gt;
* Proposed by: Stefan Blumentrath&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:&lt;br /&gt;
** an updated TGIS database model (version 4) that:&lt;br /&gt;
*** is oriented on relevant metadata standards (STAC, CF-Convention, ...)&lt;br /&gt;
*** allows to use metadata in temporal_where to select relevant elements of Space time datasets&lt;br /&gt;
** updated tool to create space time datasets (t.create) in the TGIS database with extended metadata&lt;br /&gt;
** updated tool to register map datasets (t.register) in the TGIS database with extended metadata&lt;br /&gt;
** Conversion tool for database Upgrades (v3 to v4)&lt;br /&gt;
** a new tool to update / modify metadata in the TGIS database&lt;br /&gt;
** Storage of timeseries metadata for both C-based and temporal Tools&lt;br /&gt;
&lt;br /&gt;
* Test of skills (e.g.):&lt;br /&gt;
** address one or more sub-tasks from https://github.com/OSGeo/grass/issues/3427 (add append-mode to selected new tool(s))&lt;br /&gt;
** suggest/implement solution for https://github.com/OSGeo/grass/issues/3394 (more complex task)&lt;br /&gt;
** suggest/implement solution for https://github.com/OSGeo/grass/issues/7041&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
* Follow official [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines].&lt;br /&gt;
* Include &amp;quot;GRASS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside NumFOCUS.&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://discourse.osgeo.org/c/grass/developer/61 on our Discourse].&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file].&lt;br /&gt;
* Prove your worth by being active on the [https://discourse.osgeo.org/c/grass/developer/61 GRASS Discourse] or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28855</id>
		<title>GRASS GSoC Ideas 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28855"/>
		<updated>2026-05-04T02:30:17Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: Add template for accepted ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Important: While we are still an OSGeo project, we changed our fiscal sponsor to [https://numfocus.org/ NumFOCUS].&lt;br /&gt;
&lt;br /&gt;
''As a result, GRASS participates in GSoC under the [https://numfocus.org/ NumFOCUS] umbrella organization.''&lt;br /&gt;
&lt;br /&gt;
Read more about our governance [https://grass.osgeo.org/about/governance/ on GRASS website].&lt;br /&gt;
&lt;br /&gt;
* [https://numfocus.org/programs/google-summer-code The NumFOCUS GSoC main page]&lt;br /&gt;
* [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines for contributors].&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== Accepted ideas ==&lt;br /&gt;
=== Accepted idea title ===&lt;br /&gt;
* Student: 	&lt;br /&gt;
* Mentors: &lt;br /&gt;
* [[GRASS_GSoC_2025_Add_JSON_output_to_different_tools_in_C|Example of Wiki page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AI Tool Usage Policy ==&lt;br /&gt;
We acknowledge that applicants may use AI tools (like ChatGPT, Copilot, etc.) to assist with proposal writing and coding. However:&lt;br /&gt;
&lt;br /&gt;
* Your proposal should reflect your own understanding and voice. AI-generated &amp;quot;slop&amp;quot; (overly generic or regurgitated content) is easy to spot and will hurt your application.&lt;br /&gt;
* We evaluate applications primarily on GitHub contributions and communication with the GRASS community, not just proposal polish.&lt;br /&gt;
* Show us you understand the project through high-quality pull requests on GitHub.&lt;br /&gt;
* Disclose AI usage: If you use AI tools in your proposal or code contributions, please disclose the extent to which you used them (e.g., for brainstorming, proofreading, code suggestions, etc.).&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://discourse.osgeo.org/c/grass/developer/61 OSGeo Discourse forum for GRASS developers], [https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, r.proj, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: difficult&lt;br /&gt;
* Expected Outcomes: parallelized 2-5 tools, depending on complexity&lt;br /&gt;
* Test of skills (one or more):&lt;br /&gt;
** Address https://github.com/OSGeo/grass/issues/5776 (carefully read the existing conversation in the issue and linked PR)&lt;br /&gt;
** Pick a tool and develop prototype implementation of the parallelization.&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as better symbology handling and adding legend to InteractiveMap and better integration with matplotlib.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here] or rewrite some of the functions in grass.jupyter library using the new [https://grass.osgeo.org/grass-devel/manuals/python_intro.html#running-tools Tools API].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output.&lt;br /&gt;
Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: 10-20 tools (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Note: A lot of work on JSON was already done, but there is more! Some of the remaining tools require more design. There are also Python tools (not just C which was the focus previously) and then also the grass-addons repo. Some tools also don't have any machine readable output right now and should. Also current tools which use other tools should use the new JSON as opposed to what they are using now. Preparing a well-reasoned list of tasks is a part of the application.&lt;br /&gt;
* Test of skills (pick one or more): &lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6968&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6969&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6970&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== Fix known code defects ===&lt;br /&gt;
&lt;br /&gt;
* Fix code defects (security or code quality) such as those reported by Coverity Scan.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Nicklas Larsson&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: C&lt;br /&gt;
** Proposal: Define milestones which will be used during the evaluation.&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** Reduction of issues by 70-100%.&lt;br /&gt;
** New tests for changed code if missing.&lt;br /&gt;
* Test and training tasks (complete more than one): Fix e.g., [https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html GCC Static Analysis], [https://clang.llvm.org/docs/ClangStaticAnalyzer.html Clang Static Analyzer] or [https://cppcheck.sourceforge.io Cppcheck] issues.&lt;br /&gt;
&lt;br /&gt;
=== Subcommand CLI for GRASS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS tools in command line as easy as possible.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of data and project handling in GRASS. Furthermore, the proposal needs to present, at least, concrete formulation of ideas, identification of missing and existing parts, and new subcommands.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath, Corey White&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** A subcommand which runs a GRASS tool on GeoTiff and GeoPackage in one step.&lt;br /&gt;
** A complete parity with the existing CLI.&lt;br /&gt;
** An underlying Python API which will be used to implement the CLI.&lt;br /&gt;
* Test and training tasks (complete one or more): Add a subcommand, sub-subcommand, or an option to the experimental interface (with tests).&lt;br /&gt;
** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`.&lt;br /&gt;
** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
Current state:&lt;br /&gt;
&lt;br /&gt;
 # Reveals the existing subcommands&lt;br /&gt;
 PYTHONPATH=$(grass --config python-path) python -m grass.app --help&lt;br /&gt;
 # Allows running subset of commands&lt;br /&gt;
 grass run --help&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Searchable metadata in Space Time Datasets ===&lt;br /&gt;
The temporal framework in GRASS was initially developed almost 15 years ago. Spatio-temporal data has become more widely available since then and new standards emerged like e.g. ''[https://docs.ogc.org/cs/25-004/25-004.html STAC]'' with ''[https://github.com/stac-extensions/stac-extensions.github.io extensions]'', or the ''[https://cfconventions.org/ CF-conventions]''. The aim of this project is to extend the metadata model in the temporal framework to improve discoverability of map datasets registered in TGIS and to allow users to embed extended metadata with the registered maps in a Space Time Dataset in a searchable way. Ideally, the new model is able to account for the standards mentioned above.&lt;br /&gt;
 &lt;br /&gt;
See also: https://github.com/OSGeo/grass/issues/1938&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python, SQL, JSON&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Stefan Blumentrath&lt;br /&gt;
* Co-mentor: ???&lt;br /&gt;
* Proposed by: Stefan Blumentrath&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:&lt;br /&gt;
** an updated TGIS database model (version 4) that:&lt;br /&gt;
*** is oriented on relevant metadata standards (STAC, CF-Convention, ...)&lt;br /&gt;
*** allows to use metadata in temporal_where to select relevant elements of Space time datasets&lt;br /&gt;
** updated tool to create space time datasets (t.create) in the TGIS database with extended metadata&lt;br /&gt;
** updated tool to register map datasets (t.register) in the TGIS database with extended metadata&lt;br /&gt;
** Conversion tool for database Upgrades (v3 to v4)&lt;br /&gt;
** a new tool to update / modify metadata in the TGIS database&lt;br /&gt;
** Storage of timeseries metadata for both C-based and temporal Tools&lt;br /&gt;
&lt;br /&gt;
* Test of skills (e.g.):&lt;br /&gt;
** address one or more sub-tasks from https://github.com/OSGeo/grass/issues/3427 (add append-mode to selected new tool(s))&lt;br /&gt;
** suggest/implement solution for https://github.com/OSGeo/grass/issues/3394 (more complex task)&lt;br /&gt;
** suggest/implement solution for https://github.com/OSGeo/grass/issues/7041&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
* Follow official [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines].&lt;br /&gt;
* Include &amp;quot;GRASS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside NumFOCUS.&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://discourse.osgeo.org/c/grass/developer/61 on our Discourse].&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file].&lt;br /&gt;
* Prove your worth by being active on the [https://discourse.osgeo.org/c/grass/developer/61 GRASS Discourse] or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28837</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28837"/>
		<updated>2026-04-15T18:29:41Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 -  19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is forthcoming.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| [[User:Neteler|Markus Neteler]]&lt;br /&gt;
| Germany&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (San Michele all'Adige–Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Participation is free of charge''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS-Wiki&amp;diff=28833</id>
		<title>GRASS-Wiki</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS-Wiki&amp;diff=28833"/>
		<updated>2026-04-15T03:40:27Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Governance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Image:grasslogo_vector_small.png|110x123 px|right|link=https://grass.osgeo.org]]&lt;br /&gt;
&lt;br /&gt;
== Welcome to the GRASS Wiki ==&lt;br /&gt;
&lt;br /&gt;
This wiki is used by the GRASS community mainly for '''governance''', '''event planning''', and '''community coordination'''.&lt;br /&gt;
&lt;br /&gt;
Looking for how to use GRASS? Visit our main website and learning resources:&lt;br /&gt;
&lt;br /&gt;
* [https://grass.osgeo.org/ Main GRASS Website]&lt;br /&gt;
* [https://grass.osgeo.org/grass-stable/manuals/index.html Documentation &amp;amp; Manuals]&lt;br /&gt;
* [https://grass-tutorials.osgeo.org/ Tutorials &amp;amp; Learning Resources]&lt;br /&gt;
* [https://grass.osgeo.org/download/ Download GRASS]&lt;br /&gt;
* [https://github.com/OSGeo/grass GitHub Repository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Support GRASS development: [https://grass.osgeo.org/contribute/sponsoring/ Donate here]'''&lt;br /&gt;
&lt;br /&gt;
== Governance ==&lt;br /&gt;
&lt;br /&gt;
* [[PSC|Project Steering Committee (PSC)]]&lt;br /&gt;
* [[PSC#PSC_meeting_agenda_and_minutes|Meeting Minutes]]&lt;br /&gt;
* [[GRASS_Budget_2026|2026 Budget]]&lt;br /&gt;
&lt;br /&gt;
== Latest Events &amp;amp; Planning ==&lt;br /&gt;
&lt;br /&gt;
* [[GRASS Community Meeting San Michele 2026]]&lt;br /&gt;
* [[GRASS_GSoC_Ideas_2026|Google Summer of Code 2026]]&lt;br /&gt;
* [[Local GRASS Meetup at NC State Center for Geospatial Analytics 2025]]&lt;br /&gt;
&lt;br /&gt;
== Relevant Categories ==&lt;br /&gt;
* [[:Category:GSoC|GSoC]]&lt;br /&gt;
* [[:Category:Code_Sprint|Code sprints]]&lt;br /&gt;
* [[:Category:Workshops|Workshops]]&lt;br /&gt;
* [[:Category:Conferences|Conferences]]&lt;br /&gt;
* [[:Category:Installation|Installation]]&lt;br /&gt;
* [[:Category:Budget|Budget]]&lt;br /&gt;
* [[Special:Categories|Further categories]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS-Wiki&amp;diff=28832</id>
		<title>GRASS-Wiki</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS-Wiki&amp;diff=28832"/>
		<updated>2026-04-15T03:40:07Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Governance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Image:grasslogo_vector_small.png|110x123 px|right|link=https://grass.osgeo.org]]&lt;br /&gt;
&lt;br /&gt;
== Welcome to the GRASS Wiki ==&lt;br /&gt;
&lt;br /&gt;
This wiki is used by the GRASS community mainly for '''governance''', '''event planning''', and '''community coordination'''.&lt;br /&gt;
&lt;br /&gt;
Looking for how to use GRASS? Visit our main website and learning resources:&lt;br /&gt;
&lt;br /&gt;
* [https://grass.osgeo.org/ Main GRASS Website]&lt;br /&gt;
* [https://grass.osgeo.org/grass-stable/manuals/index.html Documentation &amp;amp; Manuals]&lt;br /&gt;
* [https://grass-tutorials.osgeo.org/ Tutorials &amp;amp; Learning Resources]&lt;br /&gt;
* [https://grass.osgeo.org/download/ Download GRASS]&lt;br /&gt;
* [https://github.com/OSGeo/grass GitHub Repository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Support GRASS development: [https://grass.osgeo.org/contribute/sponsoring/ Donate here]'''&lt;br /&gt;
&lt;br /&gt;
== Governance ==&lt;br /&gt;
&lt;br /&gt;
* [[PSC|Project Steering Committee (PSC)]]&lt;br /&gt;
* [[PSC#PSC_meeting_agenda_and_minutes|Meeting Minutes]]&lt;br /&gt;
* [[GRASS_GIS_Budget_2026|2026 Budget]]&lt;br /&gt;
&lt;br /&gt;
== Latest Events &amp;amp; Planning ==&lt;br /&gt;
&lt;br /&gt;
* [[GRASS Community Meeting San Michele 2026]]&lt;br /&gt;
* [[GRASS_GSoC_Ideas_2026|Google Summer of Code 2026]]&lt;br /&gt;
* [[Local GRASS Meetup at NC State Center for Geospatial Analytics 2025]]&lt;br /&gt;
&lt;br /&gt;
== Relevant Categories ==&lt;br /&gt;
* [[:Category:GSoC|GSoC]]&lt;br /&gt;
* [[:Category:Code_Sprint|Code sprints]]&lt;br /&gt;
* [[:Category:Workshops|Workshops]]&lt;br /&gt;
* [[:Category:Conferences|Conferences]]&lt;br /&gt;
* [[:Category:Installation|Installation]]&lt;br /&gt;
* [[:Category:Budget|Budget]]&lt;br /&gt;
* [[Special:Categories|Further categories]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS-Wiki&amp;diff=28831</id>
		<title>GRASS-Wiki</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS-Wiki&amp;diff=28831"/>
		<updated>2026-04-15T03:38:50Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Latest Events &amp;amp; Planning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Image:grasslogo_vector_small.png|110x123 px|right|link=https://grass.osgeo.org]]&lt;br /&gt;
&lt;br /&gt;
== Welcome to the GRASS Wiki ==&lt;br /&gt;
&lt;br /&gt;
This wiki is used by the GRASS community mainly for '''governance''', '''event planning''', and '''community coordination'''.&lt;br /&gt;
&lt;br /&gt;
Looking for how to use GRASS? Visit our main website and learning resources:&lt;br /&gt;
&lt;br /&gt;
* [https://grass.osgeo.org/ Main GRASS Website]&lt;br /&gt;
* [https://grass.osgeo.org/grass-stable/manuals/index.html Documentation &amp;amp; Manuals]&lt;br /&gt;
* [https://grass-tutorials.osgeo.org/ Tutorials &amp;amp; Learning Resources]&lt;br /&gt;
* [https://grass.osgeo.org/download/ Download GRASS]&lt;br /&gt;
* [https://github.com/OSGeo/grass GitHub Repository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Support GRASS development: [https://grass.osgeo.org/contribute/sponsoring/ Donate here]'''&lt;br /&gt;
&lt;br /&gt;
== Governance ==&lt;br /&gt;
&lt;br /&gt;
* [[PSC|Project Steering Committee (PSC)]]&lt;br /&gt;
* [[PSC#PSC_meeting_agenda_and_minutes|Meeting Minutes]]&lt;br /&gt;
* [[GRASS_GIS_Budget_2025|2025 Budget]]&lt;br /&gt;
&lt;br /&gt;
== Latest Events &amp;amp; Planning ==&lt;br /&gt;
&lt;br /&gt;
* [[GRASS Community Meeting San Michele 2026]]&lt;br /&gt;
* [[GRASS_GSoC_Ideas_2026|Google Summer of Code 2026]]&lt;br /&gt;
* [[Local GRASS Meetup at NC State Center for Geospatial Analytics 2025]]&lt;br /&gt;
&lt;br /&gt;
== Relevant Categories ==&lt;br /&gt;
* [[:Category:GSoC|GSoC]]&lt;br /&gt;
* [[:Category:Code_Sprint|Code sprints]]&lt;br /&gt;
* [[:Category:Workshops|Workshops]]&lt;br /&gt;
* [[:Category:Conferences|Conferences]]&lt;br /&gt;
* [[:Category:Installation|Installation]]&lt;br /&gt;
* [[:Category:Budget|Budget]]&lt;br /&gt;
* [[Special:Categories|Further categories]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28830</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28830"/>
		<updated>2026-04-15T03:36:11Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Participation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 to June 19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is forthcoming.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
| Italy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (San Michele all'Adige–Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Participation is free of charge''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28829</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28829"/>
		<updated>2026-04-15T03:34:08Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: add image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 to June 19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sanmichele.png|frameless|center|1000px|San Michele all'Adige]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is forthcoming.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you are arriving or departing on the days of the event, please specify the time, too.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (San Michele all'Adige–Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Participation is free of charge''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Sanmichele.png&amp;diff=28828</id>
		<title>File:Sanmichele.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Sanmichele.png&amp;diff=28828"/>
		<updated>2026-04-15T03:28:00Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: Images capturing San Michele all'Adige for community meeting promo. Source is personal photos.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Images capturing San Michele all'Adige for community meeting promo. Source is personal photos.&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28827</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28827"/>
		<updated>2026-04-15T02:59:24Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: wrong year&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 to June 19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is forthcoming.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you are arriving or departing on the days of the event, please specify the time, too.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (San Michele all'Adige–Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Participation is free of charge''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2026]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28826</id>
		<title>GRASS Community Meeting San Michele 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_San_Michele_2026&amp;diff=28826"/>
		<updated>2026-04-15T02:58:58Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: Initial page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
The ''GRASS Community Meeting'' for contributors and developers will be happening from '''July 11 to June 19, 2026''' in [https://www.openstreetmap.org/relation/46990#map=12/46.1349/11.1947 San Michele all'Adige, Trentino, Italy].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.osgeo.org/ OSGeo]: 2500 USD (see [https://wiki.osgeo.org/w/index.php?title=GRASS_Community_Meeting_2026:_Budget budget]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Osgeo logo.png|none|left|alt=Light and dark green logo of OSGeo saying Your Open Source Compass|Open Source Geospatial Foundation]]&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The ''GRASS Community Meeting'' is a great occasion for folks to support the development by actively contributing to the project in different ways. These include  source code updates, documentation (manuals, wiki, tutorials), translations, website improvements or likewise. The community meeting is also a get-together where supporters, contributors, power users and developers make decisions and tackle larger problems related to the project, discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. We welcome people committed to improving the GRASS  project and the interfaces to QGIS, GDAL, PostGIS, R, OGC Services and others.&lt;br /&gt;
&lt;br /&gt;
The focus is on GRASS maintenance, and interaction with other projects. Many maintenance tasks, infrastructure changes, and planning of large changes especially benefits from maintainers being in one place and time zone. While the specific topics highly depend on the participants, we will prioritize topics which require highly synchronous collaboration, such as the CMake build system transition and API transitions. The [https://grass.osgeo.org/news/2025_05_27_grass_dev_summit_report/ 2025 event report] gives an overview of what was achieved last year. &lt;br /&gt;
&lt;br /&gt;
We do require participants to work on GRASS or connections to other projects. However, we leave them the freedom to work on what they think is the best contribution to the project given their skills and time available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
Agenda is forthcoming.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Saturday, July 11 ===&lt;br /&gt;
&lt;br /&gt;
Day of arrival. Contact organizers if you are interested in individualized program or helping with organization.&lt;br /&gt;
&lt;br /&gt;
=== Sunday, July 12 ===&lt;br /&gt;
=== Monday, July 13 ===&lt;br /&gt;
=== Tuesday, July 14 ===&lt;br /&gt;
=== Wednesday, July 15 ===&lt;br /&gt;
=== Thursday, July 16 ===&lt;br /&gt;
=== Friday, July 17 ===&lt;br /&gt;
=== Saturday, July 18 ===&lt;br /&gt;
=== Sunday, July 19 ===&lt;br /&gt;
&lt;br /&gt;
Day of departure.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topics'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
| [[User:wenzeslaus|Vaclav Petras]]&lt;br /&gt;
| United States &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
| [[User:Annakrat|Anna Petrasova]]&lt;br /&gt;
| United States &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you are arriving or departing on the days of the event, please specify the time, too.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
The meeting will be hosted at [https://fmach.it/ Fondazione Edmund Mach] (FEM) in San Michele all'Adige, Trentino, Italy — about 15 km north of Trento. FEM is a research and education center with on-site facilities that allow participants to work, sleep, and eat in the same location.&lt;br /&gt;
&lt;br /&gt;
[https://maps.app.goo.gl/5YEuEts6qXvky7HD9 Map]&lt;br /&gt;
&lt;br /&gt;
=== Getting there ===&lt;br /&gt;
&lt;br /&gt;
San Michele all'Adige is reachable by train on the Trento–Bolzano line (San Michele all'Adige–Mezzocorona station), with frequent connections from Trento (~15 minutes) and Verona (~1 hour). The nearest airports are Verona (VRN), Venice Marco Polo (VCE) and Treviso (TSF), Milan Bergamo (BGY), Malpensa (MXP), and Linate (LIN), Bologna (BLQ), and Innsbruck (INN) in Austria. Trento is also the host city of FOSS4G Italy 2026 (July 9–11), making it convenient to combine both events.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
''Participation is free of charge''. However, participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel&lt;br /&gt;
* Lodging&lt;br /&gt;
&lt;br /&gt;
Participants can stay on-site at the FEM convitto (dormitory), keeping the community together for the full duration of the meeting:&lt;br /&gt;
&lt;br /&gt;
* €35 per person per night&lt;br /&gt;
* Double and triple rooms (triples include a small kitchen)&lt;br /&gt;
* A mandatory on-site supervisor is required at €200 per night (flat fee, shared across the group)&lt;br /&gt;
* Family members are welcome to stay in the dormitory as well&lt;br /&gt;
* [https://cif.fmach.it/content/download/2701/78358/file/brochure_convitto.pdf Brochure]&lt;br /&gt;
&lt;br /&gt;
For anyone preferring alternative lodging, hotels and B&amp;amp;Bs are available in San Michele and nearby Trento.&lt;br /&gt;
&lt;br /&gt;
Lunches on weekdays can be taken at the FEM canteen (mensa), located on the same campus. Details and pricing are being finalized.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring {{wikipedia|AC power plugs and sockets|power adapter}} if needed (Italy: 230V, 50Hz, {{wikipedia|Europlug|Type C}}, {{wikipedia|Schuko|Type F}}, and {{wikipedia|AC power plugs and sockets: L|Type L}} sockets are common)&lt;br /&gt;
* Install git and the compiler tools, and come with a working GRASS development environment if possible. See [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md here] for details.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''How was it last time?''&lt;br /&gt;
** Splendid! See [[GRASS Developer Summit Raleigh 2025]]!&lt;br /&gt;
* ''Is the GRASS Community Meeting for developers only?''&lt;br /&gt;
** No, the meeting is open to all users, supporters, contributors, power users and developers ''who want to make a meaningful contribution to the project''.&lt;br /&gt;
* ''Where can I get help and more information about the community meeting?''&lt;br /&gt;
** Contact local organizer [[User:Lucadelu|Luca Delucchi]] (&amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) or [[User:wenzeslaus|Vaclav Petras]] (&amp;lt;tt&amp;gt;&amp;lt;wenzeslaus at gmail com&amp;gt;&amp;lt;/tt&amp;gt;) for budget questions.&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2024]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=PSC_Meeting_2026-02-13&amp;diff=28804</id>
		<title>PSC Meeting 2026-02-13</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=PSC_Meeting_2026-02-13&amp;diff=28804"/>
		<updated>2026-02-19T19:01:49Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Minutes */ add link, remove one level of bullet points&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Participants ==&lt;br /&gt;
&lt;br /&gt;
* Anna&lt;br /&gt;
* Vashek&lt;br /&gt;
* Nicklas&lt;br /&gt;
* Markus&lt;br /&gt;
* Paulo&lt;br /&gt;
* Linda&lt;br /&gt;
* Helli&lt;br /&gt;
* Huidae&lt;br /&gt;
* Vero&lt;br /&gt;
* Luca (guest)&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
The topics proposed are:&lt;br /&gt;
&lt;br /&gt;
* Annual budget request submitted to OSGeo&lt;br /&gt;
* Community Meeting - San Michele: date, planning, budget requests&lt;br /&gt;
* Releases&lt;br /&gt;
* GSoC&lt;br /&gt;
* [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md#ai-use-policy AI policy]&lt;br /&gt;
* Plan PSC elections/role changes for later this year (some of us have been in PSC since Feb 2021)&lt;br /&gt;
* Budget&lt;br /&gt;
** Where are we at time?&lt;br /&gt;
** Fundraising efforts&lt;br /&gt;
&lt;br /&gt;
== Minutes ==&lt;br /&gt;
&lt;br /&gt;
1. Budget&lt;br /&gt;
* OSGeo: &lt;br /&gt;
** The annual budget request was submitted. See https://wiki.osgeo.org/wiki/GRASS_Budget_2026. OSGeo has allocated $1,600 of the $2,000 originally requested. Budget for swags should be requested from the Marketing Committee, which is why they cut 400 USD.&lt;br /&gt;
* Numfocus&lt;br /&gt;
** Their interface for money is not as transparent as OpenCollective; there’s no public view of the contributors or the money we have in their bucket&lt;br /&gt;
** We've been with them for a year now, and they are still not our fiscal hosts in Redbubble and OpenCollective. They are also going through a transition.&lt;br /&gt;
&lt;br /&gt;
2. Community Meeting - San Michele&lt;br /&gt;
* OSGeo allocated 2500 USD, originally requested 5500 USD. See: https://wiki.osgeo.org/wiki/GRASS_Community_Meeting_2026:_Budget.&lt;br /&gt;
* By the beginning of March, Luca will meet FEM director, and we should then have an idea if we can stay at Convito in San Michele, so everything happens in San Michele, or if not, we search for university options in Trento, i.e., working rooms and housing.&lt;br /&gt;
* [Action] Create a wiki for the event.&lt;br /&gt;
* [Action] FOSSGIS e.V. request: will be handled by MN based on the one from [https://www.fossgis.de/wiki/Förderanträge/GRASS_GIS_Community_Meeting_2024 2024]&lt;br /&gt;
&lt;br /&gt;
3. Annual report 2025 &lt;br /&gt;
* Published as a [https://grass.osgeo.org/news/2025_12_31_annual_report/ news item] on the website&lt;br /&gt;
* It also served to meet the OSGeo requirement for budget request&lt;br /&gt;
* Nice new writing style with mentions to people actually doing things, as well as funding&lt;br /&gt;
&lt;br /&gt;
4. Releases&lt;br /&gt;
* MN, NL, and Edouard had a branching session&lt;br /&gt;
* New 8.5 branch: https://github.com/OSGeo/grass/tree/releasebranch_8_5&lt;br /&gt;
* Waiting for Martin Landa to create the branch on Windows server&lt;br /&gt;
* Jupyter integration should be ready soon and will be backported to 8.5, to be part of the release.&lt;br /&gt;
* CMake is mostly functional, even for addons (those that were added), but documentation cannot yet be built with CMake.&lt;br /&gt;
* NL requested us to test CMake: https://grasswiki.osgeo.org/wiki/Compile_and_Install_With_CMake&lt;br /&gt;
* HC: Fixing issues in CMake for Windows.&lt;br /&gt;
* FHS is not ready yet; there's a big PR waiting for after the release. &lt;br /&gt;
* Conda: HC is working on a conda package for Windows.&lt;br /&gt;
* Documentation: Materials for Mkdocs style is retiring, we should transition to a supported theme. Just maybe not for the 8.5 release.&lt;br /&gt;
&lt;br /&gt;
5. GSoC&lt;br /&gt;
* First year we participate under Numfocus if they are accepted&lt;br /&gt;
* We don’t know how many students we’ll get; it’s not clear how it works with Numfocus (is there a GSoC liaison/responsible person as in OSGeo?)&lt;br /&gt;
&lt;br /&gt;
6. GRASS website&lt;br /&gt;
* There's a new version of packages and dependencies soon to be deployed&lt;br /&gt;
* Build to be moved to github-actions. Then the artifact has to be uploaded to OSGeo server (limitation: it needs a token that expires yearly).&lt;br /&gt;
* Corey to be added to the list of GRASS people with access to the OSGeo server &lt;br /&gt;
** [Action] VP will invite him, then create the SAC ticket needed&lt;br /&gt;
* conda missing from the download page, [https://github.com/OSGeo/grass-website/issues/601 issue] created&lt;br /&gt;
* download logos were broken for &amp;gt; half a year (?) and nobody realized this, [https://github.com/OSGeo/grass-website/issues/602 issue] created&lt;br /&gt;
&lt;br /&gt;
7. AI policy &lt;br /&gt;
* Included in the main repo: https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md#ai-use-policy&lt;br /&gt;
* Simple - straightforward criteria that people might actually read, sort of guarantee/reference to close bad/meaningless PRs.&lt;br /&gt;
* Anna wrote it in response to the huge amount of PRs we are getting lately that are clearly created with AI, with no further understanding of GRASS.&lt;br /&gt;
* Many PRs are about tests, but they are not meaningful tests. It would be interesting to have instructions to create tests, so that contributors can train AI with instructions and create better tests.&lt;br /&gt;
** Corey is preparing instructions for Copilot, so it has context for code writing/reviewing.&lt;br /&gt;
&lt;br /&gt;
8. PSC elections&lt;br /&gt;
* Some PSC members have been in PSC since Feb 2021, and as we decided back then, [https://trac.osgeo.org/grass/wiki/PSC/Minutes/PSC_Meeting_20210203#Electiondebrief mandates should last max 6 years].&lt;br /&gt;
* [Action] Start planning by July, during the Community Meeting.&lt;br /&gt;
&lt;br /&gt;
9. Mailman &lt;br /&gt;
* Move translation, grass-gui and grass-stats lists to read-only mode; make a last post saying we are closing it, and ask SAC to do so (keeping their archives).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PSC]]&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28768</id>
		<title>GRASS GSoC Ideas 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28768"/>
		<updated>2026-02-03T18:15:31Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Ideas */ make all project sizes large&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Important: While we are still an OSGeo project, we changed our fiscal sponsor to [https://numfocus.org/ NumFOCUS].&lt;br /&gt;
&lt;br /&gt;
''As a result, GRASS participates in GSoC under the [https://numfocus.org/ NumFOCUS] umbrella organization.''&lt;br /&gt;
&lt;br /&gt;
Read more about our governance [https://grass.osgeo.org/about/governance/ on GRASS website].&lt;br /&gt;
&lt;br /&gt;
* [https://numfocus.org/programs/google-summer-code The NumFOCUS GSoC main page]&lt;br /&gt;
* [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines for contributors].&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== AI Tool Usage Policy ==&lt;br /&gt;
We acknowledge that applicants may use AI tools (like ChatGPT, Copilot, etc.) to assist with proposal writing and coding. However:&lt;br /&gt;
&lt;br /&gt;
* Your proposal should reflect your own understanding and voice. AI-generated &amp;quot;slop&amp;quot; (overly generic or regurgitated content) is easy to spot and will hurt your application.&lt;br /&gt;
* We evaluate applications primarily on GitHub contributions and communication with the GRASS community, not just proposal polish.&lt;br /&gt;
* Show us you understand the project through high-quality pull requests on GitHub.&lt;br /&gt;
* Disclose AI usage: If you use AI tools in your proposal or code contributions, please disclose the extent to which you used them (e.g., for brainstorming, proofreading, code suggestions, etc.).&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://discourse.osgeo.org/c/grass/developer/61 OSGeo Discourse forum for GRASS developers], [https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, r.proj, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: difficult&lt;br /&gt;
* Expected Outcomes: parallelized 2-5 tools, depending on complexity&lt;br /&gt;
* Test of skills (one or more):&lt;br /&gt;
** Address https://github.com/OSGeo/grass/issues/5776 (carefully read the existing conversation in the issue and linked PR)&lt;br /&gt;
** Pick a tool and develop prototype implementation of the parallelization.&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as better symbology handling and adding legend to InteractiveMap and better integration with matplotlib.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here] or rewrite some of the functions in grass.jupyter library using the new [https://grass.osgeo.org/grass-devel/manuals/python_intro.html#running-tools Tools API].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output.&lt;br /&gt;
Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: 10-20 tools (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Test of skills (pick one or more): &lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6968&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6969&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6970&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== Fix known code defects ===&lt;br /&gt;
&lt;br /&gt;
* Fix code defects (security or code quality) such as those reported by Coverity Scan.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: ?&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: C&lt;br /&gt;
** Proposal: Define milestones which will be used during the evaluation.&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** Reduction of issues by 70-100%.&lt;br /&gt;
** New tests for changed code if missing.&lt;br /&gt;
* Test and training tasks (complete more than one): Fix cppcheck issue.&lt;br /&gt;
&lt;br /&gt;
=== Subcommand CLI for GRASS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS tools in command line as easy as possible.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of data and project handling in GRASS. Furthermore, the proposal needs to present, at least, concrete formulation of ideas, identification of missing and existing parts, and new subcommands.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath, Corey White&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** A subcommand which runs a GRASS tool on GeoTiff and GeoPackage in one step.&lt;br /&gt;
** A complete parity with the existing CLI.&lt;br /&gt;
** An underlying Python API which will be used to implement the CLI.&lt;br /&gt;
* Test and training tasks (complete one or more): Add a subcommand, sub-subcommand, or an option to the experimental interface (with tests).&lt;br /&gt;
** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`.&lt;br /&gt;
** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
Current state:&lt;br /&gt;
&lt;br /&gt;
 # Reveals the existing subcommands&lt;br /&gt;
 PYTHONPATH=$(grass --config python-path) python -m grass.app --help&lt;br /&gt;
 # Allows running subset of commands&lt;br /&gt;
 grass run --help&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
* Follow official [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines].&lt;br /&gt;
* Include &amp;quot;GRASS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside NumFOCUS.&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://discourse.osgeo.org/c/grass/developer/61 on our Discourse].&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file].&lt;br /&gt;
* Prove your worth by being active on the [https://discourse.osgeo.org/c/grass/developer/61 GRASS Discourse] or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28767</id>
		<title>GRASS GSoC Ideas 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28767"/>
		<updated>2026-01-29T17:58:06Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Improve GRASS user experience in Jupyter Notebook */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Important: While we are still an OSGeo project, we changed our fiscal sponsor to [https://numfocus.org/ NumFOCUS].&lt;br /&gt;
&lt;br /&gt;
''As a result, GRASS participates in GSoC under the [https://numfocus.org/ NumFOCUS] umbrella organization.''&lt;br /&gt;
&lt;br /&gt;
Read more about our governance [https://grass.osgeo.org/about/governance/ on GRASS website].&lt;br /&gt;
&lt;br /&gt;
* [https://numfocus.org/programs/google-summer-code The NumFOCUS GSoC main page]&lt;br /&gt;
* [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines for contributors].&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== AI Tool Usage Policy ==&lt;br /&gt;
We acknowledge that applicants may use AI tools (like ChatGPT, Copilot, etc.) to assist with proposal writing and coding. However:&lt;br /&gt;
&lt;br /&gt;
* Your proposal should reflect your own understanding and voice. AI-generated &amp;quot;slop&amp;quot; (overly generic or regurgitated content) is easy to spot and will hurt your application.&lt;br /&gt;
* We evaluate applications primarily on GitHub contributions and communication with the GRASS community, not just proposal polish.&lt;br /&gt;
* Show us you understand the project through high-quality pull requests on GitHub.&lt;br /&gt;
* Disclose AI usage: If you use AI tools in your proposal or code contributions, please disclose the extent to which you used them (e.g., for brainstorming, proofreading, code suggestions, etc.).&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://discourse.osgeo.org/c/grass/developer/61 OSGeo Discourse forum for GRASS developers], [https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, r.proj, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: difficult&lt;br /&gt;
* Expected Outcomes: parallelized 2-5 tools, depending on complexity&lt;br /&gt;
* Test of skills (one or more):&lt;br /&gt;
** Address https://github.com/OSGeo/grass/issues/5776 (carefully read the existing conversation in the issue and linked PR)&lt;br /&gt;
** Pick a tool and develop prototype implementation of the parallelization.&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as better symbology handling and adding legend to InteractiveMap and better integration with matplotlib.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova, Corey White&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here] or rewrite some of the functions in grass.jupyter library using the new [https://grass.osgeo.org/grass-devel/manuals/python_intro.html#running-tools Tools API].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output.&lt;br /&gt;
Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: 10-20 tools (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Test of skills (pick one or more): &lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6968&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6969&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6970&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== Fix known code defects ===&lt;br /&gt;
&lt;br /&gt;
* Fix code defects (security or code quality) such as those reported by Coverity Scan.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: ?&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Project length: 175 or 350 hours (flexible)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: C&lt;br /&gt;
** Proposal: Define milestones which will be used during the evaluation.&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** Reduction of issues by 70-100%.&lt;br /&gt;
** New tests for changed code if missing.&lt;br /&gt;
* Test and training tasks (complete more than one): Fix cppcheck issue.&lt;br /&gt;
&lt;br /&gt;
=== Subcommand CLI for GRASS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS tools in command line as easy as possible.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
* Project length: 350 hours&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of data and project handling in GRASS. Furthermore, the proposal needs to present, at least, concrete formulation of ideas, identification of missing and existing parts, and new subcommands.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath, Corey White&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** A subcommand which runs a GRASS tool on GeoTiff and GeoPackage in one step.&lt;br /&gt;
** A complete parity with the existing CLI.&lt;br /&gt;
** An underlying Python API which will be used to implement the CLI.&lt;br /&gt;
* Test and training tasks (complete one or more): Add a subcommand, sub-subcommand, or an option to the experimental interface (with tests).&lt;br /&gt;
** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`.&lt;br /&gt;
** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
Current state:&lt;br /&gt;
&lt;br /&gt;
 # Reveals the existing subcommands&lt;br /&gt;
 PYTHONPATH=$(grass --config python-path) python -m grass.app --help&lt;br /&gt;
 # Allows running subset of commands&lt;br /&gt;
 grass run --help&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: 175 or 350 hours&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
* Follow official [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines].&lt;br /&gt;
* Include &amp;quot;GRASS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside NumFOCUS.&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://discourse.osgeo.org/c/grass/developer/61 on our Discourse].&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file].&lt;br /&gt;
* Prove your worth by being active on the [https://discourse.osgeo.org/c/grass/developer/61 GRASS Discourse] or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28765</id>
		<title>GRASS GSoC Ideas 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28765"/>
		<updated>2026-01-26T04:26:15Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Improve GRASS user experience in Jupyter Notebook */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Important: While we are still an OSGeo project, we changed our fiscal sponsor to [https://numfocus.org/ NumFOCUS].&lt;br /&gt;
&lt;br /&gt;
''As a result, GRASS participates in GSoC under the [https://numfocus.org/ NumFOCUS] umbrella organization.''&lt;br /&gt;
&lt;br /&gt;
Read more about our governance [https://grass.osgeo.org/about/governance/ on GRASS website].&lt;br /&gt;
&lt;br /&gt;
* [https://numfocus.org/programs/google-summer-code The NumFOCUS GSoC main page]&lt;br /&gt;
* [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines for contributors].&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== AI Tool Usage Policy ==&lt;br /&gt;
We acknowledge that applicants may use AI tools (like ChatGPT, Copilot, etc.) to assist with proposal writing and coding. However:&lt;br /&gt;
&lt;br /&gt;
* Your proposal should reflect your own understanding and voice. AI-generated &amp;quot;slop&amp;quot; (overly generic or regurgitated content) is easy to spot and will hurt your application.&lt;br /&gt;
* We evaluate applications primarily on GitHub contributions and communication with the GRASS community, not just proposal polish.&lt;br /&gt;
* Show us you understand the project through high-quality pull requests on GitHub.&lt;br /&gt;
* Disclose AI usage: If you use AI tools in your proposal or code contributions, please disclose the extent to which you used them (e.g., for brainstorming, proofreading, code suggestions, etc.).&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://discourse.osgeo.org/c/grass/developer/61 OSGeo Discourse forum for GRASS developers], [https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, r.proj, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: difficult&lt;br /&gt;
* Expected Outcomes: parallelized 2-5 tools, depending on complexity&lt;br /&gt;
* Test of skills (one or more):&lt;br /&gt;
** Address https://github.com/OSGeo/grass/issues/5776 (carefully read the existing conversation in the issue and linked PR)&lt;br /&gt;
** Pick a tool and develop prototype implementation of the parallelization.&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as better symbology handling and adding legend to InteractiveMap and better integration with matplotlib.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova, Corey White&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output.&lt;br /&gt;
Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: 10-20 tools (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Test of skills (pick one or more): &lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6968&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6969&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6970&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== Fix known code defects ===&lt;br /&gt;
&lt;br /&gt;
* Fix code defects (security or code quality) such as those reported by Coverity Scan.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: ?&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Project length: 175 or 350 hours (flexible)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: C&lt;br /&gt;
** Proposal: Define milestones which will be used during the evaluation.&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** Reduction of issues by 70-100%.&lt;br /&gt;
** New tests for changed code if missing.&lt;br /&gt;
* Test and training tasks (complete more than one): Fix cppcheck issue.&lt;br /&gt;
&lt;br /&gt;
=== Subcommand CLI for GRASS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS tools in command line as easy as possible.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
* Project length: 350 hours&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of data and project handling in GRASS. Furthermore, the proposal needs to present, at least, concrete formulation of ideas, identification of missing and existing parts, and new subcommands.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath, Corey White&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** A subcommand which runs a GRASS tool on GeoTiff and GeoPackage in one step.&lt;br /&gt;
** A complete parity with the existing CLI.&lt;br /&gt;
** An underlying Python API which will be used to implement the CLI.&lt;br /&gt;
* Test and training tasks (complete one or more): Add a subcommand, sub-subcommand, or an option to the experimental interface (with tests).&lt;br /&gt;
** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`.&lt;br /&gt;
** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
Current state:&lt;br /&gt;
&lt;br /&gt;
 # Reveals the existing subcommands&lt;br /&gt;
 PYTHONPATH=$(grass --config python-path) python -m grass.app --help&lt;br /&gt;
 # Allows running subset of commands&lt;br /&gt;
 grass run --help&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: 175 or 350 hours&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
* Follow official [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines].&lt;br /&gt;
* Include &amp;quot;GRASS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside NumFOCUS.&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://discourse.osgeo.org/c/grass/developer/61 on our Discourse].&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file].&lt;br /&gt;
* Prove your worth by being active on the [https://discourse.osgeo.org/c/grass/developer/61 GRASS Discourse] or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28764</id>
		<title>GRASS GSoC Ideas 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28764"/>
		<updated>2026-01-26T04:15:24Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Parallelization of existing tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Important: While we are still an OSGeo project, we changed our fiscal sponsor to [https://numfocus.org/ NumFOCUS].&lt;br /&gt;
&lt;br /&gt;
''As a result, GRASS participates in GSoC under the [https://numfocus.org/ NumFOCUS] umbrella organization.''&lt;br /&gt;
&lt;br /&gt;
Read more about our governance [https://grass.osgeo.org/about/governance/ on GRASS website].&lt;br /&gt;
&lt;br /&gt;
* [https://numfocus.org/programs/google-summer-code The NumFOCUS GSoC main page]&lt;br /&gt;
* [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines for contributors].&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== AI Tool Usage Policy ==&lt;br /&gt;
We acknowledge that applicants may use AI tools (like ChatGPT, Copilot, etc.) to assist with proposal writing and coding. However:&lt;br /&gt;
&lt;br /&gt;
* Your proposal should reflect your own understanding and voice. AI-generated &amp;quot;slop&amp;quot; (overly generic or regurgitated content) is easy to spot and will hurt your application.&lt;br /&gt;
* We evaluate applications primarily on GitHub contributions and communication with the GRASS community, not just proposal polish.&lt;br /&gt;
* Show us you understand the project through high-quality pull requests on GitHub.&lt;br /&gt;
* Disclose AI usage: If you use AI tools in your proposal or code contributions, please disclose the extent to which you used them (e.g., for brainstorming, proofreading, code suggestions, etc.).&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://discourse.osgeo.org/c/grass/developer/61 OSGeo Discourse forum for GRASS developers], [https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, r.proj, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: difficult&lt;br /&gt;
* Expected Outcomes: parallelized 2-5 tools, depending on complexity&lt;br /&gt;
* Test of skills (one or more):&lt;br /&gt;
** Address https://github.com/OSGeo/grass/issues/5776 (carefully read the existing conversation in the issue and linked PR)&lt;br /&gt;
** Pick a tool and develop prototype implementation of the parallelization.&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as increasing interactivity of displayed data using ipyleaflet, adding API for managing projects and subprojects (i.e., locations/mapsets), creating GUI for commands, ...&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova, Corey White&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: https://github.com/OSGeo/grass/issues/3276, or write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output.&lt;br /&gt;
Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: 10-20 tools (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Test of skills (pick one or more): &lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6968&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6969&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6970&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== Fix known code defects ===&lt;br /&gt;
&lt;br /&gt;
* Fix code defects (security or code quality) such as those reported by Coverity Scan.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: ?&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Project length: 175 or 350 hours (flexible)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: C&lt;br /&gt;
** Proposal: Define milestones which will be used during the evaluation.&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** Reduction of issues by 70-100%.&lt;br /&gt;
** New tests for changed code if missing.&lt;br /&gt;
* Test and training tasks (complete more than one): Fix cppcheck issue.&lt;br /&gt;
&lt;br /&gt;
=== Subcommand CLI for GRASS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS tools in command line as easy as possible.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
* Project length: 350 hours&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of data and project handling in GRASS. Furthermore, the proposal needs to present, at least, concrete formulation of ideas, identification of missing and existing parts, and new subcommands.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath, Corey White&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** A subcommand which runs a GRASS tool on GeoTiff and GeoPackage in one step.&lt;br /&gt;
** A complete parity with the existing CLI.&lt;br /&gt;
** An underlying Python API which will be used to implement the CLI.&lt;br /&gt;
* Test and training tasks (complete one or more): Add a subcommand, sub-subcommand, or an option to the experimental interface (with tests).&lt;br /&gt;
** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`.&lt;br /&gt;
** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
Current state:&lt;br /&gt;
&lt;br /&gt;
 # Reveals the existing subcommands&lt;br /&gt;
 PYTHONPATH=$(grass --config python-path) python -m grass.app --help&lt;br /&gt;
 # Allows running subset of commands&lt;br /&gt;
 grass run --help&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: 175 or 350 hours&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
* Follow official [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines].&lt;br /&gt;
* Include &amp;quot;GRASS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside NumFOCUS.&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://discourse.osgeo.org/c/grass/developer/61 on our Discourse].&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file].&lt;br /&gt;
* Prove your worth by being active on the [https://discourse.osgeo.org/c/grass/developer/61 GRASS Discourse] or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28763</id>
		<title>GRASS GSoC Ideas 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28763"/>
		<updated>2026-01-26T03:52:07Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* Add JSON output to different tools in C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Important: While we are still an OSGeo project, we changed our fiscal sponsor to [https://numfocus.org/ NumFOCUS].&lt;br /&gt;
&lt;br /&gt;
''As a result, GRASS participates in GSoC under the [https://numfocus.org/ NumFOCUS] umbrella organization.''&lt;br /&gt;
&lt;br /&gt;
Read more about our governance [https://grass.osgeo.org/about/governance/ on GRASS website].&lt;br /&gt;
&lt;br /&gt;
* [https://numfocus.org/programs/google-summer-code The NumFOCUS GSoC main page]&lt;br /&gt;
* [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines for contributors].&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== AI Tool Usage Policy ==&lt;br /&gt;
We acknowledge that applicants may use AI tools (like ChatGPT, Copilot, etc.) to assist with proposal writing and coding. However:&lt;br /&gt;
&lt;br /&gt;
* Your proposal should reflect your own understanding and voice. AI-generated &amp;quot;slop&amp;quot; (overly generic or regurgitated content) is easy to spot and will hurt your application.&lt;br /&gt;
* We evaluate applications primarily on GitHub contributions and communication with the GRASS community, not just proposal polish.&lt;br /&gt;
* Show us you understand the project through high-quality pull requests on GitHub.&lt;br /&gt;
* Disclose AI usage: If you use AI tools in your proposal or code contributions, please disclose the extent to which you used them (e.g., for brainstorming, proofreading, code suggestions, etc.).&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://discourse.osgeo.org/c/grass/developer/61 OSGeo Discourse forum for GRASS developers], [https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.horizon, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: parallelized module or modules, depending on complexity&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as increasing interactivity of displayed data using ipyleaflet, adding API for managing projects and subprojects (i.e., locations/mapsets), creating GUI for commands, ...&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova, Corey White&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: https://github.com/OSGeo/grass/issues/3276, or write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output.&lt;br /&gt;
Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: 10-20 tools (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Test of skills (pick one or more): &lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6968&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6969&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6970&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== Fix known code defects ===&lt;br /&gt;
&lt;br /&gt;
* Fix code defects (security or code quality) such as those reported by Coverity Scan.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: ?&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Project length: 175 or 350 hours (flexible)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: C&lt;br /&gt;
** Proposal: Define milestones which will be used during the evaluation.&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** Reduction of issues by 70-100%.&lt;br /&gt;
** New tests for changed code if missing.&lt;br /&gt;
* Test and training tasks (complete more than one): Fix cppcheck issue.&lt;br /&gt;
&lt;br /&gt;
=== Subcommand CLI for GRASS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS tools in command line as easy as possible.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
* Project length: 350 hours&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of data and project handling in GRASS. Furthermore, the proposal needs to present, at least, concrete formulation of ideas, identification of missing and existing parts, and new subcommands.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath, Corey White&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** A subcommand which runs a GRASS tool on GeoTiff and GeoPackage in one step.&lt;br /&gt;
** A complete parity with the existing CLI.&lt;br /&gt;
** An underlying Python API which will be used to implement the CLI.&lt;br /&gt;
* Test and training tasks (complete one or more): Add a subcommand, sub-subcommand, or an option to the experimental interface (with tests).&lt;br /&gt;
** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`.&lt;br /&gt;
** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
Current state:&lt;br /&gt;
&lt;br /&gt;
 # Reveals the existing subcommands&lt;br /&gt;
 PYTHONPATH=$(grass --config python-path) python -m grass.app --help&lt;br /&gt;
 # Allows running subset of commands&lt;br /&gt;
 grass run --help&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: 175 or 350 hours&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
* Follow official [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines].&lt;br /&gt;
* Include &amp;quot;GRASS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside NumFOCUS.&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://discourse.osgeo.org/c/grass/developer/61 on our Discourse].&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file].&lt;br /&gt;
* Prove your worth by being active on the [https://discourse.osgeo.org/c/grass/developer/61 GRASS Discourse] or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28759</id>
		<title>GRASS GSoC Ideas 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28759"/>
		<updated>2026-01-21T20:15:14Z</updated>

		<summary type="html">&lt;p&gt;Annakrat: /* AI Tool Usage Policy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Important: While we are still an OSGeo project, we changed our fiscal sponsor to [https://numfocus.org/ NumFOCUS].&lt;br /&gt;
&lt;br /&gt;
''As a result, GRASS participates in GSoC under the [https://numfocus.org/ NumFOCUS] umbrella organization.''&lt;br /&gt;
&lt;br /&gt;
Read more about our governance [https://grass.osgeo.org/about/governance/ on GRASS website].&lt;br /&gt;
&lt;br /&gt;
* [https://numfocus.org/programs/google-summer-code The NumFOCUS GSoC main page]&lt;br /&gt;
* [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines for contributors].&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== AI Tool Usage Policy ==&lt;br /&gt;
We acknowledge that applicants may use AI tools (like ChatGPT, Copilot, etc.) to assist with proposal writing and coding. However:&lt;br /&gt;
&lt;br /&gt;
* Your proposal should reflect your own understanding and voice. AI-generated &amp;quot;slop&amp;quot; (overly generic or regurgitated content) is easy to spot and will hurt your application.&lt;br /&gt;
* We evaluate applications primarily on GitHub contributions and communication with the GRASS community, not just proposal polish.&lt;br /&gt;
* Show us you understand the project through high-quality pull requests on GitHub.&lt;br /&gt;
* Disclose AI usage: If you use AI tools in your proposal or code contributions, please disclose the extent to which you used them (e.g., for brainstorming, proofreading, code suggestions, etc.).&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://discourse.osgeo.org/c/grass/developer/61 OSGeo Discourse forum for GRASS developers], [https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.horizon, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: parallelized module or modules, depending on complexity&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as increasing interactivity of displayed data using ipyleaflet, adding API for managing projects and subprojects (i.e., locations/mapsets), creating GUI for commands, ...&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova, Corey White&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: https://github.com/OSGeo/grass/issues/3276, or write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools in C ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output, see [https://github.com/OSGeo/grass/issues/3020 this issue for a list of tools]. Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python for tests&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: one or more (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Test of skills: Address https://github.com/OSGeo/grass/issues/1044 for r.surf.fractal&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== New easy-to-use CLI and API for GRASS GIS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS GIS modules as easy as it is to run GDAL commands.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
** CLI like GDAL has.&lt;br /&gt;
** No GRASS Database, Location, Mapset to deal with.&lt;br /&gt;
** No import, export from user perspective.&lt;br /&gt;
** Reasonable defaults for things like region.&lt;br /&gt;
** CLI and API still allows user to specify any of the above.&lt;br /&gt;
* Idea page with details: wiki:GSoC/2021/EasyToUseCliAndApiIdea&lt;br /&gt;
* Project length: 350 hours&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of the GRASS GIS Database structure and significantly extend on text below in terms of more concrete formulation of ideas and identification of missing and existing parts.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath, Corey White&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes: New subcommand which easily runs a GRASS module on GeoTiff and GeoPackage.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Solve one of the tickets linked at the idea page.&lt;br /&gt;
** Add features to `grass` executable interface:&lt;br /&gt;
*** Make it possible to associate `*.gxw` files with `grass` executable (#1204) or at least add `--gui-workspace` or preferably just recognize it in the command line (distinguish it from database/location/mapset).&lt;br /&gt;
** Extend `--exec` functionality:&lt;br /&gt;
*** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`&lt;br /&gt;
*** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
*** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS GIS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: 175 or 350 hours&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS GIS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS GIS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS GIS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: 175 or 350 hours (take your pick)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS GIS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
* Follow official [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines].&lt;br /&gt;
* Include &amp;quot;GRASS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside NumFOCUS.&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://discourse.osgeo.org/c/grass/developer/61 on our Discourse].&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file].&lt;br /&gt;
* Prove your worth by being active on the [https://discourse.osgeo.org/c/grass/developer/61 GRASS Discourse] or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Annakrat</name></author>
	</entry>
</feed>