From 4aaf41d205b57f0162b935f54c7991349189ffc5 Mon Sep 17 00:00:00 2001 From: Rodrigo Almeida Date: Fri, 28 Jan 2022 14:54:58 +0100 Subject: [PATCH 01/10] lint is flake8 --- tox.ini | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/tox.ini b/tox.ini index e320750c..de54a3e1 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,6 @@ envlist = lint, format, - flake8, test [testenv:test] @@ -13,16 +12,6 @@ commands = [testenv:lint] basepython = python3 skip_install = true -deps = - isort - black -commands = - - isort --check-only --df . - - black --check --diff --color . - -[testenv:flake8] -basepython = python3 -skip_install = true deps = flake8 commands = - flake8 @@ -72,6 +61,7 @@ exclude = .tox max-line-length = 88 max-complexity = 10 +count=true [isort] profile = black From a0ac5a8a3eb8614bfb0dff777a559ca54baf4cfe Mon Sep 17 00:00:00 2001 From: Rodrigo Almeida Date: Fri, 28 Jan 2022 15:01:13 +0100 Subject: [PATCH 02/10] Remove - in order to not ignore exit code --- tox.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tox.ini b/tox.ini index de54a3e1..ebf74e37 100644 --- a/tox.ini +++ b/tox.ini @@ -14,7 +14,7 @@ basepython = python3 skip_install = true deps = flake8 commands = - - flake8 + flake8 . [testenv:format] basepython = python3 @@ -23,8 +23,8 @@ deps = isort black commands = - - isort . - - black . + isort . + black . [testenv:build] basepython = python3 From 66c831f2ecf1785fec9d4348f9de4c82993af85d Mon Sep 17 00:00:00 2001 From: Rodrigo Almeida Date: Fri, 28 Jan 2022 15:08:10 +0100 Subject: [PATCH 03/10] Add extended ignores for flake8 --- tox.ini | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index ebf74e37..695465d4 100644 --- a/tox.ini +++ b/tox.ini @@ -50,7 +50,12 @@ commands = [flake8] extend-ignore = - E203, + E203, # whitespace before ':' + E501, # line too long + F401, # imported but unused + C901, # is too complex + E402, # module level import not at top of file (for docs) + exclude = .git, __pycache__, From 731d979249bb0b1eb49ec7299de1d6bc7847e9cc Mon Sep 17 00:00:00 2001 From: Rodrigo Almeida Date: Mon, 31 Jan 2022 12:17:34 +0100 Subject: [PATCH 04/10] Rm unused vars --- solaris/eval/base.py | 1 - tests/test_eval/evaluator_test.py | 1 - 2 files changed, 2 deletions(-) diff --git a/solaris/eval/base.py b/solaris/eval/base.py index 7bb8806a..0a61a5cb 100644 --- a/solaris/eval/base.py +++ b/solaris/eval/base.py @@ -112,7 +112,6 @@ def eval_iou_spacenet_csv( self.ground_truth_GDF[iou_field] = 0.0 iou_index = self.ground_truth_GDF.columns.get_loc(iou_field) id_cols = 2 - ground_truth_ids = self.ground_truth_GDF.iloc[:, :id_cols] for imageID in tqdm(imageIDList): self.ground_truth_GDF_Edit = self.ground_truth_GDF[ diff --git a/tests/test_eval/evaluator_test.py b/tests/test_eval/evaluator_test.py index 0c52087f..6355cfca 100644 --- a/tests/test_eval/evaluator_test.py +++ b/tests/test_eval/evaluator_test.py @@ -86,7 +86,6 @@ def test_iou_by_building(self): path_truth = os.path.join(data_folder, "SN2_sample_truth.csv") path_pred = os.path.join(data_folder, "SN2_sample_preds.csv") path_ious = os.path.join(data_folder, "SN2_sample_iou_by_building.csv") - path_temp = "./temp.pd" eb = Evaluator(path_truth) eb.load_proposal(path_pred, conf_field_list=["Confidence"], proposalCSV=True) eb.eval_iou_spacenet_csv(miniou=0.5, imageIDField="ImageId", min_area=20) From 7b47c20c45eea9516ac489e1911bd72eeceebb00 Mon Sep 17 00:00:00 2001 From: Rodrigo Almeida Date: Mon, 31 Jan 2022 12:18:38 +0100 Subject: [PATCH 05/10] Remove extra # --- tests/test_data/test_coco.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_data/test_coco.py b/tests/test_data/test_coco.py index 02494667..f7c91ba9 100644 --- a/tests/test_data/test_coco.py +++ b/tests/test_data/test_coco.py @@ -23,7 +23,7 @@ def test_multiclass_single_geojson(self): expected_dict = json.load(f) with open(os.path.join(data_dir, "tmp_coco.json"), "r") as f: saved_result = json.load(f) - ## Simplified test due to rounding errors- JSS + # Simplified test due to rounding errors- JSS assert ( coco_dict["annotations"][0]["bbox"] == expected_dict["annotations"][0]["bbox"] @@ -62,7 +62,7 @@ def test_singleclass_multi_geojson(self): with open(os.path.join(data_dir, "coco_sample_1.json"), "r") as f: expected_dict = json.load(f) - ## Simplified test due to rounding errors- JSS + # Simplified test due to rounding errors- JSS assert ( expected_dict["annotations"][0]["bbox"] == coco_dict["annotations"][0]["bbox"] From b715ecdeb7b8feb37b7bf182e2d41e08039bbcbf Mon Sep 17 00:00:00 2001 From: Rodrigo Almeida Date: Mon, 31 Jan 2022 12:19:31 +0100 Subject: [PATCH 06/10] Rm unused var --- solaris/eval/base.py | 1 - 1 file changed, 1 deletion(-) diff --git a/solaris/eval/base.py b/solaris/eval/base.py index 0a61a5cb..53b08908 100644 --- a/solaris/eval/base.py +++ b/solaris/eval/base.py @@ -111,7 +111,6 @@ def eval_iou_spacenet_csv( scoring_dict_list = [] self.ground_truth_GDF[iou_field] = 0.0 iou_index = self.ground_truth_GDF.columns.get_loc(iou_field) - id_cols = 2 for imageID in tqdm(imageIDList): self.ground_truth_GDF_Edit = self.ground_truth_GDF[ From 82bc1718f12dbe2263ed04db3b059de9d8b6a9d4 Mon Sep 17 00:00:00 2001 From: Rodrigo Almeida Date: Mon, 31 Jan 2022 12:32:16 +0100 Subject: [PATCH 07/10] Add rio-cogeo dependency --- setup.py | 1 + solaris/tile/raster_tile.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 33bd7914..3de8cd71 100644 --- a/setup.py +++ b/setup.py @@ -52,6 +52,7 @@ def check_output(cmd): "pyproj>=2.1", "PyYAML>=5.4", "rasterio>=1.0.23", + "rio-cogeo>=3.0.2", "requests==2.22.0", "rtree>=0.9.3", "scikit-image>=0.16.2", diff --git a/solaris/tile/raster_tile.py b/solaris/tile/raster_tile.py index 841c79b8..d74db78d 100644 --- a/solaris/tile/raster_tile.py +++ b/solaris/tile/raster_tile.py @@ -8,7 +8,7 @@ from shapely.geometry import box from tqdm.auto import tqdm -# from rio_cogeo.cogeo import cog_validate, cog_translate +from rio_cogeo.cogeo import cog_translate # ,cog_validate from ..utils.core import _check_crs, _check_rasterio_im_load # removing the following until COG functionality is implemented From fc819996ffc5af1a7dc82882f31110e8351194b0 Mon Sep 17 00:00:00 2001 From: Rodrigo Almeida Date: Mon, 31 Jan 2022 12:35:58 +0100 Subject: [PATCH 08/10] Fix undefined variable, ignore ambigous name --- solaris/preproc/pipesegment.py | 2 +- tox.ini | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/solaris/preproc/pipesegment.py b/solaris/preproc/pipesegment.py index 00c335c6..d0a88f98 100644 --- a/solaris/preproc/pipesegment.py +++ b/solaris/preproc/pipesegment.py @@ -412,7 +412,7 @@ def PipeFunction(inner_class=PipeSegment, pin=(), *args, **kwargs): and *args and **kwargs are sent to the PipeSegment's constructor. """ psobject = inner_class(*args, **kwargs) - if issubclass(self.inner_class, LoadSegment): + if issubclass(self.inner_class, LoadSegment): # noqa: F821 return psobject() else: return (pin * psobject)() diff --git a/tox.ini b/tox.ini index 695465d4..256a464c 100644 --- a/tox.ini +++ b/tox.ini @@ -55,6 +55,7 @@ extend-ignore = F401, # imported but unused C901, # is too complex E402, # module level import not at top of file (for docs) + E741, # ambiguous variable name exclude = .git, From 9b648dd64606ae1aabc66031af3a40ea2a67f69d Mon Sep 17 00:00:00 2001 From: Rodrigo Almeida Date: Mon, 31 Jan 2022 12:39:06 +0100 Subject: [PATCH 09/10] Rm flake8 --- .github/workflows/tests.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f37f10e1..a6262baf 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -47,8 +47,6 @@ jobs: run: tox -e lint - name: Format with tox run: tox -e format - - name: Flake8 with tox - run: tox -e flake8 - name: Test with tox run: tox -e test From 63fbce32e180f130907b840908b5f2599566076c Mon Sep 17 00:00:00 2001 From: Rodrigo Almeida Date: Tue, 1 Feb 2022 13:28:01 +0100 Subject: [PATCH 10/10] Fix unused imports F401 --- docs/conf.py | 2 +- solaris/__init__.py | 2 +- solaris/eval/__init__.py | 2 +- solaris/preproc/__init__.py | 2 +- solaris/preproc/image.py | 2 +- solaris/preproc/label.py | 2 +- solaris/preproc/optical.py | 3 +-- solaris/preproc/sar.py | 3 +-- solaris/raster/__init__.py | 2 +- solaris/raster/image.py | 2 -- solaris/tile/__init__.py | 2 +- solaris/tile/raster_tile.py | 2 +- solaris/utils/__init__.py | 2 +- solaris/utils/tile.py | 6 ------ solaris/vector/__init__.py | 2 +- tests/test_cli/test_cli.py | 2 -- tests/test_imports.py | 1 + tests/test_raster/test_image.py | 5 +---- tox.ini | 1 - 19 files changed, 15 insertions(+), 30 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index f0eeee2a..48a37a50 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,7 +14,7 @@ import sys sys.path.insert(0, os.path.abspath("..")) -import numpy as np +import numpy as np # noqa: F401 import sphinx_bootstrap_theme # -- Project information ----------------------------------------------------- diff --git a/solaris/__init__.py b/solaris/__init__.py index e8e0fc12..cb4bdf79 100644 --- a/solaris/__init__.py +++ b/solaris/__init__.py @@ -1,4 +1,4 @@ -from . import data, utils, vector +from . import data, utils, vector # noqa: F401 # data, eval, preproc, raster, tile, have gdal in them need to replace with rasterio __version__ = "0.0.1" diff --git a/solaris/eval/__init__.py b/solaris/eval/__init__.py index f62093a2..dc24d18b 100644 --- a/solaris/eval/__init__.py +++ b/solaris/eval/__init__.py @@ -1 +1 @@ -from . import base, iou, pixel, vector +from . import base, iou, pixel, vector # noqa: F401 diff --git a/solaris/preproc/__init__.py b/solaris/preproc/__init__.py index b3ce3174..bd0a804c 100644 --- a/solaris/preproc/__init__.py +++ b/solaris/preproc/__init__.py @@ -1 +1 @@ -from . import image, label, optical, pipesegment, sar +from . import image, label, optical, pipesegment, sar # noqa: F401 diff --git a/solaris/preproc/image.py b/solaris/preproc/image.py index f358493b..47bf4463 100644 --- a/solaris/preproc/image.py +++ b/solaris/preproc/image.py @@ -9,7 +9,7 @@ import pandas as pd from osgeo import gdal_array -from .pipesegment import LoadSegment, MergeSegment, PipeSegment +from .pipesegment import LoadSegment, PipeSegment class Image: diff --git a/solaris/preproc/label.py b/solaris/preproc/label.py index 1fe510a2..012f15c8 100644 --- a/solaris/preproc/label.py +++ b/solaris/preproc/label.py @@ -4,7 +4,7 @@ import shapely.wkt from ..vector.polygon import convert_poly_coords -from .pipesegment import LoadSegment, MergeSegment, PipeSegment +from .pipesegment import LoadSegment, PipeSegment class LoadString(LoadSegment): diff --git a/solaris/preproc/optical.py b/solaris/preproc/optical.py index f26bd352..44007483 100644 --- a/solaris/preproc/optical.py +++ b/solaris/preproc/optical.py @@ -2,9 +2,8 @@ import numpy as np -from . import image from .image import Image -from .pipesegment import LoadSegment, MergeSegment, PipeSegment +from .pipesegment import PipeSegment class RGBToHSL(PipeSegment): diff --git a/solaris/preproc/sar.py b/solaris/preproc/sar.py index 23932bf3..a46add22 100644 --- a/solaris/preproc/sar.py +++ b/solaris/preproc/sar.py @@ -1,6 +1,5 @@ import json import math -import os import uuid import warnings import xml.etree.ElementTree as ET @@ -12,7 +11,7 @@ from . import image from .image import Image -from .pipesegment import LoadSegment, MergeSegment, PipeSegment +from .pipesegment import PipeSegment class BandMath(PipeSegment): diff --git a/solaris/raster/__init__.py b/solaris/raster/__init__.py index e82a84ad..be5d49c7 100644 --- a/solaris/raster/__init__.py +++ b/solaris/raster/__init__.py @@ -1 +1 @@ -from . import image +from . import image # noqa: F401 diff --git a/solaris/raster/image.py b/solaris/raster/image.py index 49237e26..cc751dc3 100644 --- a/solaris/raster/image.py +++ b/solaris/raster/image.py @@ -1,5 +1,3 @@ -import os - import numpy as np import rasterio diff --git a/solaris/tile/__init__.py b/solaris/tile/__init__.py index 08743baa..bfedeece 100644 --- a/solaris/tile/__init__.py +++ b/solaris/tile/__init__.py @@ -1 +1 @@ -from . import raster_tile, vector_tile +from . import raster_tile, vector_tile # noqa: F401 diff --git a/solaris/tile/raster_tile.py b/solaris/tile/raster_tile.py index d74db78d..ea7a3dd2 100644 --- a/solaris/tile/raster_tile.py +++ b/solaris/tile/raster_tile.py @@ -5,10 +5,10 @@ from rasterio.mask import mask as rasterio_mask from rasterio.vrt import WarpedVRT from rasterio.warp import Resampling, calculate_default_transform +from rio_cogeo.cogeo import cog_translate # ,cog_validate from shapely.geometry import box from tqdm.auto import tqdm -from rio_cogeo.cogeo import cog_translate # ,cog_validate from ..utils.core import _check_crs, _check_rasterio_im_load # removing the following until COG functionality is implemented diff --git a/solaris/utils/__init__.py b/solaris/utils/__init__.py index 1f7ae20a..49f839f8 100644 --- a/solaris/utils/__init__.py +++ b/solaris/utils/__init__.py @@ -1 +1 @@ -from . import cli, core, data, geo, io, tile +from . import cli, core, data, geo, io, tile # noqa: F401 diff --git a/solaris/utils/tile.py b/solaris/utils/tile.py index 06932eb3..3b34229e 100644 --- a/solaris/utils/tile.py +++ b/solaris/utils/tile.py @@ -1,11 +1,5 @@ import json -import geopandas as gpd -from affine import Affine -from rasterio.enums import Resampling -from rasterio.vrt import WarpedVRT -from rasterio.windows import Window - from .core import _check_crs # temporarily removing the below until I can get COG functionality implemented diff --git a/solaris/vector/__init__.py b/solaris/vector/__init__.py index 4323d396..9a4f4ccf 100644 --- a/solaris/vector/__init__.py +++ b/solaris/vector/__init__.py @@ -1 +1 @@ -from . import graph, mask, polygon +from . import graph, mask, polygon # noqa: F401 diff --git a/tests/test_cli/test_cli.py b/tests/test_cli/test_cli.py index ff74fddd..94f35cd9 100644 --- a/tests/test_cli/test_cli.py +++ b/tests/test_cli/test_cli.py @@ -1,8 +1,6 @@ import os -import pickle import subprocess -import networkx as nx import numpy as np import skimage.io diff --git a/tests/test_imports.py b/tests/test_imports.py index 72e52305..144606cf 100644 --- a/tests/test_imports.py +++ b/tests/test_imports.py @@ -1,3 +1,4 @@ +# flake8: noqa: F401 class TestImports(object): def test_imports(self): import solaris diff --git a/tests/test_raster/test_image.py b/tests/test_raster/test_image.py index 02527d9a..4b4e0a64 100644 --- a/tests/test_raster/test_image.py +++ b/tests/test_raster/test_image.py @@ -1,12 +1,9 @@ import os -import numpy as np -import skimage.io from affine import Affine -import solaris as sol from solaris.data import sample_load_rasterio -from solaris.raster.image import get_geo_transform, stitch_images +from solaris.raster.image import get_geo_transform data_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../data/")) diff --git a/tox.ini b/tox.ini index 256a464c..72f30073 100644 --- a/tox.ini +++ b/tox.ini @@ -52,7 +52,6 @@ commands = extend-ignore = E203, # whitespace before ':' E501, # line too long - F401, # imported but unused C901, # is too complex E402, # module level import not at top of file (for docs) E741, # ambiguous variable name