### Change Summary

Ruff is now the sole linter 👍 
Files Altered: ['Makefile', 'docs/contributing.md', 'pyproject.toml', 'pdm.lock' ]

Notes: 

For pyproject.toml file,  I removed the last element('E501') of line 180 given black's removal but I'm not totally sure what this line is for. 

### Related Issue Number

Fix #7914

## Checklist

* [x] The pull request title is a good summary of the changes - it will be used in the changelog
* [ ] Unit tests for the changes exist
* [ ] Tests pass on CI
* [x] Documentation reflects the changes where applicable
* [x] My PR is ready to review, **please add a comment including the phrase "please review" to assign reviewers**

Adopting `ruff` formatter. ### Change Summary

Ruff is now the sole linter 👍 
Files Altered: ['Makefile', 'docs/contributing.md', 'pyproject.toml', 'pdm.lock' ]

Notes: 

For pyproject.toml file,  I removed the last element('E501') of line 180 given black's removal but I'm not totally sure what this line is for. 

### Related Issue Number

Fix #7914

## Checklist

* [x] The pull request title is a good summary of the changes - it will be used in the changelog
* [ ] Unit tests for the changes exist
* [ ] Tests pass on CI
* [x] Documentation reflects the changes where applicable
* [x] My PR is ready to review, **please add a comment including the phrase "please review" to assign reviewers**

PNG


