diff --git a/.claude/sweep-style-state.csv b/.claude/sweep-style-state.csv index c7ca49ffb..472b9cf99 100644 --- a/.claude/sweep-style-state.csv +++ b/.claude/sweep-style-state.csv @@ -12,4 +12,5 @@ reproject,2026-06-09,3083,HIGH,3;4,"Re-sweep after 2026-06-08 cleanup (#3049): n resample,2026-05-27,2543,MEDIUM,4,isort drift only: 4 multi-line parenthesised imports collapsed to single/one-per-line under line_length=100 (top-of-file scipy.ndimage + xrspatial.utils; local cupyx imports in _nan_aware_interp_cupy and _interp_block_cupy); two blank-line nits after import math in _run_dask_numpy/_run_dask_cupy. flake8 clean. Cat 5 grep clean. 169 resample tests pass. slope,2026-05-29,2685,HIGH,1;3;4,"F401 line 26 (VALID_BOUNDARY_MODES unused, not re-exported). E402+E305 line 48 (geodesic import block sat after _geodesic_cuda_dims; moved up to top-of-file imports). E501 line 260 (cupy kernel launch, 108 chars) wrapped. isort: consolidated/regrouped xrspatial imports (dataset_support, geodesic, utils). Cat 2 clean. Cat 5 grep clean. 41 slope + 21 geodesic_slope tests pass." viewshed,2026-05-29,2690,HIGH,1;4;5,"flake8 E127 x2 (L2013-2014 _viewshed_distance_sweep sig); isort .utils import reflow; shadowed builtin id->node_id (L1409,1474). Fixed via /rockout PR. No behavioural change." +visibility,2026-06-10,3182,MEDIUM,4,"flake8 baseline 0. Cat 4 isort only: from .utils import (...) 3-line block collapses to one 92-char line under line_length=100; deferred from .viewshed import alphabetised to INVISIBLE, viewshed. Cat 1/2/3/5 clean (grep: no bare except, mutable defaults, ==None/True, or shadowed builtins). Fixed by running isort; flake8+isort clean after fix; 25 visibility tests pass. PR via #3182." zonal,2026-05-27,2522,HIGH,1;3;4,"F401 not_implemented_func (line 42, only present on import line). E501 line 455 (dd.concat one-liner, 117 chars) wrapped across 3 lines. isort: consolidated xrspatial.utils block (merged has_dask_array, dropped not_implemented_func, alphabetised, trimmed extra blank line). Cat 5 grep clean. 125 zonal tests pass." diff --git a/xrspatial/visibility.py b/xrspatial/visibility.py index b4636cc5b..95781194a 100644 --- a/xrspatial/visibility.py +++ b/xrspatial/visibility.py @@ -16,9 +16,7 @@ import numpy as np import xarray -from .utils import ( - _validate_raster, has_cuda_and_cupy, has_dask_array, is_cupy_array, ngjit, -) +from .utils import _validate_raster, has_cuda_and_cupy, has_dask_array, is_cupy_array, ngjit SPEED_OF_LIGHT = 299_792_458.0 # m/s @@ -254,7 +252,7 @@ def cumulative_viewshed( Integer raster (int32) with the count of observers that have line-of-sight to each cell. """ - from .viewshed import viewshed, INVISIBLE + from .viewshed import INVISIBLE, viewshed _validate_raster(raster, func_name='cumulative_viewshed', name='raster') if not observers: