From a5a8c16363616644f711d927a14a09b92922bed6 Mon Sep 17 00:00:00 2001 From: Timon Date: Tue, 24 Feb 2026 15:19:58 +0100 Subject: [PATCH] Update environment configuration and requirements; specify package versions and clean up dependencies --- CODE_MERGE_GUIDE_LARAVEL.md | 35 ++++------------------------- python_app/environment_pytorch.yml | 10 ++++----- python_app/requirements_harvest.txt | 7 +++--- 3 files changed, 13 insertions(+), 39 deletions(-) diff --git a/CODE_MERGE_GUIDE_LARAVEL.md b/CODE_MERGE_GUIDE_LARAVEL.md index 83a440d..1d8353d 100644 --- a/CODE_MERGE_GUIDE_LARAVEL.md +++ b/CODE_MERGE_GUIDE_LARAVEL.md @@ -1115,36 +1115,9 @@ python python_app/23_convert_harvest_format.py angata **What needs implementation:** -**Step 1: Create database migration** +> **Note**: Database migration for `preferred_area_unit` column already created in **STEP 1**. The column is added alongside `client_type` in the same migration with proper rollback handling. -```php -enum('preferred_area_unit', ['hectare', 'acre']) - ->default('hectare') - ->after('client_type'); - }); - } - - public function down(): void - { - Schema::table('projects', function (Blueprint $table) { - $table->dropColumn('preferred_area_unit'); - }); - } -}; -``` - -**Step 2: Update Project model** (`laravel_app/app/Models/Project.php`) +**Step 1: Update Project model** (`laravel_app/app/Models/Project.php`) ```php protected $fillable = [ @@ -1153,7 +1126,7 @@ protected $fillable = [ ]; ``` -**Step 3: Add form UI** (Blade template) +**Step 2: Add form UI** (Blade template) ```blade
@@ -1175,7 +1148,7 @@ protected $fillable = [
``` -**Step 4: Pass preference to R scripts** (in job/shell wrapper) +**Step 3: Pass preference to R scripts** (in job/shell wrapper) When launching R scripts, read `project->preferred_area_unit` and either: - **Option A**: Write to `parameters_project.R` dynamically before script execution diff --git a/python_app/environment_pytorch.yml b/python_app/environment_pytorch.yml index 08e81c8..1195353 100644 --- a/python_app/environment_pytorch.yml +++ b/python_app/environment_pytorch.yml @@ -5,13 +5,13 @@ channels: - conda-forge dependencies: - python=3.10 - - pytorch::pytorch - - pytorch::torchvision - - pytorch::torchaudio + - pytorch::pytorch=2.5.1 + - pytorch::torchvision=0.20.1 + - pytorch::torchaudio=2.5.1 - pytorch::pytorch-cuda=11.8 - gdal>=3.7.0 + - shapely>=2.0.0 + - pyproj>=3.4.0 - pip - pip: - sentinelhub>=3.9.0 - - shapely>=2.0.0 - - pyproj>=3.4.0 diff --git a/python_app/requirements_harvest.txt b/python_app/requirements_harvest.txt index 5af1a44..baab6c0 100644 --- a/python_app/requirements_harvest.txt +++ b/python_app/requirements_harvest.txt @@ -1,8 +1,9 @@ torch>=2.0.0 pandas>=1.5.0 -numpy>=1.23.0 +numpy>=1.23.0,<3.0.0 scikit-learn>=1.3.0 -GDAL>=3.7.0 -sentinelhub>=3.9.0 +# GDAL must match the system libgdal version exactly; install via: +# pip install gdal[numpy]=="$(gdal-config --version).*" +# Do not pin with >= here; handle GDAL installation separately in the Dockerfile/CI setup script.sentinelhub>=3.9.0 shapely>=2.0.0 pyproj>=3.4.0