IHDRVzTXtRaw profile type exifx[r;DYPxr;)%׶1qEM@Y[,.ڊIT:}>y~wP7j\Cg<{m0>#P}^d\!=PB9M/}xie6";{zX7ε8B|Kpo~g|ɗ-j7B4_"xc|sV;g?NSQoXU|~f D帐
=uIT"SkʌdpF8e;bl	w_yJ`#r?;go/_aX^cEޙE@y-_^E6|8`[nȼQB\wƘ/d(W~lcPea*MloΕ,Ell"9jNROM9s.^bI%Rj15Ts-V[jV[kںF00kѪMU{٨Vg~gdȈ#<ʨ
}>3<ˬM}ɊXeՖ N;n[w?ډ'|ʩ=gT{}!j5y5F]oKl1#bZ,f"g1j(#ƭ`#i'b-r7oM~9goD-y#BTwNZ7Rzg?Xe)SgǍv^g6jnk=^_d?Аd&~8}]/w'_.lrfoG9YFM8CQ쉝Ƒ^VL/k[uxU3eo<-i+}Nᮇ&gE'=96ɟ%Ǳ"rEe@(5C7(nzk1u@3m||>y$u4Tk[xHY8T>QY\?\]l8S Tn!PRՄuU'IҦ/+֔уKzc˙	dܒ(D:^ttJ,-0$[TҪ}s"
QD4#Y	eހ&~-.[T8v'*UeJI{MF"Q˟kU3POL8bΜN0` |3ҌA[%^fgH&v&V;}n\ͶWPi)B|`Z45bi *M\NvP(M;7^7uN+<ˣK@lb12JqΰP'Q;>v 4M,s\#C}Auǃ!AVRF,DuD{{[8*ЕD^m3t	@C&;'c:Zhkc}9Ws$<@Z"Vi#N9iRpw#!/sNtldPmZpkQ-啴7wz[\ns@L}gJf84Jmam, e&(£gk[)[Hĳ5SkC?M(C}/s=J=Ѕyո}]ۂckR+s)*RXl%n5-${hsyOn}֬a\rB/B_݀z>DTq?T)
cG>rΜbwKfZBEB{֙P	tt`H]LLgcd0'Bei(i~E'SCf#hB'u
i9Q@@vIw/ o#
JaJIt[1"f[	=#L@3¨.m\(8$sh$P@zxYGMGƯvWiж4xlg-Ӳ%w-\ױI	z,Yp*t#V+{h%B$硛q.4۴Yg+(L0Y`ñ(	@DQA$U +HO68vAv42/L&u(icMJVzHa$fHrpwwC|6@)Z9q(h.'q,8:` &tGPV <E#=whGf8"(YY:zH{]dPw$[N0EC
VYYF3|d$Ǚ!breSfm;%C[(@+,،%Z	Kɫ'Kv
FyE{iCfKX1Uh	h?!+La2kk;3E
?&ic6خԾ'E}Ҍ3FnАn5B	FUte\dIܶc4fK1I=ScUڔKvL
jYٓe_`ڦkO]hjY,op'
Yg8Q=*yd4ffjgNnE&/`TJRXEFQW[FXe# l7W(NzB; ݢc͌b'8Ndʖ}lYA*K|GƶT[?wʩfh툃
(B2%in1OԈtԷNTQܰP"HX@Lyܑg)deUGAH4?65sy:3h_"5$wh>ai]w{S#[w}WF@!;(&Uu3|Kw(
MkxvtBA71uSqؖV3r}iO&/d&?45ٽf?rKo*Rv;XiCCPICC profilex}=H@ߦJEvuP8jP!
:\#4iHR\ׂ?Ug]\AIEJ.)ޗVb6hmq1]CFefGw1_Rs"3Lxxj68GXQVωGL #8\xfL#bfES#$NBcgTa{si
",Bl1uR,<wrmceh]?qq>.P:O3p70IzEm⺩){dȦJAZB>7e[s[@zeo4jrhPLTEGpL@e<tRNS@fbKGDH	pHYstIME!,{IDATxa(PN!W6CC{Fӎ
V⢍ğMٮuM+>-t)ĢR&	2U!
D_N`rw?)m<<Ε@
ϳ֯6Xoﻨ=_m"ql}w~	"D%do@TNO/6w-
Vļ*3a@ȣwv[
_ޚv	ȜAђeP0TJb~el'j2ND2JkN@PR?m 

 V!q!oGݴ2J^
लQ;{T
U(+kӅNO*n pP6m C~x/pyj;=yg7/p=O<"@68@nF$@e2nwho
N7nmk=5ЍQǧ8vXfڶܴx_7IQy*c_
jo`H0=M	n~XJ
/=
ƪ1_l_%ה},צ"W
:c2O_}qZ<<iƳ#ӷ?nK=ҽ7Cu1*W
rYvv|If?v8yX^-G;zt9=p?6@}Fhy?5BzbESbNjwPrdF{$5/IzktwH]sߵUIO{WLpux[_zH\Vj/7('N7th'-#͜Vmc:y 3()r?9LT8,K]}o||M|,MVQb1c4۲NUV<r6-&۟vՃsvb&y}@?<<tIENDB`
PNG


IHDRVzTXtRaw profile type exifx[r;DYPxr;)%׶1qEM@Y[,.ڊIT:}>y~wP7j\Cg<{m0>#P}^d\!=PB9M/}xie6";{zX7ε8B|Kpo~g|ɗ-j7B4_"xc|sV;g?NSQoXU|~f D帐
=uIT"SkʌdpF8e;bl	w_yJ`#r?;go/_aX^cEޙE@y-_^E6|8`[nȼQB\wƘ/d(W~lcPea*MloΕ,Ell"9jNROM9s.^bI%Rj15Ts-V[jV[kںF00kѪMU{٨Vg~gdȈ#<ʨ
}>3<ˬM}ɊXeՖ N;n[w?ډ'|ʩ=gT{}!j5y5F]oKl1#bZ,f"g1j(#ƭ`#i'b-r7oM~9goD-y#BTwNZ7Rzg?Xe)SgǍv^g6jnk=^_d?Аd&~8}]/w'_.lrfoG9YFM8CQ쉝Ƒ^VL/k[uxU3eo<-i+}Nᮇ&gE'=96ɟ%Ǳ"rEe@(5C7(nzk1u@3m||>y$u4Tk[xHY8T>QY\?\]l8S Tn!PRՄuU'IҦ/+֔уKzc˙	dܒ(D:^ttJ,-0$[TҪ}s"
QD4#Y	eހ&~-.[T8v'*UeJI{MF"Q˟kU3POL8bΜN0` |3ҌA[%^fgH&v&V;}n\ͶWPi)B|`Z45bi *M\NvP(M;7^7uN+<ˣK@lb12JqΰP'Q;>v 4M,s\#C}Auǃ!AVRF,DuD{{[8*ЕD^m3t	@C&;'c:Zhkc}9Ws$<@Z"Vi#N9iRpw#!/sNtldPmZpkQ-啴7wz[\ns@L}gJf84Jmam, e&(£gk[)[Hĳ5SkC?M(C}/s=J=Ѕyո}]ۂckR+s)*RXl%n5-${hsyOn}֬a\rB/B_݀z>DTq?T)
cG>rΜbwKfZBEB{֙P	tt`H]LLgcd0'Bei(i~E'SCf#hB'u
i9Q@@vIw/ o#
JaJIt[1"f[	=#L@3¨.m\(8$sh$P@zxYGMGƯvWiж4xlg-Ӳ%w-\ױI	z,Yp*t#V+{h%B$硛q.4۴Yg+(L0Y`ñ(	@DQA$U +HO68vAv42/L&u(icMJVzHa$fHrpwwC|6@)Z9q(h.'q,8:` &tGPV <E#=whGf8"(YY:zH{]dPw$[N0EC
VYYF3|d$Ǚ!breSfm;%C[(@+,،%Z	Kɫ'Kv
FyE{iCfKX1Uh	h?!+La2kk;3E
?&ic6خԾ'E}Ҍ3FnАn5B	FUte\dIܶc4fK1I=ScUڔKvL
jYٓe_`ڦkO]hjY,op'
Yg8Q=*yd4ffjgNnE&/`TJRXEFQW[FXe# l7W(NzB; ݢc͌b'8Ndʖ}lYA*K|GƶT[?wʩfh툃
(B2%in1OԈtԷNTQܰP"HX@Lyܑg)deUGAH4?65sy:3h_"5$wh>ai]w{S#[w}WF@!;(&Uu3|Kw(
MkxvtBA71uSqؖV3r}iO&/d&?45ٽf?rKo*Rv;XiCCPICC profilex}=H@ߦJEvuP8jP!
:\#4iHR\ׂ?Ug]\AIEJ.)ޗVb6hmq1]CFefGw1_Rs"3Lxxj68GXQVωGL #8\xfL#bfES#$NBcgTa{si
",Bl1uR,<wrmceh]?qq>.P:O3p70IzEm⺩){dȦJAZB>7e[s[@zeo4jrhPLTEGpL@e<tRNS@fbKGDH	pHYstIME!,{IDATxa(PN!W6CC{Fӎ
V⢍ğMٮuM+>-t)ĢR&	2U!
D_N`rw?)m<<Ε@
ϳ֯6Xoﻨ=_m"ql}w~	"D%do@TNO/6w-
Vļ*3a@ȣwv[
_ޚv	ȜAђeP0TJb~el'j2ND2JkN@PR?m 

 V!q!oGݴ2J^
लQ;{T
U(+kӅNO*n pP6m C~x/pyj;=yg7/p=O<"@68@nF$@e2nwho
N7nmk=5ЍQǧ8vXfڶܴx_7IQy*c_
jo`H0=M	n~XJ
/=
ƪ1_l_%ה},צ"W
:c2O_}qZ<<iƳ#ӷ?nK=ҽ7Cu1*W
rYvv|If?v8yX^-G;zt9=p?6@}Fhy?5BzbESbNjwPrdF{$5/IzktwH]sߵUIO{WLpux[_zH\Vj/7('N7th'-#͜Vmc:y 3()r?9LT8,K]}o||M|,MVQb1c4۲NUV<r6-&۟vՃsvb&y}@?<<tIENDB`