From 1433ff5d6b6adb8e9c2240db8f1d347f7c3676de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raille=20C=C3=A9line=20=28THALES=20SERVICES=20NUMERIQUES?= =?UTF-8?q?=29?= Date: Wed, 22 Oct 2025 12:10:01 +0000 Subject: [PATCH 1/3] loose gdal and scipy versions --- .github/workflows/cd.yml | 8 ++++---- .github/workflows/ci.yml | 12 ++++++------ setup.py | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 9d936d7..9df0ff0 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -16,21 +16,21 @@ jobs: name: pypi steps: - uses: actions/checkout@v4 - - name: Setup Python 3.10 + - name: Setup Python 3.12 uses: actions/setup-python@v3 with: - python-version: "3.10" + python-version: "3.12" - name: Setup Miniconda uses: conda-incubator/setup-miniconda@v2 with: - python-version: '3.10' + python-version: '3.12' auto-activate-base: false - name: Build package shell: bash -l {0} run: | - conda create -n deploy_env python=3.10 libgdal=3.5.2 build -c conda-forge -y + conda create -n deploy_env python=3.12 build -c conda-forge -y conda activate deploy_env python -m build -C--global-option=bdist_wheel -C--global-option=--build-number=0 --wheel diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3384e90..9364adb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,10 +12,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Setup Python 3.10 + - name: Setup Python 3.12 uses: actions/setup-python@v3 with: - python-version: "3.10" + python-version: "3.12" - name: Create test env shell: bash -l {0} run: | @@ -30,19 +30,19 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Setup Python 3.10 + - name: Setup Python 3.12 uses: actions/setup-python@v3 with: - python-version: "3.10" + python-version: "3.12" - name: Setup Miniconda uses: conda-incubator/setup-miniconda@v2 with: - python-version: '3.10' + python-version: '3.12' auto-activate-base: false - name: Create test env shell: bash -l {0} run: | - conda create -n test_env python=3.12 libgdal=3.5.2 -c conda-forge -c defaults -y + conda create -n test_env python=3.12 libgdal=3.9 -c conda-forge -c defaults -y conda activate test_env PIP_NO_BINARY=rasterio pip install . pip install pylint mccabe diff --git a/setup.py b/setup.py index b81ddae..8bfb8ef 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ packages=find_packages(exclude=['tests']), include_package_data=True, zip_safe=False, - setup_requires = ["setuptools_scm"], + setup_requires=["setuptools_scm"], install_requires=[ 'click==8.1.8', 'rasterio', @@ -33,9 +33,9 @@ 'sphinx_rtd_theme==3.0.1', 'pip==24.2', 'sphinx==7.1.2', - 'scipy==1.16', + 'scipy', 'pyscaffold', - 'gdal==3.5.0', + 'gdal>=3.5.0,<3.10', 'tqdm==4.66' ], entry_points=""" From 42b110ee8676404c5b05c8b816ed8b4722f6feaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raille=20C=C3=A9line=20=28THALES=20SERVICES=20NUMERIQUES?= =?UTF-8?q?=29?= Date: Wed, 22 Oct 2025 12:10:49 +0000 Subject: [PATCH 2/3] remove pycache --- .gitignore | 12 ++++++++++-- tests/__pycache__/__init__.cpython-38.pyc | Bin 168 -> 0 bytes tests/__pycache__/cmptools.cpython-38.pyc | Bin 3070 -> 0 bytes .../conftest.cpython-38-pytest-8.0.0.pyc | Bin 1239 -> 0 bytes .../test_algo.cpython-38-pytest-8.0.0.pyc | Bin 5412 -> 0 bytes ...test_radioindice.cpython-38-pytest-8.0.0.pyc | Bin 5227 -> 0 bytes .../test_rasterproc.cpython-38-pytest-8.0.0.pyc | Bin 2296 -> 0 bytes ...st_rasterproduct.cpython-38-pytest-8.0.0.pyc | Bin 25283 -> 0 bytes ...test_rastertools.cpython-38-pytest-8.0.0.pyc | Bin 27812 -> 0 bytes .../test_rastertype.cpython-38-pytest-8.0.0.pyc | Bin 42446 -> 0 bytes .../test_speed.cpython-38-pytest-8.0.0.pyc | Bin 2633 -> 0 bytes .../test_stats.cpython-38-pytest-8.0.0.pyc | Bin 14009 -> 0 bytes .../test_tiling.cpython-38-pytest-8.0.0.pyc | Bin 2002 -> 0 bytes .../test_utils.cpython-38-pytest-8.0.0.pyc | Bin 5358 -> 0 bytes .../test_vector.cpython-38-pytest-8.0.0.pyc | Bin 9128 -> 0 bytes .../test_zonalstats.cpython-38-pytest-8.0.0.pyc | Bin 13045 -> 0 bytes tests/__pycache__/utils4test.cpython-38.pyc | Bin 3214 -> 0 bytes 17 files changed, 10 insertions(+), 2 deletions(-) delete mode 100644 tests/__pycache__/__init__.cpython-38.pyc delete mode 100644 tests/__pycache__/cmptools.cpython-38.pyc delete mode 100644 tests/__pycache__/conftest.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_algo.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_radioindice.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_rasterproc.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_rasterproduct.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_rastertools.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_rastertype.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_speed.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_stats.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_tiling.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_utils.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_vector.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/test_zonalstats.cpython-38-pytest-8.0.0.pyc delete mode 100644 tests/__pycache__/utils4test.cpython-38.pyc diff --git a/.gitignore b/.gitignore index cec6437..dce3f32 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ # Python # *.py[cod] -*$py.class +*$py.class # Distribution / packaging .Python build/ @@ -20,5 +20,13 @@ dist/ *.egg *.whl *.manifest -*.spec +*.spec + +# Tests +.coverage +listing.lst + +# IDE +.idea/ +.ipynb_checkpoints/ diff --git a/tests/__pycache__/__init__.cpython-38.pyc b/tests/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 1a0d783f25ab7219d4d622506b760c712f740f14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmWIL<>g`kf@M3erAYwk#~=6a cyv&mLc)fzkTO2mI`6;D2sdgZ1J_9iW0B~$7;Q#;t diff --git a/tests/__pycache__/cmptools.cpython-38.pyc b/tests/__pycache__/cmptools.cpython-38.pyc deleted file mode 100644 index e405e6c32fcbca0031fbc3f278d07d0697e6570e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3070 zcmZuzy>A@H6`z^?yuA;R6h(`%gD8eA2}`fs20e%@g0Uu0apTo^03vp+*fCV9fba^yoH7-vH(w0Y@qLf2$?p^s4{m0=JD zCT1noVJ)mdzbPH*zT{zD&Pz}F&>HJZR%Gy!$>3CkH{>l@l{NThwllT8La3d>9k_*% z;tRwJ?^5@qHSu!~Q6FCaR6Jy#|KPV`Qkeur<*ZT!=e)4?Z8ebg#6K7mKGx&3wBL=} z`Jsw4EJo}eZ?822Z4a_^r0pbaOKqp)c%-e~SnAq(oIY&l?KRaN#=72B=`gx@T354F z<P$39(CeoRlB`3ku>)xeje64X>vFm zMKsIqv99E45-Um!-CiQ2-XL_5hEaRQmR;=`2NX9xIBX|b=$i;$8u}&#?MtTKK*_&- zyu62RS#BToG36*kP*x zv@|}}RTvSLM|C1pXSX4kXz+$L!)JueYrH0GvA`SL6>1T&jzt;M%g1;Li8UAmf`T^O zGMWK~xBo-h-hxYCLa=2&8R|;CA_GsnV-uMoTj3#Cx;K8f4 zz6no<+*dCFV+D8i7DUWKE?Fofm*OQ0Eon&`qb+F#uJ#@!@eo_op@%LmD%NGeLKp=f zu!2RrPf{3Z!Dqv=3l8MZPekq%;uK{ah(Zk5N9^DZGTbxooS8V~yM?ug8Bk&i@fFFo z*q6N3^tF|@d)gim&h6}QH`8`I&mr^pMXqQS+J!^)ceTAAA7@P)X>rokJl0NUub)V5 zQJk=MrFec6^+)|Yik9KeXfqi1xr?8V-yHCBGBaKN(nacPz^UU22e;vp|3bmHn_BE! zYK9mJV6fl=uV8fmP+_Yb2>|W8Y9|*13&61ruavq2o#5nL!b#FBqgsI{F{iOG-$m8# zPkgcpf00cpg?~}ceNX)ntP)6PQXK`Ru9OiJU>?je0vlu2gAtzfr}h6}QY&i6G&Y|9 zJK$~|d_@^WZIOYm5F@P+=OX)R8np-_t+j3KZEk$}Y<;73V*jSK`nh(G<0MI+Hv{z} z6h*xap}lOcJ&u!OZ9U)5wL@fJ%6O(rY49)W%v_etXd4<*O7nvMpF2$)f%gD4uN@-QL27DdE@WkfacI`j4`Uu3{Y zO>6+X1SO-M!V9a$^BU4Bh+KBu3XE42Raj@@oZ;jGu1<-hh`flhTp)=e9wHthe&GXe z=)!Zc#ncZm3BF!D+SU$E%PaVG%VX?8dN|52 zjGe9iNqk{EBcthEue3R5Wv0zJE3?p(QHSOTy>Y2rfzqp^An$j__=3#*w*zb&d=5Xg z4&V0*NjZkO9zw~%U6P-QKfFg}EV$7Zz+2WC2Zq2uW^{keK4iaQPuLE7r2$j!J}}i3 zEiKe;Qz(L~w&}?G{=y7gy4oRVbi*ovr<0CyoH1dQd{g89E^j>Qy};BNo!E@u23+3a z>J#Wq=fqyZ;vta(33x%`WIXYgrvD7^d5U_d$*&C`UvbVW!kE7GVwfzU9pZRt+VR`a zwPRemdc~)HM)?)IW85Cec2*wu)hXL8f$Y?Kl;NZqa!TA(jUFB5{UkGpG5<*v9oDAx zO$V4wGmF#SgU6fE+SAsRnq0Dn_CG2~=RU{d8F4M0U1%iYG%HvL8jTNwdf*4X;M3oC F{{tU>*Z2Sc diff --git a/tests/__pycache__/conftest.cpython-38-pytest-8.0.0.pyc b/tests/__pycache__/conftest.cpython-38-pytest-8.0.0.pyc deleted file mode 100644 index a39ff3a2dd17787f9a2de31cb9080a27e854c685..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1239 zcma)5OK;RL5Vo_~?4w&s5lA37_`pLeu^Wj4NEJerKp;5uz~fRO1vj4EO`F7#?Xc{s zy>aC~v`7AuublV`T*}y+mbNFXWb7G#w#VP+`Lw>?C)gf5d^5S*CghiMF17%jZT$5U zG=l6BK}C?$-N5&)A`A#6MSC}*M6^Wso$Pi*TSVA*MeuJ??wl+X-99nh9AxGVGv~b2guG!^|wx3_o1-nC;ivupIbTV3}c1 zRAw>ui{AqmtdI&A-;=eubX;8uP+J~0Vl!hZy%onorW$kcDM>Yrp^UZRdpX3D?3<|- zjAy3E|9jC~WhN`9NtM^rtkkQ;zmYhylTz0;&5e<4@)Cc2AI%}z_ry91f3)bzZ;L=g zD_;;t<<7D<8l|$RxB}bP1}~ZzRl~Asf^3rIpxG2kP~3oEdkg07rrA6*Gp1ky3d$5# zxGl$C!BG`nYw$n@N=c=esL_|KtP4noX)^Q|`=`2#eBc4=@Lh0dxT`j@n7VIaic zYxM;Of;zPhA~nXI9%CV#P<2lPN3;w@>j-C$TZo}kdJ4$*-}2Ob?B z1`XQj+}^RBM$nJ1?Zy>ehoK!bkF(?jXdAg(W>ednf?1Jf*N`%tGb&rcuw}bApZq}R?zY7^tbp6w(FmQj+}?p~ec z`2MvWY*&lq+`E%B6~;B{=u{mmaHRq$^jXMu&SHIB>`qU(@@n{VF68So_epo37gE$Y Ryl@(67YYYma)Wexe*v&5Xc7Pb diff --git a/tests/__pycache__/test_algo.cpython-38-pytest-8.0.0.pyc b/tests/__pycache__/test_algo.cpython-38-pytest-8.0.0.pyc deleted file mode 100644 index 50e250df1710738ccf68cbbc3237b803a3dd4ade..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5412 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 P8!G;~ty?AQNo)2$(`P@a diff --git a/tests/__pycache__/test_rasterproc.cpython-38-pytest-8.0.0.pyc b/tests/__pycache__/test_rasterproc.cpython-38-pytest-8.0.0.pyc deleted file mode 100644 index 63f0843b98acddbb8c22ffb468b226c23061872b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2296 zcmcIlOOG2x5bmDwV>})|*6Tcwf@CB@Vg&ZCck`0iXhSw2E(>|^kT1=wyX~E1?6JDr z32SB~M7T!e2jpNMbK}ep;D`_h4lQmVp_OvxkQ3EC`>+U#;6RV2yQ;dntLy9Ps*g)0 z7ePDw#{2zqIfQ=G%wn^F*@Rz=p`(c65OuK`t)XopjE0$R7N;}0ZXRZ=&>0rGg`wMZ zL2lDbSR8s?59n;SM04FT&37xzn^mbZ$K54bpzb%QTcbtl!MIFIvBr?NZ#hzey#6UiNrn(p~Vdp8=g_E_$-K_255hTA+i+K=BEHBGC-bAtWTaYf*d(C7QCS1r(MUYRfFm(Ci~S zv1BerF^(;oqj~B)f&h~FnG>Tq{`U98HZ%tM$0QTmv%(xD**HrJ0CO(R7(O58;`}`; zaboALn-t>0LzK9&`xuL=EY3XY#!es8qSoqL^9=Q5X;z-2dpYqP%va*v9P{sis%mOv zQID36G=4T3dC>UPXaEHo5SCA@lPD?DN?bJZ!W^5?onu;kV#Ay#mq1dBy*Yk}zlLX$ zL5Tx@A#p!N7tl>~3w?%;DZpe&F4Nj0D=8fyQliT*Ao6Shkzf8ZB9?d)&h!#Q0J9%J z!(j3l^Ph}QFQ5Wi&x{tJ0a||=t^W@hG^^`Kq6m^eeS6xt_5Qo$&Ij)ic(j*RR#z^N zmDRQN^$yXGq$Pv?^!1l%ybbTqXe}S-kH#3%f_|QNAiHGrlTsxR5iKH`ZCd*Xo&;Zl z5Z`Y=2YST^!H7l=hzO=kl@FNcKI5T3=6S7ypIaLnO+2lgJwM)CX^O_iMnjXGrch<- zOP@&Yk3>J>Lsc+51s7mz8`O2znO^mUU|gDImz%=38K*r&LggtiN?~Ggncm% z{gE$WhU?U%yk5wBe&9v3tct-1>IDgg{s2w@-W+k=oKEzeE${87`%1^lFT zS!Y94)CW)RXLXUeu*h6Wne<$1i_DeO(%RN>HQ*-W)(u#Ht7vDyqS%BES&rpm*Dm9l zbsDn0`B2V$pQAIVj2gE04|BWeoW(D}9?cWVIfR^_1A%&lq?go69RlE5oIT)y1i+6( zDt{p3XZ0Etz1|K$UPm diff --git a/tests/__pycache__/test_rasterproduct.cpython-38-pytest-8.0.0.pyc b/tests/__pycache__/test_rasterproduct.cpython-38-pytest-8.0.0.pyc deleted file mode 100644 index 5c54a2bf8e4aff094eed9ddaca8ea179b4b945c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25283 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 OB9oX*>`LrN?D+rUVeM-G diff --git a/tests/__pycache__/test_rastertools.cpython-38-pytest-8.0.0.pyc b/tests/__pycache__/test_rastertools.cpython-38-pytest-8.0.0.pyc deleted file mode 100644 index 17d43c1ffff699fb7b45dbc807503b7da690ccda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27812 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 diff --git a/tests/__pycache__/test_speed.cpython-38-pytest-8.0.0.pyc b/tests/__pycache__/test_speed.cpython-38-pytest-8.0.0.pyc deleted file mode 100644 index 558deb1e0ac82fe5de1fe5eadf7ede3f0286ca62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2633 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 diff --git a/tests/__pycache__/test_utils.cpython-38-pytest-8.0.0.pyc b/tests/__pycache__/test_utils.cpython-38-pytest-8.0.0.pyc deleted file mode 100644 index 60b1a11146de8c74b6062505ee62d731f88f98d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5358 zcmcIo&2QY+5howN_WMJUZMl}@wJkZ?)YZp2cI-Av>^g1|G*MdwO@T!VcCE)I zdGp>QXWs1hi^ZG*e=AqtX@6Exl)qpj{l}nj2X3zogezQim8MEh*3+1xDm}evs3>8s z*|VA!Va?6-vdt`E-Ocs#%{*YES>R@~$gO6HXL$A(O0&#!JP*$bFYqEft6cq1sh37D zma<(}L-PmSJ>Gu|$k_M0t_Q&K+%E6#bq>qlal4PYj;MWa-#HNb{^8uc{@_4#JG*|Z zv9WpkTJ7HU{SOcGcL%MVU8nY_v9_^;cH=*scOLG0aC?U;%uem7oZ-ziu5*K%-0GO< zDS8PWVynnYyv!@S%4eX(_$;5}XF7Vv94h=QKgZ|!dHxlC0otms1Zto>VQ(u(>W}7s z$cAjF`RYS9)B`HQYunLs;M#qR-S5$!R)#4jcqe?ko(H9kWPM4)kz*Ak6qq@fT zMEyCuIl3~m;MUIB|}d!&qu@OxryXfsH11k z%Pr4ygfAThr-1X9Qcms+bt1R?VXnE+QJ!#oqli75>8kE zvHf7b>-yb2FErggXn5hg?d|sWT~4ZY$L&98x%OVG=Y(0?YqcG;5SH$eGu{5)eIfcH zoVDA1(QEm(^OJ$w+H3hBImv|e}ES zEYUh8>xW;6w*f@abX8YNbmgAwc{cw0yI!7CO(jE@seGywl#(LehCVykG5*6Z5nt1L zaC<*XLhL^YuTg02WHGqPz#4~C;6YI33w#kmtpTAH!X2;iOZ+ml{@XzN5CW6IuTY>} zP6F*p9QeH7fm{aKPbt93FuKC8CK@4XP@w%QYD9tdDt{%>ctIL6&}K+S2HIB;Q=naq zbs^ARL+vQg-XskfXjciR18qGDw6F57{+ogJ#}sIjv> zAv3a&FetKs?wFCbFyZCmEsWrpl6XeCX$v&Q{b>thZh~ST zNH=XE!4p1=xoHbyZi4Fi2=d0Mz-%DCg@gjQE-`U2nNYL_A4r3^L@1T$GOQz>ut3qD zxM>SxZrTFoFoB=)goQCTZDGt!TcAC}^eWc@rw#s&xs-o!+Q20Xl+V&TKjtR7g7UH^ zUllUR=DQ)Z%cCDXwQI3vD>WDVUah;_u29OHD>;Ih*uN*YM6BY6$U4J0>_ypH4+ zlG{iyA4r0McQU>=_%+~p9|2LAu9_-S;5ub2LbCmWY13^TC8z9jy^^GX&-LP$WPxvk z<%ukS$2EMhC=2`swvZ=BY>MS@ROZ%@@yt-;*`W@LXZQ*nxbetcc%s80T5Yp5r>%7$ z=8rXaG2Kc@OT0AIpEzv|^h?lxQl4-~UVcfQa7a$Qr|g40veAlFcm+m)D_P;Og(|GT49V36`|*S>uCmy&?C+JBWPrU3>1Z$ z_%q-fVkios{7q>+LoFW)$|D^LP0&INT5y_6v~+KYw6MU`#VTpZbI%3DSUU2Bl=l0m z9ayCO5orJhn+t?

y1+JoH+mQ&JI6i$Rgf(UPABX(1@3%FzOpqFK0e!~Bu<$s;-^ z)wUs%B;^-ny)WFf6jU2ienh3PGHv!hN|W`n_y$_h2Q9wQG=Oe;^5M{x%3kFa(VZy?!1@+OkEklaCX7s*uKor~)#{JAQgKJJm%2BK)`Jc^YTUF@>Dq}Had zXDs_Kc>iF3(-+g(_z$us`!0-Bp9wQ@txM;J@VqUn<26}_LdCi!oX4W;L#3Oru!JR^ zz|%)qk#%IZzZUHz?Mbuh^xf8jwN#NQPcREF@z(~T4?hlguo{9kF=yMYeSfzvY&$I4 z_D=ls9W?W{jlU%9d5&#UT`BNbA#gUSWu^tEGfw7>UZ3x~&YNi1!pMaA)lh=_=YNDvY6hdt$~U2&IjHLp4gZj;|oQIFg7s#~pzlddD&^}eZ^lCqKICtnpQMef&bRwZ^MU z%kJdd?D4ZlCojxjdS*TINUO52>`Y#ro1R_I(vx=3=gfjeZwo&KT$A`-z*ii_V7f|2 z?P6eDt)sijiow(asKZq|pmepihWdo3#cFid^z`d$+hBS-;Tc}yd97`FrudDU>{!h3 z%te*S`bDj4Fw;$S(p}|wQ@Ci)xMo-7pMjJmsi85GB_oYjNyF2j(IE|zpplfa(N*O& z(N&rCy0KqrCs~T6y<}B|Y`HnK<~^&cURPhlgd0lRz}IXiTx}(WpJiC~Wxc({As6Sc zp^C4epAjse@h~(bj}4VSMwqrUffgezVgRiMY3&so%o1i~`%J}VD1{kHZJ(hHO?(ze zMzPbx-GrMMZD{;{!X2^8_vQ)xJW5&~HUPAqAT5$HS9vMl!CVo$m2K>TSsTi*fBtlF z1qenne2cJ4hB~(h?+}K%xRNl7H16Xi*CtF zclGD=cBY+e=dfloa?OtQ?Z^bI;Am!s_;rk#-^Z*Jtyv@B?`5!N69Ipcv1Uv3gtz-O zYkFCUd*1-=zuyLTLVP~Lo#3zZ;U150C&YJ1%gajKKO`-ZfqPuacY-@N1h*-^j($h2 zBvYIxL~Z3=tUOv8?cDc8b;s-!HYDALaW5iXCNRmHC{Gt)rvYJV8jkM(6O7a&; zYmfIf<`iKB#BGPC$;!W=Q%+FMq@U+yg{;Qx;9t(2g1cQo!l$8i6n z5BJvIN{KXS$-R~0!G3xt_f}ev-5rHHC0>tkr}#JfaBuCclz2nproENozap(Y+*@fr z*|)cp&VKR_nL>{1{LP6APd)kMv-6ki6LZ(DU7KEVnk%B&xOwuKOY@f>pTG3P+#@!; z(lfJX=gu5EK6~oa@l(f6pE+ey{pAz0mp}Qmeeqa>U9C>L)x{h8;Dv6gH??!;Hr4gn z`;N5MPE3jPr$b@#+$2e}Q{o6+k57rIbbIn#PC+zI6=kfoB4_m4tHgTXXw$^+L_Dbc)w6}m#d8%>)3dTRXL~d#7{-t`-y4; z)xH_LhG(fceZI9O-S-Oj$Lxhlt!C2$3(b0~!W}=0X8X!2I9D6OH)~C32>+lhmYb_J zCROdFTJuV!W;ZHz$4}X!vWVenaXTg5ZPLB3FSQsEsxTTVpj)Up6&})^D)`AB?1HFVbudE> zyCUexayA%+VA6Pwm}iJuFi&&wn^WQ(Jc(+FBjt^-GmHG zQ9lrvE|W2(V~uk%rO^Sm6_|d3G&~I&UnUKb;K&4lDMCD12ZtsMOidY>nldm=hJk4^ z7MSV?OcQM*bW#lIqDVGy|06!3>z|RXKZUFs9ONPF5NduG?;pVr8Wf@hhq%f=PH4At zgch-vED^GLq_sCZSq84Z1=rs|xV7c_ThjGUwbN}Nli}*Xydlh_aUaD@6BMEb%rrhr zm?LJn$Q9KB{?hT%0{)@nMM(o0n9J+ipFz`0%k`FzueS|dhR36E{~?C^uYI@+5pG== zq=g_!-O%CM5mv}pc?Bu&e&q$Bmd*xo-$cKoaO>h#LPTQ>L>)pAjdwAI`^Tgu-9erI zoU}rBuqfqSdlBo%Kyz_TaEgkCo9u&US>wv$T>f|fmL(+Sx zcpnw_QgI&@_fzqHDvnS==PsY3;sGi?K*doiW>9Qq`7FuDsi0Gi&rxxLij!2FqT)0a z4^q*8@X4btC>}zqe_-I`>Y@Gw8bu35aCYT)II~JPv$EUItUEYc_``VT&L_YEb{9x1P3F~%-&{`oa zVg@ajwDyK&%<|I-UIgEQJBB1JC4B0Q31W;u8OL5C@!J7OpmLI`NwbgIyDXbf6@W%%XzHiXOdu`|WIeI@uCNXoJlIB{z z4h^D#f($eT2!w%lQ3a z&@2~NI>^lL#0CcR6<`>_2O86aSDGu8pCQECIYH|(X@!RPQ>3*wyjVJP!FB$(+Zf`$ zd4d6@V{sHSO<06kGShg8Fh|TXz1c!Pl7DE3CI8S6!tO_`Tu|aR-KY5cluV@2K(Ckwxx}w~j1we7v^~K3#m3 zv_eBnZbHux=cT;s@s@^I=eKq=#D)2{=Y8)F@+_1ws#P0Xp7$`Pdz%d|E;+6pb|983 zE$9DYkAuX|;H$p~8!2ii!o<%`wwcm4G7S_Zd+x+>ev~XTy|nkCFoH6V7w{DnGcdKS zc#1f}G=|^zJF17IiA+tXE`HVT=pK>|!Efemnd99w<}a_uv!zJ8@*+CgG`Ngq`s0>O zEuNg4jpyU$1`o1)5O>JLT6Nv|20@hn&Y>9?krGm3{4vz+Egw!J!7oyAiHhNeD{r>G zjn+XpkE3qtuy6J9tulu557|M6b~?yaB5OL$ofml3MYc7n@{?hm95p{l8A)VQ{S=ar ztxAJc1V4t}{bURO0aB}82@1o}%VBKXMwhmc|{{oiXkDLGi diff --git a/tests/__pycache__/test_zonalstats.cpython-38-pytest-8.0.0.pyc b/tests/__pycache__/test_zonalstats.cpython-38-pytest-8.0.0.pyc deleted file mode 100644 index e8404e0ff402a1959b9a3d309f3595e7389f61f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13045 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 DE~Vs{ diff --git a/tests/__pycache__/utils4test.cpython-38.pyc b/tests/__pycache__/utils4test.cpython-38.pyc deleted file mode 100644 index 3670b407b4284cbef6de02df0dd74f8484dbd310..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3214 zcmZ8j%W@pI6>aoudS>{NL_H|^(UDw^+EHm_ms1rhiX(-xvWP<|BIP8VsJfa14B1pq z_ZYzF!D_CkY`sfmKgZ9bKEp5Y71Yc8BEN+CEWaWa@tqUr#RdNU_W}QafA}&;S9r{Sg#L@1 ztvks_Z(zT(mN3)hxz2}Wt`r*ngIsUFVdz358jdHru1mGMc)u*37DC3qn~E25s&|)H z>&XjQY;EiKvm2j&aV=h5`)Yl+e`k^pw?+K)v+Fl@PidjF8rU+UH3qv&v#NTk2PX$f zF;ase*)^LyG;SlST@=D0lvDSSBRt{nvz=fkNJGdS&Tcs(5+RW5qV90FZFBDu@W13h z-?RE)Mju*z-|9Ov`pD|%tiF58;XNSMH_H!mrG>PRY|!TJVppa=k@b!k>WmlCw42Um zRe{~K=^X=MmRq@~CR6-|N$kJfRtsFr*(349h_`bPPUdtw1oF`gYstKcvaHI-BFjuK z%f>aImL$(**|*cYYurW&lS4=e=m|NV_$4IX^`Xyg812EBniMzUqdV5*B! zeNLOY4rYaz^$fD2)7bNt*%G^e&+1>ZG@@~|n;}v4Fp=ycuOh1j6x!KgoSk1_#}0am#4J(`GSbeNSlPAo?-2FP}~hY+;$ifMPp zqa_d6UFY$wJq8o}SHYpSVF&J>Yjt7c9x!kK#Orneq}AUrV~it(EDNh0>%X2(7z}Kf$3k{!U#~CM*=W z-GtMsEUG7_$3-c$AOa>{+ELR@NXqzjP}eeq{(cvvIcrGg-y;D~>WjBk-K9VsSdJ`~5^PdpQl8&w*%q&95yj&Y_xL^RKIO|<_hmR95@ zheb@@Kz#xdGV{oZchS%=RI`0op4M)IC|jWf?QsZR`3>Up0o!MLZsT(Ii7P*cCS1oB zc0%qoZr}Nfy8`DX{_ZEe80p>&*KrKv&0GmO=0tVcgdJoYNsd`dI;K~sqEb3X)RE_) zYeSn?iprAGL~1%370(3-P1692u&8Jv`4L9Lb+-FmIHJR4Z(>kO5dRzz&5ZLbW&RHBE$$0)4VFa8vn^MHrCs@ zj%gzrj|v4V9$!1r#f#BMNOh>Sb{_py{aD9RY)wl2~w!XXh3aDBni-hs2{Ykwzb{1s;}*uB^UAPF1cP&IDB z8t-rJcWlo2J&ux(nE9k9*BIg^bN+}&=(_U!{zLV%r0-hqTrqhCyf@qp($ zpvYgM{~P4?rtp_pkGbq35V1W8+en!F0{zLQ)|yXfzW&kUR47Ttnhsq@WwB|Gx}=cW zT8Q^dKGoZ`O#4|z@yxzX({7fP1>Ph|q(M=E{3dLJe>$IKvaS!W`Zi$N7(%yxdxg-2 zU?aDUgZB6vpE!zrmUWIw6MwBk?Jj2ae0=Fdx7v5um*jFqp*;c@a7(&#uFvqbrRTDx RXu Date: Wed, 22 Oct 2025 12:12:01 +0000 Subject: [PATCH 3/3] loose some dependencies to remove deprecation warnings --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 8bfb8ef..e7d0e1d 100644 --- a/setup.py +++ b/setup.py @@ -25,7 +25,7 @@ 'rasterio', 'pytest>=3.6', 'pytest-cov', - 'geopandas==0.13', + 'geopandas>=0.13', 'kiwisolver==1.4.5', 'matplotlib==3.7.3', 'packaging==24.1', @@ -36,7 +36,7 @@ 'scipy', 'pyscaffold', 'gdal>=3.5.0,<3.10', - 'tqdm==4.66' + 'tqdm>=4.66' ], entry_points=""" [rasterio.rio_plugins]