Files
geointel/artifacts/evidence/accuracy/P1/repository-ruff-baseline.txt
T

1089 lines
56 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
command=python -m ruff check backend scripts tests
exit_code=1
captured_at=2026-08-01T18:34:08.5284079+02:00
backend\app\models.py:1:1: F403 `from app.models import *` used; unable to detect undefined names
|
1 | from app.models import *
| ^^^^^^^^^^^^^^^^^^^^^^^^ F403
|
backend\app\schemas\__init__.py:101:5: F401 `.bathymetry.BathymetryRasterMetric` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
|
99 | BathymetryProfileAcquireRequest,
100 | BathymetryProfileAcquisitionResult,
101 | BathymetryRasterMetric,
| ^^^^^^^^^^^^^^^^^^^^^^ F401
102 | BathymetryRasterSelectionRequest,
103 | BathymetryRasterSelectionResponse,
|
= help: Add unused import `BathymetryRasterMetric` to __all__
backend\app\schemas\__init__.py:102:5: F401 `.bathymetry.BathymetryRasterSelectionRequest` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
|
100 | BathymetryProfileAcquisitionResult,
101 | BathymetryRasterMetric,
102 | BathymetryRasterSelectionRequest,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ F401
103 | BathymetryRasterSelectionResponse,
104 | BathymetryRasterSelectionSummary,
|
= help: Add unused import `BathymetryRasterSelectionRequest` to __all__
backend\app\schemas\__init__.py:103:5: F401 `.bathymetry.BathymetryRasterSelectionResponse` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
|
101 | BathymetryRasterMetric,
102 | BathymetryRasterSelectionRequest,
103 | BathymetryRasterSelectionResponse,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ F401
104 | BathymetryRasterSelectionSummary,
105 | BathymetrySourceProbeRead,
|
= help: Add unused import `BathymetryRasterSelectionResponse` to __all__
backend\app\schemas\__init__.py:104:5: F401 `.bathymetry.BathymetryRasterSelectionSummary` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
|
102 | BathymetryRasterSelectionRequest,
103 | BathymetryRasterSelectionResponse,
104 | BathymetryRasterSelectionSummary,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ F401
105 | BathymetrySourceProbeRead,
106 | BathymetrySourceRead,
|
= help: Add unused import `BathymetryRasterSelectionSummary` to __all__
backend\app\services\aoi_operation_executor.py:56:26: E702 Multiple statements on one line (semicolon)
|
54 | partition = db.get(AoiOperationPartition, partition.id)
55 | partition.child_job_id = child.id
56 | db.add(partition); db.commit()
| ^ E702
57 | JobService.mark_running(db, child.id)
58 | try:
|
backend\app\services\aoi_operation_service.py:210:37: E702 Multiple statements on one line (semicolon)
|
208 | return None
209 | now = datetime.now(timezone.utc)
210 | partition.status = "running"; partition.started_at = now; partition.attempt_count += 1; partition.error_message = None
| ^ E702
211 | operation.status = "running"; operation.started_at = operation.started_at or now
212 | db.add(partition); db.add(operation); db.commit(); db.refresh(partition)
|
backend\app\services\aoi_operation_service.py:210:65: E702 Multiple statements on one line (semicolon)
|
208 | return None
209 | now = datetime.now(timezone.utc)
210 | partition.status = "running"; partition.started_at = now; partition.attempt_count += 1; partition.error_message = None
| ^ E702
211 | operation.status = "running"; operation.started_at = operation.started_at or now
212 | db.add(partition); db.add(operation); db.commit(); db.refresh(partition)
|
backend\app\services\aoi_operation_service.py:210:95: E702 Multiple statements on one line (semicolon)
|
208 | return None
209 | now = datetime.now(timezone.utc)
210 | partition.status = "running"; partition.started_at = now; partition.attempt_count += 1; partition.error_message = None
| ^ E702
211 | operation.status = "running"; operation.started_at = operation.started_at or now
212 | db.add(partition); db.add(operation); db.commit(); db.refresh(partition)
|
backend\app\services\aoi_operation_service.py:211:37: E702 Multiple statements on one line (semicolon)
|
209 | now = datetime.now(timezone.utc)
210 | partition.status = "running"; partition.started_at = now; partition.attempt_count += 1; partition.error_message = None
211 | operation.status = "running"; operation.started_at = operation.started_at or now
| ^ E702
212 | db.add(partition); db.add(operation); db.commit(); db.refresh(partition)
213 | return partition
|
backend\app\services\aoi_operation_service.py:212:26: E702 Multiple statements on one line (semicolon)
|
210 | partition.status = "running"; partition.started_at = now; partition.attempt_count += 1; partition.error_message = None
211 | operation.status = "running"; operation.started_at = operation.started_at or now
212 | db.add(partition); db.add(operation); db.commit(); db.refresh(partition)
| ^ E702
213 | return partition
|
backend\app\services\aoi_operation_service.py:212:45: E702 Multiple statements on one line (semicolon)
|
210 | partition.status = "running"; partition.started_at = now; partition.attempt_count += 1; partition.error_message = None
211 | operation.status = "running"; operation.started_at = operation.started_at or now
212 | db.add(partition); db.add(operation); db.commit(); db.refresh(partition)
| ^ E702
213 | return partition
|
backend\app\services\aoi_operation_service.py:212:58: E702 Multiple statements on one line (semicolon)
|
210 | partition.status = "running"; partition.started_at = now; partition.attempt_count += 1; partition.error_message = None
211 | operation.status = "running"; operation.started_at = operation.started_at or now
212 | db.add(partition); db.add(operation); db.commit(); db.refresh(partition)
| ^ E702
213 | return partition
|
backend\app\services\aoi_operation_service.py:220:47: E702 Multiple statements on one line (semicolon)
|
218 | if partition.status != "running":
219 | raise AppError(code="AOI_PARTITION_NOT_RUNNING", message="Only a running partition can be checkpointed", status_code=409)
220 | partition.checkpoint_json = checkpoint; db.add(partition); db.commit(); db.refresh(partition)
| ^ E702
221 | return partition
|
backend\app\services\aoi_operation_service.py:220:66: E702 Multiple statements on one line (semicolon)
|
218 | if partition.status != "running":
219 | raise AppError(code="AOI_PARTITION_NOT_RUNNING", message="Only a running partition can be checkpointed", status_code=409)
220 | partition.checkpoint_json = checkpoint; db.add(partition); db.commit(); db.refresh(partition)
| ^ E702
221 | return partition
|
backend\app\services\aoi_operation_service.py:220:79: E702 Multiple statements on one line (semicolon)
|
218 | if partition.status != "running":
219 | raise AppError(code="AOI_PARTITION_NOT_RUNNING", message="Only a running partition can be checkpointed", status_code=409)
220 | partition.checkpoint_json = checkpoint; db.add(partition); db.commit(); db.refresh(partition)
| ^ E702
221 | return partition
|
backend\app\services\aoi_operation_service.py:230:63: E702 Multiple statements on one line (semicolon)
|
228 | … if partition.status != "running":
229 | … raise AppError(code="AOI_PARTITION_NOT_RUNNING", message="Only a running partition can complete", status_code=409)
230 | … partition.status = "skipped" if skipped else "success"; partition.result_json = result; partition.finished_at = datetime.now(ti…
| ^ E702
231 | … db.add(partition); db.commit(); AoiOperationService._refresh_parent(db, operation_id)
232 | … return AoiOperationService.read(db, project_id, operation_id)
|
backend\app\services\aoi_operation_service.py:230:95: E702 Multiple statements on one line (semicolon)
|
228 | … if partition.status != "running":
229 | … raise AppError(code="AOI_PARTITION_NOT_RUNNING", message="Only a running partition can complete", status_code=409)
230 | … partition.status = "skipped" if skipped else "success"; partition.result_json = result; partition.finished_at = datetime.now(ti…
| ^ E702
231 | … db.add(partition); db.commit(); AoiOperationService._refresh_parent(db, operation_id)
232 | … return AoiOperationService.read(db, project_id, operation_id)
|
backend\app\services\aoi_operation_service.py:231:26: E702 Multiple statements on one line (semicolon)
|
229 | … raise AppError(code="AOI_PARTITION_NOT_RUNNING", message="Only a running partition can complete", status_code=409)
230 | … partition.status = "skipped" if skipped else "success"; partition.result_json = result; partition.finished_at = datetime.now(ti…
231 | … db.add(partition); db.commit(); AoiOperationService._refresh_parent(db, operation_id)
| ^ E702
232 | … return AoiOperationService.read(db, project_id, operation_id)
|
backend\app\services\aoi_operation_service.py:231:39: E702 Multiple statements on one line (semicolon)
|
229 | … raise AppError(code="AOI_PARTITION_NOT_RUNNING", message="Only a running partition can complete", status_code=409)
230 | … partition.status = "skipped" if skipped else "success"; partition.result_json = result; partition.finished_at = datetime.now(ti…
231 | … db.add(partition); db.commit(); AoiOperationService._refresh_parent(db, operation_id)
| ^ E702
232 | … return AoiOperationService.read(db, project_id, operation_id)
|
backend\app\services\aoi_operation_service.py:237:42: E702 Multiple statements on one line (semicolon)
|
235 | def fail(db, project_id: UUID, operation_id: UUID, partition_id: UUID, message: str, retryable: bool, details: dict):
236 | partition = AoiOperationService._partition_row(db, project_id, operation_id, partition_id)
237 | partition.error_message = message; partition.result_json = {"details": details}
| ^ E702
238 | partition.status = "queued" if retryable and partition.attempt_count < partition.max_attempts else "failed"
239 | partition.finished_at = None if partition.status == "queued" else datetime.now(timezone.utc)
|
backend\app\services\aoi_operation_service.py:240:26: E702 Multiple statements on one line (semicolon)
|
238 | partition.status = "queued" if retryable and partition.attempt_count < partition.max_attempts else "failed"
239 | partition.finished_at = None if partition.status == "queued" else datetime.now(timezone.utc)
240 | db.add(partition); db.commit(); AoiOperationService._refresh_parent(db, operation_id)
| ^ E702
241 | return AoiOperationService.read(db, project_id, operation_id)
|
backend\app\services\aoi_operation_service.py:240:39: E702 Multiple statements on one line (semicolon)
|
238 | partition.status = "queued" if retryable and partition.attempt_count < partition.max_attempts else "failed"
239 | partition.finished_at = None if partition.status == "queued" else datetime.now(timezone.utc)
240 | db.add(partition); db.commit(); AoiOperationService._refresh_parent(db, operation_id)
| ^ E702
241 | return AoiOperationService.read(db, project_id, operation_id)
|
backend\app\services\aoi_operation_service.py:245:55: E702 Multiple statements on one line (semicolon)
|
243 | @staticmethod
244 | def _partition_row(db, project_id, operation_id, partition_id):
245 | operation = db.get(AoiOperation, operation_id); partition = db.get(AoiOperationPartition, partition_id)
| ^ E702
246 | if operation is None or operation.project_id != project_id or partition is None or partition.operation_id != operation_id:
247 | raise AppError(code="AOI_PARTITION_NOT_FOUND", message="AOI partition not found", status_code=404)
|
backend\app\services\aoi_operation_service.py:272:41: E702 Multiple statements on one line (semicolon)
|
270 | … now = datetime.now(timezone.utc)
271 | … if statuses and all(status in {"success", "skipped"} for status in statuses):
272 | … operation.status = "success"; operation.finished_at = now; operation.error_message = None
| ^ E702
273 | … elif "failed" in statuses and not any(status in {"queued", "running"} for status in statuses):
274 | … operation.status = "partial" if any(status in {"success", "skipped"} for status in statuses) else "failed"; operation.finis…
|
backend\app\services\aoi_operation_service.py:272:70: E702 Multiple statements on one line (semicolon)
|
270 | … now = datetime.now(timezone.utc)
271 | … if statuses and all(status in {"success", "skipped"} for status in statuses):
272 | … operation.status = "success"; operation.finished_at = now; operation.error_message = None
| ^ E702
273 | … elif "failed" in statuses and not any(status in {"queued", "running"} for status in statuses):
274 | … operation.status = "partial" if any(status in {"success", "skipped"} for status in statuses) else "failed"; operation.finis…
|
backend\app\services\aoi_operation_service.py:274:119: E702 Multiple statements on one line (semicolon)
|
272 | … operation.status = "success"; operation.finished_at = now; operation.error_message = None
273 | … elif "failed" in statuses and not any(status in {"queued", "running"} for status in statuses):
274 | … operation.status = "partial" if any(status in {"success", "skipped"} for status in statuses) else "failed"; operation.finis…
| ^ E702
275 | … operation.error_message = "One or more bounded source partitions failed; inspect partition evidence."
276 | … db.add(operation); db.commit()
|
backend\app\services\aoi_operation_service.py:276:26: E702 Multiple statements on one line (semicolon)
|
274 | … operation.status = "partial" if any(status in {"success", "skipped"} for status in statuses) else "failed"; operation.finis…
275 | … operation.error_message = "One or more bounded source partitions failed; inspect partition evidence."
276 | … db.add(operation); db.commit()
| ^ E702
|
backend\app\services\demo_workflow_service.py:253:9: F841 Local variable `rasterio` is assigned to but never used
|
251 | def _create_demo_raster_bytes() -> bytes:
252 | numpy = importlib.import_module("numpy")
253 | rasterio = importlib.import_module("rasterio")
| ^^^^^^^^ F841
254 | rasterio_io = importlib.import_module("rasterio.io")
255 | rasterio_transform = importlib.import_module("rasterio.transform")
|
= help: Remove assignment to unused variable `rasterio`
backend\app\services\detection_review_service.py:4:20: F401 [*] `typing.Any` imported but unused
|
3 | from collections import Counter
4 | from typing import Any
| ^^^ F401
5 | from uuid import UUID
|
= help: Remove unused import: `typing.Any`
backend\app\services\qa_service.py:14:30: F401 [*] `shapely.geometry.shape` imported but unused
|
12 | from shapely.ops import unary_union
13 | from shapely.validation import make_valid
14 | from shapely.geometry import shape
| ^^^^^ F401
15 | from app.core.errors import AppError
16 | from app.models import Area, Dataset
|
= help: Remove unused import: `shapely.geometry.shape`
backend\app\services\thematic_raster_acquisition_service.py:409:20: F401 `rasterio` imported but unused; consider using `importlib.util.find_spec` to test for availability
|
407 | return coverages[0]
408 | try:
409 | import rasterio
| ^^^^^^^^ F401
410 | from rasterio.io import MemoryFile
411 | from rasterio.merge import merge
|
= help: Remove unused import: `rasterio`
backend\scripts\cleanup_demo_artifacts.py:17:1: E402 Module level import not at top of file
|
15 | sys.path.insert(0, str(SCRIPTS_ROOT))
16 |
17 | from app.core.config import get_settings
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
18 | from app.db.session import SessionLocal
19 | from app.models import Export, Project
|
backend\scripts\cleanup_demo_artifacts.py:18:1: E402 Module level import not at top of file
|
17 | from app.core.config import get_settings
18 | from app.db.session import SessionLocal
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
19 | from app.models import Export, Project
20 | from release_backup_guard import require_confirmation, verify_current_backup
|
backend\scripts\cleanup_demo_artifacts.py:19:1: E402 Module level import not at top of file
|
17 | from app.core.config import get_settings
18 | from app.db.session import SessionLocal
19 | from app.models import Export, Project
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
20 | from release_backup_guard import require_confirmation, verify_current_backup
|
backend\scripts\cleanup_demo_artifacts.py:20:1: E402 Module level import not at top of file
|
18 | from app.db.session import SessionLocal
19 | from app.models import Export, Project
20 | from release_backup_guard import require_confirmation, verify_current_backup
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
|
backend\tests\test_auth.py:189:5: F841 Local variable `client` is assigned to but never used
|
188 | def test_guest_session_tokens_fail_closed_without_a_project_scope(monkeypatch) -> None:
189 | client = auth_client(monkeypatch, guest_access=True)
| ^^^^^^ F841
190 | settings = get_settings()
|
= help: Remove assignment to unused variable `client`
backend\tests\test_qa_service.py:5:19: F401 [*] `types.SimpleNamespace` imported but unused
|
3 | import json
4 | from pathlib import Path
5 | from types import SimpleNamespace
| ^^^^^^^^^^^^^^^ F401
6 | from uuid import uuid4
|
= help: Remove unused import: `types.SimpleNamespace`
backend\tests\test_qa_service.py:8:24: F401 [*] `app.models.Area` imported but unused
|
6 | from uuid import uuid4
7 |
8 | from app.models import Area, Dataset
| ^^^^ F401
9 | from app.services.qa_service import QaService
|
= help: Remove unused import: `app.models.Area`
backend\tests\test_raster_operations_service.py:3:19: F401 [*] `types.ModuleType` imported but unused
|
1 | from __future__ import annotations
2 |
3 | from types import ModuleType, SimpleNamespace
| ^^^^^^^^^^ F401
4 | from uuid import uuid4
5 | from pathlib import Path
|
= help: Remove unused import: `types.ModuleType`
backend\tests\test_sprint108_map_selection_derived_dataset.py:10:33: F401 [*] `app.models.VectorFeature` imported but unused
|
9 | from app.main import app
10 | from app.models import Dataset, VectorFeature
| ^^^^^^^^^^^^^ F401
11 | from app.schemas.dataset import DatasetCreateResponse
12 | from app.services.storage_service import StorageService
|
= help: Remove unused import: `app.models.VectorFeature`
backend\tests\test_sprint205_agricultural_parcel_history.py:4:8: F401 [*] `json` imported but unused
|
3 | import importlib.util
4 | import json
| ^^^^ F401
5 | import sys
6 | import zipfile
|
= help: Remove unused import: `json`
backend\tests\test_sprint205_agricultural_parcel_history.py:79:9: F811 Redefinition of unused `json` from line 4
|
77 | self.data = data
78 |
79 | def json(self):
| ^^^^ F811
80 | return {"data": self.data}
|
= help: Remove definition: `json`
backend\tests\test_sprint213_thematic_rasters.py:10:8: F401 [*] `rasterio` imported but unused
|
8 | import numpy as np
9 | import pytest
10 | import rasterio
| ^^^^^^^^ F401
11 | from fastapi.testclient import TestClient
12 | from pyproj import Transformer
|
= help: Remove unused import: `rasterio`
backend\tests\test_sprint233_operational_completion.py:5:19: F401 [*] `types.SimpleNamespace` imported but unused
|
3 | import json
4 | from pathlib import Path
5 | from types import SimpleNamespace
| ^^^^^^^^^^^^^^^ F401
6 | from uuid import uuid4
|
= help: Remove unused import: `types.SimpleNamespace`
backend\tests\test_sprint236_bathymetry_expansion.py:4:8: F401 [*] `json` imported but unused
|
3 | from datetime import UTC, datetime
4 | import json
| ^^^^ F401
5 | from pathlib import Path
6 | import ssl
|
= help: Remove unused import: `json`
backend\tests\test_sprint236_bathymetry_expansion.py:59:9: F811 Redefinition of unused `json` from line 4
|
57 | return None
58 |
59 | def json(self):
| ^^^^ F811
60 | return self.payload
|
= help: Remove definition: `json`
backend\tests\test_sprint241_spw_bathymetry_raster.py:4:8: F401 [*] `io` imported but unused
|
3 | import importlib.util
4 | import io
| ^^ F401
5 | from pathlib import Path
6 | import sys
|
= help: Remove unused import: `io`
backend\tests\test_vector_operations_service.py:4:19: F401 [*] `types.SimpleNamespace` imported but unused
|
3 | from pathlib import Path
4 | from types import SimpleNamespace
| ^^^^^^^^^^^^^^^ F401
5 | from uuid import UUID, uuid4
|
= help: Remove unused import: `types.SimpleNamespace`
scripts\archive_technical_projects.py:20:1: E402 Module level import not at top of file
|
18 | sys.path.insert(0, str(BACKEND_ROOT))
19 |
20 | from app.db.session import SessionLocal
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
21 | from app.models import Project
|
scripts\archive_technical_projects.py:21:1: E402 Module level import not at top of file
|
20 | from app.db.session import SessionLocal
21 | from app.models import Project
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
|
scripts\audit_data_operations.py:23:1: E402 Module level import not at top of file
|
21 | sys.path.insert(0, str(BACKEND_ROOT))
22 |
23 | from app.core.config import get_settings
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
24 | from app.db.session import SessionLocal
25 | from sqlalchemy import func
|
scripts\audit_data_operations.py:24:1: E402 Module level import not at top of file
|
23 | from app.core.config import get_settings
24 | from app.db.session import SessionLocal
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
25 | from sqlalchemy import func
|
scripts\audit_data_operations.py:25:1: E402 Module level import not at top of file
|
23 | from app.core.config import get_settings
24 | from app.db.session import SessionLocal
25 | from sqlalchemy import func
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
26 |
27 | from app.models import AnalysisRun, Dataset, DatasetVersion, Detection, Export, Job, Project, Segmentation
|
scripts\audit_data_operations.py:27:1: E402 Module level import not at top of file
|
25 | from sqlalchemy import func
26 |
27 | from app.models import AnalysisRun, Dataset, DatasetVersion, Detection, Export, Job, Project, Segmentation
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
|
scripts\build_building_proposal_classifier_dataset.py:20:1: E402 Module level import not at top of file
|
18 | sys.path.insert(0, str(SCRIPT_DIR))
19 |
20 | from evaluate_belgium_building_candidate import iou, read_references
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
|
scripts\create_portfolio_case_study.py:127:26: E702 Multiple statements on one line (semicolon)
|
126 | def draw_challenge(c: canvas.Canvas) -> None:
127 | c.setFillColor(white); c.rect(0, 0, W, H, fill=1, stroke=0)
| ^ E702
128 | title(c, "01 / Productvraag", "Niet alleen zien, maar kunnen verdedigen")
129 | y = paragraph(c, "Geoportalen tonen vaak lagen en losse metingen. GeoIntel maakt van bron, gebied, analyse en bewijs één operatio…
|
scripts\create_portfolio_case_study.py:137:29: E702 Multiple statements on one line (semicolon)
|
135 | for index, (num, head, body) in enumerate(cards):
136 | cy = y - 42 - index * 78
137 | c.setFillColor(PALE); c.roundRect(42, cy - 54, 330, 64, 10, fill=1, stroke=0)
| ^ E702
138 | c.setFillColor(TEAL); c.setFont(FONT_BOLD, 8); c.drawString(56, cy - 6, num)
139 | c.setFillColor(INK); c.setFont(FONT_BOLD, 11); c.drawString(86, cy - 7, head)
|
scripts\create_portfolio_case_study.py:138:29: E702 Multiple statements on one line (semicolon)
|
136 | cy = y - 42 - index * 78
137 | c.setFillColor(PALE); c.roundRect(42, cy - 54, 330, 64, 10, fill=1, stroke=0)
138 | c.setFillColor(TEAL); c.setFont(FONT_BOLD, 8); c.drawString(56, cy - 6, num)
| ^ E702
139 | c.setFillColor(INK); c.setFont(FONT_BOLD, 11); c.drawString(86, cy - 7, head)
140 | paragraph(c, body, 86, cy - 18, 266, 8.2, MUTED, 12)
|
scripts\create_portfolio_case_study.py:138:54: E702 Multiple statements on one line (semicolon)
|
136 | cy = y - 42 - index * 78
137 | c.setFillColor(PALE); c.roundRect(42, cy - 54, 330, 64, 10, fill=1, stroke=0)
138 | c.setFillColor(TEAL); c.setFont(FONT_BOLD, 8); c.drawString(56, cy - 6, num)
| ^ E702
139 | c.setFillColor(INK); c.setFont(FONT_BOLD, 11); c.drawString(86, cy - 7, head)
140 | paragraph(c, body, 86, cy - 18, 266, 8.2, MUTED, 12)
|
scripts\create_portfolio_case_study.py:139:28: E702 Multiple statements on one line (semicolon)
|
137 | c.setFillColor(PALE); c.roundRect(42, cy - 54, 330, 64, 10, fill=1, stroke=0)
138 | c.setFillColor(TEAL); c.setFont(FONT_BOLD, 8); c.drawString(56, cy - 6, num)
139 | c.setFillColor(INK); c.setFont(FONT_BOLD, 11); c.drawString(86, cy - 7, head)
| ^ E702
140 | paragraph(c, body, 86, cy - 18, 266, 8.2, MUTED, 12)
141 | image_cover(c, ASSETS / "geointel-landing-hero.png", 410, 53, 385, 415)
|
scripts\create_portfolio_case_study.py:139:54: E702 Multiple statements on one line (semicolon)
|
137 | c.setFillColor(PALE); c.roundRect(42, cy - 54, 330, 64, 10, fill=1, stroke=0)
138 | c.setFillColor(TEAL); c.setFont(FONT_BOLD, 8); c.drawString(56, cy - 6, num)
139 | c.setFillColor(INK); c.setFont(FONT_BOLD, 11); c.drawString(86, cy - 7, head)
| ^ E702
140 | paragraph(c, body, 86, cy - 18, 266, 8.2, MUTED, 12)
141 | image_cover(c, ASSETS / "geointel-landing-hero.png", 410, 53, 385, 415)
|
scripts\create_portfolio_case_study.py:146:40: E702 Multiple statements on one line (semicolon)
|
145 | def draw_experience(c: canvas.Canvas) -> None:
146 | c.setFillColor(HexColor("#f5faf8")); c.rect(0, 0, W, H, fill=1, stroke=0)
| ^ E702
147 | title(c, "02 / Experience design", "De kaart blijft het werkblad", "Rustige hiërarchie, zichtbare herkomst en bewijs op het momen…
148 | image_cover(c, ASSETS / "geointel-workbench-map.png", 42, 73, 485, 360)
|
scripts\create_portfolio_case_study.py:157:24: E702 Multiple statements on one line (semicolon)
|
156 | def draw_ai(c: canvas.Canvas) -> None:
157 | c.setFillColor(INK); c.rect(0, 0, W, H, fill=1, stroke=0)
| ^ E702
158 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "03 / PYTORCH + NVIDIA")
159 | c.setFillColor(white); c.setFont(FONT_BOLD, 25); c.drawString(42, H - 78, "Van bronpixel naar gecontroleerde detectie")
|
scripts\create_portfolio_case_study.py:158:25: E702 Multiple statements on one line (semicolon)
|
156 | def draw_ai(c: canvas.Canvas) -> None:
157 | c.setFillColor(INK); c.rect(0, 0, W, H, fill=1, stroke=0)
158 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "03 / PYTORCH + NVIDIA")
| ^ E702
159 | c.setFillColor(white); c.setFont(FONT_BOLD, 25); c.drawString(42, H - 78, "Van bronpixel naar gecontroleerde detectie")
160 | c.setFillColor(HexColor("#b8d4cd")); c.setFont(FONT, 9); c.drawString(42, H - 99, "Elke schakel bewaart de context die nodig is o…
|
scripts\create_portfolio_case_study.py:158:50: E702 Multiple statements on one line (semicolon)
|
156 | def draw_ai(c: canvas.Canvas) -> None:
157 | c.setFillColor(INK); c.rect(0, 0, W, H, fill=1, stroke=0)
158 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "03 / PYTORCH + NVIDIA")
| ^ E702
159 | c.setFillColor(white); c.setFont(FONT_BOLD, 25); c.drawString(42, H - 78, "Van bronpixel naar gecontroleerde detectie")
160 | c.setFillColor(HexColor("#b8d4cd")); c.setFont(FONT, 9); c.drawString(42, H - 99, "Elke schakel bewaart de context die nodig is o…
|
scripts\create_portfolio_case_study.py:159:26: E702 Multiple statements on one line (semicolon)
|
157 | c.setFillColor(INK); c.rect(0, 0, W, H, fill=1, stroke=0)
158 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "03 / PYTORCH + NVIDIA")
159 | c.setFillColor(white); c.setFont(FONT_BOLD, 25); c.drawString(42, H - 78, "Van bronpixel naar gecontroleerde detectie")
| ^ E702
160 | c.setFillColor(HexColor("#b8d4cd")); c.setFont(FONT, 9); c.drawString(42, H - 99, "Elke schakel bewaart de context die nodig is o…
161 | stages = [
|
scripts\create_portfolio_case_study.py:159:52: E702 Multiple statements on one line (semicolon)
|
157 | c.setFillColor(INK); c.rect(0, 0, W, H, fill=1, stroke=0)
158 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "03 / PYTORCH + NVIDIA")
159 | c.setFillColor(white); c.setFont(FONT_BOLD, 25); c.drawString(42, H - 78, "Van bronpixel naar gecontroleerde detectie")
| ^ E702
160 | c.setFillColor(HexColor("#b8d4cd")); c.setFont(FONT, 9); c.drawString(42, H - 99, "Elke schakel bewaart de context die nodig is o…
161 | stages = [
|
scripts\create_portfolio_case_study.py:160:40: E702 Multiple statements on one line (semicolon)
|
158 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "03 / PYTORCH + NVIDIA")
159 | c.setFillColor(white); c.setFont(FONT_BOLD, 25); c.drawString(42, H - 78, "Van bronpixel naar gecontroleerde detectie")
160 | c.setFillColor(HexColor("#b8d4cd")); c.setFont(FONT, 9); c.drawString(42, H - 99, "Elke schakel bewaart de context die nodig is o…
| ^ E702
161 | stages = [
162 | ("01", "Orthofoto", "CRS + dekking"),
|
scripts\create_portfolio_case_study.py:160:60: E702 Multiple statements on one line (semicolon)
|
158 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "03 / PYTORCH + NVIDIA")
159 | c.setFillColor(white); c.setFont(FONT_BOLD, 25); c.drawString(42, H - 78, "Van bronpixel naar gecontroleerde detectie")
160 | c.setFillColor(HexColor("#b8d4cd")); c.setFont(FONT, 9); c.drawString(42, H - 99, "Elke schakel bewaart de context die nodig is o…
| ^ E702
161 | stages = [
162 | ("01", "Orthofoto", "CRS + dekking"),
|
scripts\create_portfolio_case_study.py:169:42: E702 Multiple statements on one line (semicolon)
|
167 | ]
168 | x0, gap, bw = 42, 13, 139
169 | c.setStrokeColor(HexColor("#4bb99f")); c.setLineWidth(2); c.line(95, 285, 746, 285)
| ^ E702
170 | for i, (num, head, body) in enumerate(stages):
171 | x = x0 + i * (bw + gap)
|
scripts\create_portfolio_case_study.py:169:61: E702 Multiple statements on one line (semicolon)
|
167 | ]
168 | x0, gap, bw = 42, 13, 139
169 | c.setStrokeColor(HexColor("#4bb99f")); c.setLineWidth(2); c.line(95, 285, 746, 285)
| ^ E702
170 | for i, (num, head, body) in enumerate(stages):
171 | x = x0 + i * (bw + gap)
|
scripts\create_portfolio_case_study.py:172:44: E702 Multiple statements on one line (semicolon)
|
170 | for i, (num, head, body) in enumerate(stages):
171 | x = x0 + i * (bw + gap)
172 | c.setFillColor(HexColor("#12443d")); c.roundRect(x, 205, bw, 160, 12, fill=1, stroke=0)
| ^ E702
173 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(x + 14, 340, num)
174 | c.setFillColor(white); c.setFont(FONT_BOLD, 10); c.drawString(x + 14, 295, head)
|
scripts\create_portfolio_case_study.py:173:29: E702 Multiple statements on one line (semicolon)
|
171 | x = x0 + i * (bw + gap)
172 | c.setFillColor(HexColor("#12443d")); c.roundRect(x, 205, bw, 160, 12, fill=1, stroke=0)
173 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(x + 14, 340, num)
| ^ E702
174 | c.setFillColor(white); c.setFont(FONT_BOLD, 10); c.drawString(x + 14, 295, head)
175 | c.setFillColor(HexColor("#9fc9bf")); c.setFont(FONT, 7.4); c.drawString(x + 14, 275, body)
|
scripts\create_portfolio_case_study.py:173:54: E702 Multiple statements on one line (semicolon)
|
171 | x = x0 + i * (bw + gap)
172 | c.setFillColor(HexColor("#12443d")); c.roundRect(x, 205, bw, 160, 12, fill=1, stroke=0)
173 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(x + 14, 340, num)
| ^ E702
174 | c.setFillColor(white); c.setFont(FONT_BOLD, 10); c.drawString(x + 14, 295, head)
175 | c.setFillColor(HexColor("#9fc9bf")); c.setFont(FONT, 7.4); c.drawString(x + 14, 275, body)
|
scripts\create_portfolio_case_study.py:174:30: E702 Multiple statements on one line (semicolon)
|
172 | c.setFillColor(HexColor("#12443d")); c.roundRect(x, 205, bw, 160, 12, fill=1, stroke=0)
173 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(x + 14, 340, num)
174 | c.setFillColor(white); c.setFont(FONT_BOLD, 10); c.drawString(x + 14, 295, head)
| ^ E702
175 | c.setFillColor(HexColor("#9fc9bf")); c.setFont(FONT, 7.4); c.drawString(x + 14, 275, body)
176 | c.setFillColor(MINT if i < 3 else AMBER); c.circle(x + bw / 2, 230, 6, fill=1, stroke=0)
|
scripts\create_portfolio_case_study.py:174:56: E702 Multiple statements on one line (semicolon)
|
172 | c.setFillColor(HexColor("#12443d")); c.roundRect(x, 205, bw, 160, 12, fill=1, stroke=0)
173 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(x + 14, 340, num)
174 | c.setFillColor(white); c.setFont(FONT_BOLD, 10); c.drawString(x + 14, 295, head)
| ^ E702
175 | c.setFillColor(HexColor("#9fc9bf")); c.setFont(FONT, 7.4); c.drawString(x + 14, 275, body)
176 | c.setFillColor(MINT if i < 3 else AMBER); c.circle(x + bw / 2, 230, 6, fill=1, stroke=0)
|
scripts\create_portfolio_case_study.py:175:44: E702 Multiple statements on one line (semicolon)
|
173 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(x + 14, 340, num)
174 | c.setFillColor(white); c.setFont(FONT_BOLD, 10); c.drawString(x + 14, 295, head)
175 | c.setFillColor(HexColor("#9fc9bf")); c.setFont(FONT, 7.4); c.drawString(x + 14, 275, body)
| ^ E702
176 | c.setFillColor(MINT if i < 3 else AMBER); c.circle(x + bw / 2, 230, 6, fill=1, stroke=0)
177 | paragraph(c, "Fail-closed runtime: wanneer CUDA vereist maar niet beschikbaar is, of wanneer een lokaal model ontbreekt, toont Ge…
|
scripts\create_portfolio_case_study.py:175:66: E702 Multiple statements on one line (semicolon)
|
173 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(x + 14, 340, num)
174 | c.setFillColor(white); c.setFont(FONT_BOLD, 10); c.drawString(x + 14, 295, head)
175 | c.setFillColor(HexColor("#9fc9bf")); c.setFont(FONT, 7.4); c.drawString(x + 14, 275, body)
| ^ E702
176 | c.setFillColor(MINT if i < 3 else AMBER); c.circle(x + bw / 2, 230, 6, fill=1, stroke=0)
177 | paragraph(c, "Fail-closed runtime: wanneer CUDA vereist maar niet beschikbaar is, of wanneer een lokaal model ontbreekt, toont Ge…
|
scripts\create_portfolio_case_study.py:176:49: E702 Multiple statements on one line (semicolon)
|
174 | c.setFillColor(white); c.setFont(FONT_BOLD, 10); c.drawString(x + 14, 295, head)
175 | c.setFillColor(HexColor("#9fc9bf")); c.setFont(FONT, 7.4); c.drawString(x + 14, 275, body)
176 | c.setFillColor(MINT if i < 3 else AMBER); c.circle(x + bw / 2, 230, 6, fill=1, stroke=0)
| ^ E702
177 | paragraph(c, "Fail-closed runtime: wanneer CUDA vereist maar niet beschikbaar is, of wanneer een lokaal model ontbreekt, toont Ge…
178 | footer(c, 4)
|
scripts\create_portfolio_case_study.py:182:26: E702 Multiple statements on one line (semicolon)
|
181 | def draw_architecture(c: canvas.Canvas) -> None:
182 | c.setFillColor(white); c.rect(0, 0, W, H, fill=1, stroke=0)
| ^ E702
183 | title(c, "04 / Architectuur", "Eén keten, expliciete verantwoordelijkheden")
184 | nodes = [
|
scripts\create_portfolio_case_study.py:193:79: E702 Multiple statements on one line (semicolon)
|
191 | ]
192 | for x, y, w, h, head, body in nodes:
193 | c.setFillColor(PALE if "PyTorch" not in head else HexColor("#0d5047")); c.roundRect(x, y, w, h, 10, fill=1, stroke=0)
| ^ E702
194 | c.setFillColor(white if "PyTorch" in head else INK); c.setFont(FONT_BOLD, 9); c.drawString(x + 12, y + 39, head)
195 | c.setFillColor(HexColor("#b9d8d0") if "PyTorch" in head else MUTED); c.setFont(FONT, 7.2); c.drawString(x + 12, y + 21, body)
|
scripts\create_portfolio_case_study.py:194:60: E702 Multiple statements on one line (semicolon)
|
192 | for x, y, w, h, head, body in nodes:
193 | c.setFillColor(PALE if "PyTorch" not in head else HexColor("#0d5047")); c.roundRect(x, y, w, h, 10, fill=1, stroke=0)
194 | c.setFillColor(white if "PyTorch" in head else INK); c.setFont(FONT_BOLD, 9); c.drawString(x + 12, y + 39, head)
| ^ E702
195 | c.setFillColor(HexColor("#b9d8d0") if "PyTorch" in head else MUTED); c.setFont(FONT, 7.2); c.drawString(x + 12, y + 21, body)
196 | c.setStrokeColor(TEAL); c.setLineWidth(1.5)
|
scripts\create_portfolio_case_study.py:194:85: E702 Multiple statements on one line (semicolon)
|
192 | for x, y, w, h, head, body in nodes:
193 | c.setFillColor(PALE if "PyTorch" not in head else HexColor("#0d5047")); c.roundRect(x, y, w, h, 10, fill=1, stroke=0)
194 | c.setFillColor(white if "PyTorch" in head else INK); c.setFont(FONT_BOLD, 9); c.drawString(x + 12, y + 39, head)
| ^ E702
195 | c.setFillColor(HexColor("#b9d8d0") if "PyTorch" in head else MUTED); c.setFont(FONT, 7.2); c.drawString(x + 12, y + 21, body)
196 | c.setStrokeColor(TEAL); c.setLineWidth(1.5)
|
scripts\create_portfolio_case_study.py:195:76: E702 Multiple statements on one line (semicolon)
|
193 | c.setFillColor(PALE if "PyTorch" not in head else HexColor("#0d5047")); c.roundRect(x, y, w, h, 10, fill=1, stroke=0)
194 | c.setFillColor(white if "PyTorch" in head else INK); c.setFont(FONT_BOLD, 9); c.drawString(x + 12, y + 39, head)
195 | c.setFillColor(HexColor("#b9d8d0") if "PyTorch" in head else MUTED); c.setFont(FONT, 7.2); c.drawString(x + 12, y + 21, body)
| ^ E702
196 | c.setStrokeColor(TEAL); c.setLineWidth(1.5)
197 | arrows = [((185,303),(220,303)),((350,303),(385,388)),((350,303),(385,218)),((535,388),(645,336)),((535,218),(570,303)),((645,270…
|
scripts\create_portfolio_case_study.py:195:98: E702 Multiple statements on one line (semicolon)
|
193 | c.setFillColor(PALE if "PyTorch" not in head else HexColor("#0d5047")); c.roundRect(x, y, w, h, 10, fill=1, stroke=0)
194 | c.setFillColor(white if "PyTorch" in head else INK); c.setFont(FONT_BOLD, 9); c.drawString(x + 12, y + 39, head)
195 | c.setFillColor(HexColor("#b9d8d0") if "PyTorch" in head else MUTED); c.setFont(FONT, 7.2); c.drawString(x + 12, y + 21, body)
| ^ E702
196 | c.setStrokeColor(TEAL); c.setLineWidth(1.5)
197 | arrows = [((185,303),(220,303)),((350,303),(385,388)),((350,303),(385,218)),((535,388),(645,336)),((535,218),(570,303)),((645,270…
|
scripts\create_portfolio_case_study.py:196:27: E702 Multiple statements on one line (semicolon)
|
194 | c.setFillColor(white if "PyTorch" in head else INK); c.setFont(FONT_BOLD, 9); c.drawString(x + 12, y + 39, head)
195 | c.setFillColor(HexColor("#b9d8d0") if "PyTorch" in head else MUTED); c.setFont(FONT, 7.2); c.drawString(x + 12, y + 21, body)
196 | c.setStrokeColor(TEAL); c.setLineWidth(1.5)
| ^ E702
197 | arrows = [((185,303),(220,303)),((350,303),(385,388)),((350,303),(385,218)),((535,388),(645,336)),((535,218),(570,303)),((645,270…
198 | for (x1,y1),(x2,y2) in arrows:
|
scripts\create_portfolio_case_study.py:199:28: E702 Multiple statements on one line (semicolon)
|
197 | arrows = [((185,303),(220,303)),((350,303),(385,388)),((350,303),(385,218)),((535,388),(645,336)),((535,218),(570,303)),((645,270…
198 | for (x1,y1),(x2,y2) in arrows:
199 | c.line(x1,y1,x2,y2); c.circle(x2,y2,2.5,fill=1,stroke=0)
| ^ E702
200 | paragraph(c, "PostGIS bewaart querybare geometrie en lifecycle-records. Grote raster-, mask- en modelbestanden blijven versioned …
201 | footer(c, 5)
|
scripts\create_portfolio_case_study.py:206:40: E702 Multiple statements on one line (semicolon)
|
204 | def draw_outcomes(c: canvas.Canvas) -> None:
205 | image_cover(c, PUBLIC / "geointel-dark-case-study-cover.png", 0, 0, W, H)
206 | c.setFillColor(HexColor("#041d19")); c.rect(0, 0, W, H, fill=1, stroke=0)
| ^ E702
207 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "05 / RESULTAAT")
208 | c.setFillColor(white); c.setFont(FONT_BOLD, 27); c.drawString(42, H - 82, "Een professionele GeoAI-workbench")
|
scripts\create_portfolio_case_study.py:207:25: E702 Multiple statements on one line (semicolon)
|
205 | image_cover(c, PUBLIC / "geointel-dark-case-study-cover.png", 0, 0, W, H)
206 | c.setFillColor(HexColor("#041d19")); c.rect(0, 0, W, H, fill=1, stroke=0)
207 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "05 / RESULTAAT")
| ^ E702
208 | c.setFillColor(white); c.setFont(FONT_BOLD, 27); c.drawString(42, H - 82, "Een professionele GeoAI-workbench")
209 | c.setFillColor(HexColor("#c0dad4")); c.setFont(FONT, 10); c.drawString(42, H - 104, "Nationaal/maritiem van scope, lokaal control…
|
scripts\create_portfolio_case_study.py:207:50: E702 Multiple statements on one line (semicolon)
|
205 | image_cover(c, PUBLIC / "geointel-dark-case-study-cover.png", 0, 0, W, H)
206 | c.setFillColor(HexColor("#041d19")); c.rect(0, 0, W, H, fill=1, stroke=0)
207 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "05 / RESULTAAT")
| ^ E702
208 | c.setFillColor(white); c.setFont(FONT_BOLD, 27); c.drawString(42, H - 82, "Een professionele GeoAI-workbench")
209 | c.setFillColor(HexColor("#c0dad4")); c.setFont(FONT, 10); c.drawString(42, H - 104, "Nationaal/maritiem van scope, lokaal control…
|
scripts\create_portfolio_case_study.py:208:26: E702 Multiple statements on one line (semicolon)
|
206 | c.setFillColor(HexColor("#041d19")); c.rect(0, 0, W, H, fill=1, stroke=0)
207 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "05 / RESULTAAT")
208 | c.setFillColor(white); c.setFont(FONT_BOLD, 27); c.drawString(42, H - 82, "Een professionele GeoAI-workbench")
| ^ E702
209 | c.setFillColor(HexColor("#c0dad4")); c.setFont(FONT, 10); c.drawString(42, H - 104, "Nationaal/maritiem van scope, lokaal control…
210 | outcomes = [
|
scripts\create_portfolio_case_study.py:208:52: E702 Multiple statements on one line (semicolon)
|
206 | c.setFillColor(HexColor("#041d19")); c.rect(0, 0, W, H, fill=1, stroke=0)
207 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "05 / RESULTAAT")
208 | c.setFillColor(white); c.setFont(FONT_BOLD, 27); c.drawString(42, H - 82, "Een professionele GeoAI-workbench")
| ^ E702
209 | c.setFillColor(HexColor("#c0dad4")); c.setFont(FONT, 10); c.drawString(42, H - 104, "Nationaal/maritiem van scope, lokaal control…
210 | outcomes = [
|
scripts\create_portfolio_case_study.py:209:40: E702 Multiple statements on one line (semicolon)
|
207 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "05 / RESULTAAT")
208 | c.setFillColor(white); c.setFont(FONT_BOLD, 27); c.drawString(42, H - 82, "Een professionele GeoAI-workbench")
209 | c.setFillColor(HexColor("#c0dad4")); c.setFont(FONT, 10); c.drawString(42, H - 104, "Nationaal/maritiem van scope, lokaal control…
| ^ E702
210 | outcomes = [
211 | ("Map-first", "De gebruiker blijft in dezelfde ruimtelijke context."),
|
scripts\create_portfolio_case_study.py:209:61: E702 Multiple statements on one line (semicolon)
|
207 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 8); c.drawString(42, H - 44, "05 / RESULTAAT")
208 | c.setFillColor(white); c.setFont(FONT_BOLD, 27); c.drawString(42, H - 82, "Een professionele GeoAI-workbench")
209 | c.setFillColor(HexColor("#c0dad4")); c.setFont(FONT, 10); c.drawString(42, H - 104, "Nationaal/maritiem van scope, lokaal control…
| ^ E702
210 | outcomes = [
211 | ("Map-first", "De gebruiker blijft in dezelfde ruimtelijke context."),
|
scripts\create_portfolio_case_study.py:219:44: E702 Multiple statements on one line (semicolon)
|
217 | x = 42 + (i % 2) * 375
218 | y = 330 - (i // 2) * 105
219 | c.setFillColor(HexColor("#123f38")); c.roundRect(x, y, 350, 78, 11, fill=1, stroke=0)
| ^ E702
220 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 11); c.drawString(x + 16, y + 48, head)
221 | paragraph(c, body, x + 16, y + 38, 316, 8, HexColor("#b8d2cc"), 12)
|
scripts\create_portfolio_case_study.py:220:29: E702 Multiple statements on one line (semicolon)
|
218 | y = 330 - (i // 2) * 105
219 | c.setFillColor(HexColor("#123f38")); c.roundRect(x, y, 350, 78, 11, fill=1, stroke=0)
220 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 11); c.drawString(x + 16, y + 48, head)
| ^ E702
221 | paragraph(c, body, x + 16, y + 38, 316, 8, HexColor("#b8d2cc"), 12)
222 | c.setFillColor(white); c.setFont(FONT_BOLD, 11); c.drawString(42, 58, "GeoIntel · Jens / ITWorx.tech")
|
scripts\create_portfolio_case_study.py:220:55: E702 Multiple statements on one line (semicolon)
|
218 | y = 330 - (i // 2) * 105
219 | c.setFillColor(HexColor("#123f38")); c.roundRect(x, y, 350, 78, 11, fill=1, stroke=0)
220 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 11); c.drawString(x + 16, y + 48, head)
| ^ E702
221 | paragraph(c, body, x + 16, y + 38, 316, 8, HexColor("#b8d2cc"), 12)
222 | c.setFillColor(white); c.setFont(FONT_BOLD, 11); c.drawString(42, 58, "GeoIntel · Jens / ITWorx.tech")
|
scripts\create_portfolio_case_study.py:222:26: E702 Multiple statements on one line (semicolon)
|
220 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 11); c.drawString(x + 16, y + 48, head)
221 | paragraph(c, body, x + 16, y + 38, 316, 8, HexColor("#b8d2cc"), 12)
222 | c.setFillColor(white); c.setFont(FONT_BOLD, 11); c.drawString(42, 58, "GeoIntel · Jens / ITWorx.tech")
| ^ E702
223 | c.setFillColor(HexColor("#8fb9af")); c.setFont(FONT, 8); c.drawString(42, 42, "Belgium and the Belgian North Sea · v1.0.0")
|
scripts\create_portfolio_case_study.py:222:52: E702 Multiple statements on one line (semicolon)
|
220 | c.setFillColor(MINT); c.setFont(FONT_BOLD, 11); c.drawString(x + 16, y + 48, head)
221 | paragraph(c, body, x + 16, y + 38, 316, 8, HexColor("#b8d2cc"), 12)
222 | c.setFillColor(white); c.setFont(FONT_BOLD, 11); c.drawString(42, 58, "GeoIntel · Jens / ITWorx.tech")
| ^ E702
223 | c.setFillColor(HexColor("#8fb9af")); c.setFont(FONT, 8); c.drawString(42, 42, "Belgium and the Belgian North Sea · v1.0.0")
|
scripts\create_portfolio_case_study.py:223:40: E702 Multiple statements on one line (semicolon)
|
221 | paragraph(c, body, x + 16, y + 38, 316, 8, HexColor("#b8d2cc"), 12)
222 | c.setFillColor(white); c.setFont(FONT_BOLD, 11); c.drawString(42, 58, "GeoIntel · Jens / ITWorx.tech")
223 | c.setFillColor(HexColor("#8fb9af")); c.setFont(FONT, 8); c.drawString(42, 42, "Belgium and the Belgian North Sea · v1.0.0")
| ^ E702
|
scripts\create_portfolio_case_study.py:223:60: E702 Multiple statements on one line (semicolon)
|
221 | paragraph(c, body, x + 16, y + 38, 316, 8, HexColor("#b8d2cc"), 12)
222 | c.setFillColor(white); c.setFont(FONT_BOLD, 11); c.drawString(42, 58, "GeoIntel · Jens / ITWorx.tech")
223 | c.setFillColor(HexColor("#8fb9af")); c.setFont(FONT, 8); c.drawString(42, 42, "Belgium and the Belgian North Sea · v1.0.0")
| ^ E702
|
scripts\provision_regional_grb_context.py:46:5: F401 [*] `provision_regional_grb_buildings.response_data` imported but unused
|
44 | next_page_url,
45 | observed_at,
46 | response_data,
| ^^^^^^^^^^^^^ F401
47 | reusable_manifest,
48 | safe_slug,
|
= help: Remove unused import: `provision_regional_grb_buildings.response_data`
scripts\provision_waterinfo_station_history.py:26:30: F401 [*] `shapely.geometry.Point` imported but unused
|
24 | import requests
25 | from requests.adapters import HTTPAdapter
26 | from shapely.geometry import Point, mapping, shape
| ^^^^^ F401
27 | from urllib3.util.retry import Retry
|
= help: Remove unused import
scripts\provision_waterinfo_station_history.py:26:37: F401 [*] `shapely.geometry.mapping` imported but unused
|
24 | import requests
25 | from requests.adapters import HTTPAdapter
26 | from shapely.geometry import Point, mapping, shape
| ^^^^^^^ F401
27 | from urllib3.util.retry import Retry
|
= help: Remove unused import
scripts\refine_yolo_labels_with_sam.py:14:20: F401 [*] `typing.Any` imported but unused
|
12 | import shutil
13 | from pathlib import Path
14 | from typing import Any
| ^^^ F401
|
= help: Remove unused import: `typing.Any`
scripts\run_golden_qa_benchmark.py:15:24: F401 [*] `app.models.Area` imported but unused
|
13 | sys.path.insert(0, str(BACKEND_ROOT))
14 |
15 | from app.models import Area, Dataset, Metric, QualityCheck # noqa: E402
| ^^^^ F401
16 | from app.services.qa_service import QaService # noqa: E402
17 | from app.services.quality_service import QualityService # noqa: E402
|
= help: Remove unused import: `app.models.Area`
scripts\seed_demo_workflow.py:11:1: E402 Module level import not at top of file
|
9 | sys.path.insert(0, str(ROOT / "backend"))
10 |
11 | from app.db.session import SessionLocal
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
12 | from app.services.demo_workflow_service import DemoWorkflowService
|
scripts\seed_demo_workflow.py:12:1: E402 Module level import not at top of file
|
11 | from app.db.session import SessionLocal
12 | from app.services.demo_workflow_service import DemoWorkflowService
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E402
|
scripts\smoke_contracts.py:4:11: E701 Multiple statements on one line (colon)
|
2 | ROOT = Path(__file__).resolve().parents[1]
3 | missing=[d for d in ["contracts/api","contracts/database","contracts/events"] if not (ROOT/d).exists()]
4 | if missing: raise SystemExit("Missing contract directories: "+", ".join(missing))
| ^ E701
5 | print("Contracts smoke OK")
|
scripts\smoke_docs.py:5:11: E701 Multiple statements on one line (colon)
|
3 | required_docs = ["docs/M5_OPERATIONAL_READINESS.md","docs/BUILD_GOVERNANCE.md","docs/CI_CD_SPECIFICATION.md","docs/HEALTHCHECK_CONTRACT…
4 | missing=[p for p in required_docs if not (ROOT/p).exists()]
5 | if missing: raise SystemExit("Missing docs:\n"+"\n".join(missing))
| ^ E701
6 | print("Documentation smoke OK")
|
scripts\train_building_proposal_filter.py:136:39: F401 [*] `torchvision.transforms` imported but unused
|
134 | from torch import nn
135 | from torch.utils.data import DataLoader
136 | from torchvision import datasets, transforms
| ^^^^^^^^^^ F401
137 | from torchvision.models import ResNet18_Weights, resnet18
138 | from ultralytics import YOLO
|
= help: Remove unused import: `torchvision.transforms`
Found 112 errors.
[*] 18 fixable with the `--fix` option (2 hidden fixes can be enabled with the `--unsafe-fixes` option).