Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
6af4ca5
expand buffer and cache to multiple rows for multithreading
cyliang368 Jun 21, 2024
72a0970
fix the segmentfault problems
cyliang368 Jun 22, 2024
420cf19
add tests for parallelization
cyliang368 Jun 22, 2024
b665ca7
Merge branch 'OSGeo:main' into parallel_rmapcalc
cyliang368 Jun 22, 2024
95afb43
merge main to the branch
cyliang368 May 20, 2025
e7fd542
Update raster/r.mapcalc/testsuite/test_r_mapcalc_parallel.py
cyliang368 May 20, 2025
5a70b45
Update raster/r.mapcalc/testsuite/test_r_mapcalc_parallel.py
cyliang368 May 20, 2025
c2e55ca
Merge remote-tracking branch 'upstream/main' into parallel_rmapcalc
cyliang368 May 20, 2025
8c497d0
remove redundant parts
cyliang368 May 21, 2025
14ca376
fix malloc errors related threading
cyliang368 May 21, 2025
d0ca65e
use multiple file descriptors instead of locks
cyliang368 May 22, 2025
5b3184d
disable parallelization for not implemented functions
cyliang368 May 22, 2025
c06c345
Merge remote-tracking branch 'upstream/main' into parallel_rmapcalc
cyliang368 May 22, 2025
76ae210
Update benchmark_rmapcalc.py
cyliang368 May 22, 2025
224e7f3
remove unused variables
cyliang368 May 22, 2025
851d67c
remove unuse variable
cyliang368 May 22, 2025
96329eb
add more benchmarking
petrasovaa Jun 6, 2025
c315726
Merge branch 'main' into parallel_rmapcalc
petrasovaa Jun 6, 2025
f960c32
add performance to manual
petrasovaa Jun 13, 2025
45f7763
add openmp to cmake
petrasovaa Jun 13, 2025
59dcd3f
Merge branch 'main' into parallel_rmapcalc
petrasovaa Jun 13, 2025
b2ba22f
use new functions for setting openmp threads
petrasovaa Jun 13, 2025
42b3f97
correct the location and the condition to free nprocs->answer
cyliang368 Jun 14, 2025
8746bbb
Ensure r3 is detected and ensure correct #threads is assigned
cyliang368 Jun 15, 2025
bed8011
Handle Windows path separators
cyliang368 Jun 15, 2025
dfe3a1b
remove redundant empty line
cyliang368 Jun 15, 2025
895a7d9
remove space
cyliang368 Jun 15, 2025
8ab77d2
test1
petrasovaa Jun 24, 2025
a4862b2
fix
petrasovaa Jun 24, 2025
cbb864e
test nmedian with nprocs=1
petrasovaa Jun 24, 2025
11c83d5
CI(deps): Update DeterminateSystems/nix-installer-action action to v1…
renovate[bot] Jul 4, 2025
e242e15
CI(deps): Update github/codeql-action action to v3.29.2 (#6029)
renovate[bot] Jul 5, 2025
e21f4a6
g.findfile: use element aliases (#5998)
petrasovaa Jul 5, 2025
b9106e6
CI(deps): Update ubuntu:22.04 Docker digest to 3c61d37 (#6030)
renovate[bot] Jul 5, 2025
d309209
CI(deps): Update ruff to v0.12.2 (#6032)
renovate[bot] Jul 5, 2025
4c1e37e
wxGUI: wxplot: Fix SIM115: Use context manager for file operations in…
arohanajit Jul 5, 2025
e9980a2
CI(deps): Update dependency mkdocs-material to v9.6.15 (#6031)
renovate[bot] Jul 5, 2025
52e542f
locale: Update translation files (#6035)
github-actions[bot] Jul 5, 2025
c285e49
CI(deps): Update dependency bandit to v1.8.6 (#6037)
renovate[bot] Jul 6, 2025
dfcc7a0
CI(deps): Lock file maintenance (#6040)
renovate[bot] Jul 7, 2025
90a26d7
build: refactor grass.py in preparation for FHS (#5933)
nilason Jul 7, 2025
dfe9dbf
Translations update from OSGeo Weblate (#6047)
osgeoweblate Jul 9, 2025
4132e17
v.label.sa: Fix Resource Leak issue (#5967)
ShubhamDesai Jul 9, 2025
1cd46ca
lib/cairodriver: Fix Resource Leak Issue in graph.c (#6041)
ShubhamDesai Jul 9, 2025
8dd0df1
lib/vector/Vlib: Fix Resource Leak Issue in read.c (#6043)
ShubhamDesai Jul 9, 2025
3f1bb16
lib/vector/Vlib: Fix Resource Leak Issue in header.c (#6044)
ShubhamDesai Jul 9, 2025
27f6b88
r.volume: Add JSON support (#6036)
NishantBansal2003 Jul 9, 2025
221d8f7
i.eb.hsebal01: add test file (#6038)
jayneel-shah18 Jul 10, 2025
e0e9300
i.colors.enhance: add test file (#6046)
jayneel-shah18 Jul 10, 2025
e660a27
m.measure: Add test file (#6051)
NishantBansal2003 Jul 10, 2025
c185d6f
g.ppmtopng: Fix unchecked return value in main.c (#6045)
ShubhamDesai Jul 10, 2025
60e3ce7
g.parser: Fix Copy into fixed Buffer size issue in revoke.c (#6048)
ShubhamDesai Jul 10, 2025
7004d1f
i.image.mosaic: add test file (#6055)
jayneel-shah18 Jul 11, 2025
d70d6b2
db.connect: Add test file (#6052)
NishantBansal2003 Jul 11, 2025
fecfe8a
v.build.polylines: Added test for merging and category handling (#6050)
dvrohan Jul 11, 2025
83169d0
CI(deps): Update ruff to v0.12.3 (#6056)
renovate[bot] Jul 12, 2025
40f606f
configure: update to latest config.guess and config.sub (#6057)
github-actions[bot] Jul 12, 2025
b362147
locale: Update translation files (#6058)
github-actions[bot] Jul 12, 2025
92c40dc
Translations update from OSGeo Weblate (#6065)
osgeoweblate Jul 15, 2025
a89cfbd
doc: Remove URL param from standard options doc generator (#6034)
echoix Jul 15, 2025
b4f4c15
CI(deps): Lock file maintenance (#6060)
renovate[bot] Jul 16, 2025
cf2ad99
CQ: Replace crlf check with validation against an .editorconfig file …
echoix Jul 17, 2025
dc579ff
r.regression.multi: Add test file (#6066)
NishantBansal2003 Jul 17, 2025
2e97eb8
m.measure: Add JSON support (#6053)
NishantBansal2003 Jul 17, 2025
f99d08d
i.oif: bug fix (#6062)
jayneel-shah18 Jul 17, 2025
42fff8a
v.db.connect: Add test file (#6067)
NishantBansal2003 Jul 17, 2025
99185cc
CI(deps): Replace nix install action with DeterminateSystems/determin…
renovate[bot] Jul 17, 2025
f446a19
r.volume: fix -p flag behavior (#6068)
petrasovaa Jul 17, 2025
9c6890b
i.tasscap: add test file (#6074)
jayneel-shah18 Jul 18, 2025
74ba8df
db.columns: Add JSON support (#6042)
NishantBansal2003 Jul 18, 2025
eaee390
CI(deps): Update ruff to v0.12.4 (#6082)
renovate[bot] Jul 19, 2025
cc3a04d
CI(deps): Update astral-sh/setup-uv action to v6.4.1 (#6083)
renovate[bot] Jul 19, 2025
8580cf5
CI(deps): Update ubuntu:22.04 Docker digest to 1ec65b2 (#6081)
renovate[bot] Jul 19, 2025
3e491e5
CI(deps): Update alpine:3.22 Docker digest to 4bcff63 (#6080)
renovate[bot] Jul 19, 2025
082534e
locale: Update translation files (#6086)
github-actions[bot] Jul 19, 2025
fe19a73
configure: update to latest config.guess and config.sub (#6085)
github-actions[bot] Jul 19, 2025
76bbc71
r.regression.multi: Add JSON support (#6075)
NishantBansal2003 Jul 19, 2025
84ab511
CI(deps): Update rui314/setup-mold digest to 702b190 (#6088)
renovate[bot] Jul 20, 2025
a79af3b
chore: Update .gitignore to include some changes from grass-addons (#…
echoix Jul 20, 2025
80eaa84
v.univar: harmonize vector univariate stats API and JSON (#6018)
petrasovaa Jul 20, 2025
ad7f155
temporal: Update and vendor ply dependency per repo's instructions as…
echoix Jul 20, 2025
d2f21ce
chore: Add *.tmp.md and *.dox.org to .gitignore to exclude temporary …
echoix Jul 20, 2025
1d2c4c2
CQ: Trim one trailing whitespace in python/grass/temporal/ply/lex.py …
echoix Jul 21, 2025
d97d6b7
man: Upgrade Doxyfile config files with doxygen 1.9.1 (#6093)
echoix Jul 21, 2025
73e2930
lib/parser: Use the first allowed values in example (#6079)
wenzeslaus Jul 21, 2025
e8b8e9f
r.series: Replace custom checks by parser rules (#6078)
wenzeslaus Jul 21, 2025
4131a76
r.mapcalc: remove static variables from mode and median to fix parall…
petrasovaa Jul 21, 2025
779e147
Merge branch 'main' into parallel_rmapcalc
petrasovaa Jul 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
151 changes: 151 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
# EditorConfig: https://editorconfig.org
# Rules are read from top to bottom, the most recent rule found applies
# Some basic properties are supported by all editor plugins

# top-most EditorConfig file
root = true

# General settings
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true

[*.{htm,html,js,css,svg}]
indent_size = 2

[*.{xml,config}]
indent_size = 2

# Scripts
[{*.sh,mswindows/osgeo4w/*config}]
end_of_line = unset
indent_size = unset
# TODO: To enable when files are fixed:
# end_of_line = lf
# indent_size = 4

# TODO: remove when the previous section is fixed
[*.sh]
end_of_line = lf
indent_size = 4

# These are explicitly windows files and should use crlf
[*.{bat,cmd,ps1}{.tmpl,}]
end_of_line = crlf

# TODO: remove when fixed
[mswindows/GRASS-Packager.bat.tmpl]
end_of_line = unset
insert_final_newline = unset

# TODO: remove when fixed
[mswindows/osgeo4w/*.{bat,bat.tmpl}]
end_of_line = unset
insert_final_newline = unset

[*.{c,h,cpp,hpp}]
indent_size = 2

[{*.js,*.json,*.json5,*.mjs,*.cjs}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true

[*.js]
block_comment_start = /**
block_comment = *
block_comment_end = */

[*.ipynb]
end_of_line = lf

[{*.py, *.pyi}]
charset = utf-8
indent_style = space
# TODO: To enable when files are fixed:
# indent_size = 4
# max_line_length = 88

[{Makefile,*.make,*.make.in}]
# TODO: To enable when files are fixed:
# indent_style = tab
indent_size = 4

[*.y{a,}ml]
indent_style = space
indent_size = 2

# Patch files
[*.patch]
trim_trailing_whitespace = false

# TODO: To enable when files are fixed:
# # CSVs use CRLF as defined in RFC 4180
# [*.csv]
# end_of_line = crlf

[*.md]
# Two trailing whitespace in markdown means to create a line break
# https://www.markdownguide.org/basic-syntax/#line-breaks
trim_trailing_whitespace = false
indent_style = space
# TODO: To enable when files are fixed:
# indent_size = 2

# Exclude some files from rules
[*.{ascii,asc,ref,po,ps,svg}]
trim_trailing_whitespace = unset
end_of_line = unset
charset = unset
insert_final_newline = unset

[{**/testsuite/data/**,mswindows/osgeo4w/envdiff.sed}]
trim_trailing_whitespace = unset
end_of_line = unset
charset = unset
insert_final_newline = unset

[python/libgrass_interface_generator/ctypesgen/parser/parsetab.py]
trim_trailing_whitespace = false

[mswindows/{generic.manifest,Installer-Files/*.url}]
end_of_line = unset # TODO: remove when fixed
insert_final_newline = unset # TODO: remove when fixed
# TODO: To enable when files are fixed:
# end_of_line = crlf

# TODO: remove when .editorconfig is properly set up
[mswindows/external/**]
end_of_line = unset
insert_final_newline = unset

# TODO: remove when fixed
[mswindows/external/rbatch/*.bat]
trim_trailing_whitespace = unset

# TODO: remove when fixed
[.github/workflows/*.bat]
end_of_line = unset
insert_final_newline = unset

# Binary files
[**/PERMANENT/vector/*/{cidx,coor,sidx,topo}]
trim_trailing_whitespace = unset
end_of_line = unset
charset = unset
insert_final_newline = unset

[*.{laz,raw,rgb}]
trim_trailing_whitespace = unset
end_of_line = unset
charset = unset
insert_final_newline = unset

[{lib/vector/diglib/test*.ok,**/*.nib/keyedobjects.nib}]
trim_trailing_whitespace = unset
end_of_line = unset
charset = unset
insert_final_newline = unset
1 change: 1 addition & 0 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ exclude =
# Test output directory
testreport,
# Not yet compliant
python/grass/temporal/ply,
python/libgrass_interface_generator,
# No tests checked for now
testsuite,
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/.editorconfig

This file was deleted.

39 changes: 17 additions & 22 deletions .github/workflows/additional_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,30 +30,12 @@ jobs:
with:
fetch-depth: 31

- name: Check what files were changed
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
filters: |
precommit:
- '.clang-format'
- '.flake8'
- '.github/**'
- '.markdownlint.yml'
- '.pre-commit-config.yaml'
- '.yamllint'
- 'pyproject.toml'

- name: Check for CRLF endings
uses: erclu/check-crlf@94acb86c2a41b0a46bd8087b63a06f0457dd0c6c # v1.2.0
with:
# Ignore all test data, Windows-specific directories and scripts.
exclude: mswindows .*\.bat .*/testsuite/data/.*

- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: "3.13"
- name: Install uv and restore its cache
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1

- name: Check that files with the same content are the same
run: |
Expand All @@ -76,6 +58,19 @@ jobs:
${{ github.ref_name }} \
$(git rev-parse HEAD~30) \
""
- name: "Cache pre-commit"
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: ~/.cache/pre-commit
key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}

- run: pip install pre-commit && pre-commit run -a
if: ${{ steps.changes.outputs.precommit == 'true' }}
- name: "Run pre-commit"
run: |
echo '```console' > "$GITHUB_STEP_SUMMARY"
# Enable color output for pre-commit and remove it for the summary
# Use --hook-stage=manual to enable slower pre-commit hooks that are skipped by default
uvx pre-commit run --all-files --show-diff-on-failure --color=always --hook-stage=manual | \
tee >(sed -E 's/\x1B\[([0-9]{1,2}(;[0-9]{1,2})*)?[mGK]//g' >> "$GITHUB_STEP_SUMMARY") >&1
exit_code="${PIPESTATUS[0]}"
echo '```' >> "$GITHUB_STEP_SUMMARY"
exit "$exit_code"
1 change: 0 additions & 1 deletion .github/workflows/apt.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ python3-dateutil
python3-matplotlib
python3-numpy
python3-pil
python3-ply
python3-pyvirtualdisplay
python3-termcolor
sqlite3
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,11 @@ jobs:
sudo apt-get install -y wget git gawk findutils
xargs -a <(awk '! /^ *(#|$)/' ".github/workflows/apt.txt") -r -- \
sudo apt-get install -y --no-install-recommends --no-install-suggests
- uses: rui314/setup-mold@85c79d00377f0d32cdbae595a46de6f7c2fa6599 # v1
- uses: rui314/setup-mold@702b1908b5edf30d71a8d1666b724e0f0c6fa035 # v1
if: ${{ matrix.language == 'c-cpp' }}

- name: Initialize CodeQL
uses: github/codeql-action/init@39edc492dbe16b1465b0cafca41432d857bdb31a # v3.29.1
uses: github/codeql-action/init@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql/codeql-config.yml
Expand All @@ -82,6 +82,6 @@ jobs:
run: .github/workflows/build_ubuntu-22.04.sh "${HOME}/install"

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@39edc492dbe16b1465b0cafca41432d857bdb31a # v3.29.1
uses: github/codeql-action/analyze@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
with:
category: "/language:${{matrix.language}}"
2 changes: 1 addition & 1 deletion .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ jobs:
pip install -r grass/.github/workflows/python_requirements.txt
pip install -r grass-addons/.github/workflows/requirements.txt

- uses: rui314/setup-mold@85c79d00377f0d32cdbae595a46de6f7c2fa6599 # v1
- uses: rui314/setup-mold@702b1908b5edf30d71a8d1666b724e0f0c6fa035 # v1

- name: Create installation directory
run: |
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/osgeo4w.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@ jobs:
python3-matplotlib
python3-numpy
python3-pip
python3-ply
python3-pywin32
python3-six
python3-wxpython
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
xargs -a <(awk '! /^ *(#|$)/' ".github/workflows/apt.txt") -r -- \
sudo apt-get install -y --no-install-recommends --no-install-suggests

- uses: rui314/setup-mold@85c79d00377f0d32cdbae595a46de6f7c2fa6599 # v1
- uses: rui314/setup-mold@702b1908b5edf30d71a8d1666b724e0f0c6fa035 # v1

- name: Install Python dependencies
run: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/python-code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ jobs:
# renovate: datasource=pypi depName=pylint
PYLINT_VERSION: "3.3.7"
# renovate: datasource=pypi depName=bandit
BANDIT_VERSION: "1.8.5"
BANDIT_VERSION: "1.8.6"
# renovate: datasource=pypi depName=ruff
RUFF_VERSION: "0.12.1"
RUFF_VERSION: "0.12.4"

runs-on: ${{ matrix.os }}
permissions:
Expand Down Expand Up @@ -127,7 +127,7 @@ jobs:
path: bandit.sarif

- name: Upload SARIF File into Security Tab
uses: github/codeql-action/upload-sarif@39edc492dbe16b1465b0cafca41432d857bdb31a # v3.29.1
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
with:
sarif_file: bandit.sarif

Expand All @@ -139,7 +139,7 @@ jobs:
run: |
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV

- uses: rui314/setup-mold@85c79d00377f0d32cdbae595a46de6f7c2fa6599 # v1
- uses: rui314/setup-mold@702b1908b5edf30d71a8d1666b724e0f0c6fa035 # v1
- name: Build
run: .github/workflows/build_${{ matrix.os }}.sh $HOME/install

Expand Down
1 change: 0 additions & 1 deletion .github/workflows/python_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
matplotlib
numpy
Pillow
ply
1 change: 1 addition & 0 deletions .github/workflows/super-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ jobs:
VALIDATE_BASH_EXEC: true
# VALIDATE_CSS: true
# VALIDATE_DOCKER: true
VALIDATE_EDITORCONFIG: true
VALIDATE_JAVASCRIPT_ES: true
# VALIDATE_JAVASCRIPT_STANDARD: true
VALIDATE_JSON: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-nix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Install nix
uses: DeterminateSystems/nix-installer-action@21a544727d0c62386e78b4befe52d19ad12692e3 # v17
uses: DeterminateSystems/determinate-nix-action@2b7bca919ce8854111c6f9135091ddf5eea8e0eb # v3.8.2

- name: Setup cachix
uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
Expand Down
10 changes: 8 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
*.pyc
OBJ.*
locale/scriptstrings/*
*.o
*.tmp.html
*.tmp.md
bin.*/*
build
/out/
Expand All @@ -15,7 +18,10 @@ grass.pc
autom4te.cache/
macos/cache/*

# ignore specific file generated during make
# Ignore temporary files used in htmldox, latexdox and pdfdox targets
*.dox.org

# Ignore specific files generated during make
gui/wxpython/menustrings.py
gui/wxpython/xml/menudata.xml
gui/wxpython/xml/module_tree_menudata.xml
Expand Down Expand Up @@ -46,7 +52,7 @@ daag*.s
# notebook helper files
.ipynb_checkpoints

# python environment
# Ignore Python virtual environment
venv/
env/
.venv/
Expand Down
9 changes: 8 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ repos:
.*\.po$|
.*\.ps$|
.*\.svg$|
python/grass/temporal/ply/|
python/libgrass_interface_generator/ctypesgen/|
lib/fonts/fonts/.*
)
Expand All @@ -35,12 +36,13 @@ repos:
.*\.po$|
.*\.ps$|
.*\.svg$|
python/grass/temporal/ply/|
python/libgrass_interface_generator/ctypesgen/|
lib/fonts/fonts/.*
)
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.12.1
rev: v0.12.4
hooks:
# Run the linter.
- id: ruff-check
Expand All @@ -57,6 +59,7 @@ repos:
- id: flake8
exclude: |
(?x)^(
python/grass/temporal/ply/|
python/libgrass_interface_generator/|
.*/testsuite/.*
)
Expand All @@ -74,3 +77,7 @@ repos:
rev: v1.37.1
hooks:
- id: yamllint
- repo: https://github.com/editorconfig-checker/editorconfig-checker
rev: v3.3.0
hooks:
- id: editorconfig-checker
Loading
Loading