From daa0f0ec4468d63a5300cb09108a7ed7f2407f2f Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Sat, 8 Mar 2025 11:22:52 +0000 Subject: [PATCH 1/2] Add sponsorship page --- .github/FUNDING.yml | 2 +- docs/overrides/partials/nav.html | 6 - docs/sponsors/fastapi.png | Bin 20640 -> 0 bytes docs/sponsorship.md | 184 +++++++++++++++++++++++++++++++ mkdocs.yml | 1 + 5 files changed, 186 insertions(+), 7 deletions(-) delete mode 100644 docs/sponsors/fastapi.png create mode 100644 docs/sponsorship.md diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 2f87d94ca..d6cf524f2 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1 @@ -github: encode +github: Kludex diff --git a/docs/overrides/partials/nav.html b/docs/overrides/partials/nav.html index 93d5c8c86..f61d8e4e9 100644 --- a/docs/overrides/partials/nav.html +++ b/docs/overrides/partials/nav.html @@ -44,10 +44,4 @@ {{ item.render(nav_item, path, 1) }} {% endfor %} - - diff --git a/docs/sponsors/fastapi.png b/docs/sponsors/fastapi.png deleted file mode 100644 index a5b2af17eb7dfebe55636bb4dcd69337ca48c88a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20640 zcmeFYWmF|g(=Ld+yKmgxX>8+-)3`e{H16*1u8q^UySux)TjTD2Ip=-nyLZ<7ncuUf zVpXL@WM)LhUb*YZs4xXN2}C$NI1msJM9J@>iXb4MfnWJS7^tu3tmfm_6I8@pL_|SS zM1)wu-p172(gXyAI?hO6AMHCm^{|0~zW(q89Sxkli(+VKq@uphXm=0sc=wooe@;@W zw)Qp-$~L%iFG&86o+b-~NaB}T#$o#R$6E9OqT^<-^wi(|ICLbzB}9<61%I%pz>fui z8S&Z*%Dvs)sUXI5DJdAf%M8HA@2Jy1fDZ^Lyo9~F;D%H}%h27wg#9!8&gg)RKzngR zxY&1y;YCSdG`EOq%Nl1zkObX&vp01o)YBv6S(H>MB;S#tk zw-NVmaNFw%iDj7HznhcY-QUhXKc{vO5YEyO5PYgWKR-QQKRYi{hUfR8o=r>dVHN=E~}h>asH5jBKnJ4UBCJ zO&DFRY`?fcK=@q0ePyjo91VzFtt_n_zPa*~{>$<0EB{Y56Dje(ERGiZr0TK?#3DBK zCd3?!?2OE$0&v8{#C-O~rr#7r#s4e*RpKW#b9A)*#>C{};=<^{#%N>zlZl0ghlh!o zm5G&=;fsU8!Ohyyz?H$;f$Tq>{9pZunm8EQo7*~?+gKC-)31S{jguokDd|50{m=EE zd78MI|L>8k9saA8-(RA9|I~g{Fn2YvR2Mb3GO>2}8bg4Mo15=n z{{KhI{~q!Gkkt6!k}N#`H_88_<-d}AO#dkGe<<`HYyDgMWiA0YKBoUMy#U;%u>8%} zY7m%<$}4}RVE-)5*Jbo|Q~x*p%F`)yU>1FRr38|qLdve7XF8Csm_t|s0}MTcU=U5) zSnK9BST5m3%?(wFox-`gQZ--$4Q96C7%p_MDD2JRu^0cZ7v6enSDb| zoc4c>FF)8E&N92=e9==t{-y3NU9d}A;L}nUxHgD3*gwPwYYW_F0{bt6uQV6|%2Px) z#eZl!9t0ZVgVYxGKh#X#4eHkg^B=+gU-bXAnOqTxMfu$j4h=7W{dzImlXFA1mn-P5 zce{{(q>~Y5$)%BS6N*5(luJm6MJPXt_RzNfrD`BpG)Qlnhl~DHl!YzzE?!1xr0?mY zbzj}#R9Z;N;1KrBpD_@VI@1uT6?@?YOYhikl8S#{+KKBlHdO0%uJ)GoIp%i3(=~9R@WP}@} zUYuZ1rQFMeJZ^pkYAk=SXH{b~rF((K7Zxh@;5Dk`5Xcw0>I%Sf@$bedcq zG-j2h>?RstZJYZJcmfxoameRE?YHFfiRj(s2`!%`VAoLJF3VM%MwSv% zfmcT4Ooi8|(`H=GDpC<>RvpjxgYb2y~!;fI$7<#;Qua>+NDjjp-GzpaT?2wQ3;Mp9Z??6cl|aLcZ< zyp4-@(fL9%@zqxwrtW3eH=iJ|^gJ$b?o}EDyzz=Hx4p?&nMPITe7Fvdf}U+w0hv0j zFQj9G>;eJ`^bSbHnRHC-K-_)l%taJ{#*h!>l%1j#2M5CsDANV2($y#l-)h0#Z}qUc zX3tnZ*m1FTg)rUW6q5|^qn_seXRdM|WZ!!*8n1 zr`rrkk<3~5*V{4dN93xEz9T?z^PFqmsM|AiSBLRzwJRXhF@K07AT(Rc3)=Hl#3YuW z)tk5x_VZ`+4ql`Dy$f#zF9BAKJf;#1C|ks|9w9;m?+vCq%zZs6xY|8{UkRRQ=czEq zAC5TES`!5le|)d1ZZ+5X9>-mic6MS-ht^U5xYZ7&Ri*2nbW}t_Kj6e=Y!p=b9MMht z)@J+SBDvk4NnOn1p_n1WMW=yOxMWUn*r~%cJY{}4aaw(C&t1;zHlB>zw7P7zz+NDS zzVr~U$#Y%z+Dt)&M(Bss#zp+(h?6k{+k~1IQ1ptI5Wf zLIQcXhR%ZtHhlqV|0-a-nAr#Vvt}0l?Umo{8ZE2S6NyDWOL)HT^$NsCy-KfZ(K4^y z$9s9YJl~W@cRQN`w7^R41xDxW759nUZu9Ywr?ZRD8#%b*ryMi9AjgOE=;3&Pfqi@r z-5cVj_Z!Z|w$08(g2dBrSA-bbS<}F8DOF%w5R1XaVQ43n-XMNE0Tgvkep)PD>(#ZA zylTUM4MIc64PTUSscG?upT~x?Fh;_eEfZ^fZ7nw%P%!iIR_h>8mUyffChuw1t#JSeU}epb6td6jV+;ArLx zAkb;8=oVtQd%WCW?x#O-w0qtw=Jv0xeQ4D7?I3k*ZpQMoMZw)|U(HqjeWT&Fe6{e04( zX66Z4;7iXf3B=E6=b6z)o!lGzIq|Z_$iSLu84tHpZJn%|2) z)4JC!xX7xy-0&M}jE)wxddUQ~)gtmu9&f!4uzW(9+T_+hj^1ruH|w0?Tc|!kknQlr zqA0n{!7FC;`|v|ODKr_<3PwglzeVNvjNGIj{DCwZV28=HRomH*3X0Dw`K3NZ(%R(k zi#`*PN};P*%*Zw+UwQ{kb3i$p4ZOEW;-Pn{t+ANX^lu-?Iz0OCS`9>)e%`b=!i)7G zI?|%fZm(&2BZ*((^Na`9_XTytXD0{h-u5P=a1y*;7#+XK4xhWjF{4t7MCtJJB3~PZ;`WZQQ_Bhrmo5Q3DjazV?3vDo;d@r*Q zCA00{SQ%hK62iW=HDAJ&IFTq;m!Szt3Cyuw;IJ(V65uqLQVl& zRxz`1Trg%-ju=GyyecQbJ}tX0hl94yR&sk@IlxRdIyUgAh1Y__4-B!k)EyM$R*q} zSKKuc=uRO29Ua9Ri3esY4?HQep6Ib~Y$rJ|wOo}p;#DdnJezGJ^K-ezm3b8shCJIv zZ9GH-yH6)iDj=E*+dnvbU~mdiY8y$j8Y7z%D?zjaabj22cN#GYU;S|e5;f!O9oASf zPO91QY`Aum6CUMHnOTES)qssQ@yU+*5$}5Cr`-_cMBa|sgETHBKZy#^HQ4zis4zN6 zB6W6_5l)n%B%?1OlMVupjwbyjXK_>Vh7*Wmr%xrbTDL%f26(H{8wBuEO;IRVUCVHX zb@ChDU;%TuOaD@TuybP#@FrQPw_}W#O*L|ybNDhJ zJY_Q*j(ywR;#^&9;lhy4W|8x81{Y3tJl?^%h~qUEKD6=$uHgyU^g^%?TKU<~Ek)nD z>~h^n>T~}^NNcr`$dK9ugAvRP*yl3Sr71+fS(l}o2V3daBV;Csr~FP``Rlc1!}p5j z;!*zR^5s(9!3m}>ur*+}jxsgtLh(FGA%e-6ix?$a$qrDj(JB0kUh8Fi4Wwtb=K~(U z=!%Ijc_M+Zr3plMv&4w_ZxwV6Uwl;$r{iuZvyN7g{-UakZ8C2j(QB2SDeNTFZ zqNAS{xWE#<1Y|oH%8|)=q~GaTo(nVbO%~%jhLI09C=AA;p_0R4FPkl}`t-c6D;xgN zh!}-RTPmx569ndWrEZ|J^kFk>5kMT4NTUXC*vg>=vp>SIL`lRohUCkRx@(9qyfbKJ zxSGZ_3iGi{X~KV9A&J@b>M)$M1t(Y;l}6|3vARX04O;_=bC?9Z z=;v%TFfXIQg)yM);hyfPHp0m%X@)WK7J7QD!IeAMGQk3gFw0KtEmCl^cC_Tcz#yOU zKL3bFM(VDsqTeThY=KibajM3|t#sIKS%YpYEKtJY=*JrPbDuNq%Lq-T^ zDa8|1*eO&uWLC7cHW(cSZTRL4i9XU=1&^l#h3q1fkuCo2)P z$btD!bG58(oe8cdZZUh^ap`q{@XqA@1!1gU+KLYTX*NJAha~J#MiWmN;AmE+1G`7z zM6XC14O>ey9*URSZStyMK!k@0Yk;G0MK8V>HHd7O7YIutJE|OuE>gABf8Ga$WBlXS z6)<-!fmFXxD68SfcAmkk)~s;NHR*&K5vJou9DP*tE3Z4T8c^QYPaLp{xaa&%qD@Qm zmgTNeD=56cRO zOX{leVZJrmL#CGRxoLBSAxh2R*h&acZR0Uz5EU%PEHxNSHiQ5CY+{sYU-M0R^kM*M z*N@Ydd*Cvs4;JU*=?57QfqJ%S>#RNovP2V%+Ze>5bqa29Ft;p}@6(8Mm`O#(S*dUg zYU(%47?T&!(s)grVnrh2=w7i*EyEpmEQQUg@>%?98;95*oAu%3=q41i=%?Z(h{s-V zB?OBFU3ZN%OZIWj5_@o+O_6$Xr}txaH?GBcME4CiMh-jlH3pORQU-wkro0X1YIBNNwPst32a-hQR z+ite|vu;Z`{GfpXsi)2?f7_GLyomAgjV6b1c)M&@5o%(X1Va75n=1QaaONavupuh2 zdYP~A$FO8A`{EOrrh6_@xR9K8B@(G#@U_GCZzKsleiPK08lc^cH1~$Jx^O*oK8adC z(0fnb{6I_j$c3V$D9hD!fUM` zbFMge!I1SM;Rb77aWKCcle5uqX#{7ghoi78XRavUGyEW6A^M5xsujC$Agd=P0#}() zUSLc_X6*VHf>;5s%QKIhS{zi!+$T+d(PGufWi28(I#U?9q{%A5!YBi~KDD)YBVx`` zcslWxY~k?rH=zjW1gnAs3CxzN6sT^y$vA|1!Md@ zBv(|7)zohQQHz?N)6<9d#6>gbus${2$bHbm|LG}1s29fTnyOZ zwz~a&Z^_8(fSOq0(8vnLK^71^ofW``G)VqvKeK83L;IjV$1NK-5tg5=uT`^-Pi=1s z7Kju5daQKa1r!JIGo1%~b_$#IoSEOgdA z-%v(n004;?R19@=hLK;tR9yH0A-T~K(!zwNh^pd<=8%jS8}3cl0j3=+JcxwnNX)ffFgChUGJr@#Ze#`gn&Q9N)kI-FI(_XfG? z0XOx)B6~mP!e2V_zvC(dQPEW+H%GCuwHrZ4WLYCRc&@s}eSnfqeJRf1U<{w9I}+;U za!LC~pwR9f-R8{gYhbG=1sVcxWN%)bh@ zel#*HG6tRh+``jQz-ND55ZQ!*;j+a|(jwDn4~!_)_QH9(=Zm;DGe&5PTZ_VD5;!|NaaF0&I2`XH;b5 zRC^p*`oq-D?VAe*3SOl)Ovn~BMnPnnlT|@o%1Rly!8ks%cf^LIpgM@(Q&~n=YP;>oT@xup9rbnK#fE^WFx`Fyr+v6qtL*CW9@N$t17*EjD&E|VHn7v)JsY=t2yxO$)y~bv-l1OYmdd&jlMOBq%nr~)AG<|Jh zL3@_O*(Pv{AD?4HFY_gugpIJZib_UE>z5SPRM%8N!6wVLEe88J$l={3yscKD(hp3s z+hJK9F;Gs(hy&GOV7zFT0#PwbVU0NMzdy|7%ghsors2n!U#{*B^~ou|;;asY=mMu- zrYHI=9T6Q4jZF0zI@_~W3LUrf^nLmAr}F%#hKHJZ{mpF!c3%X+P{Jp&K$65(Zl=C}iFNTO&6Wm2tn6FJ#4|U}G>K7o9 zKr#x+=bNCGDgKaamU=ALCRE5q$7=}Wgbb&4vKe`Qf`Retk`1Zjs-hX)Gpi!8cK!&5 z+~T9=bI8bh_YoN9c0ys3uTiMukk&tJNvIY3o#(J$-YRR7U9y2eg|A8>BjVwUa%SM=5Z$)!(E z;+j;0s5MNDzZ*#qA=I{BC-m%s=|Kl~HqqG??fipIO z{+^%jJB>9l)EG`ry$@x6x4HexXtHT`@c?O;fPedwkD=hf58JV_`9__Z=C5ZUZ4t15SmR|{CB82R612x^2S1~WS zZUeeyL#cIIN}Cm?&ciEOqw`L|%#nP4u(&|f6dcTAn~ndCHpvU{9_<{GZST>ZXXR2H zowegGIZ3Zp8D-G08I)T&uNRbh9$X7I;v_9?jfn;A1VJjCjLKAFz&8e_7@m;x^?Oe7OSJF>bE*Nl*NK? zEy%jY*}jLrb2> zH#iV%6$14jJA>V*vGj5FM{pGn8d(YD4tXLgY!KFdN8m2F@4V`}ckoVshS*qKa&IE- zX4mX0?~igI;{`Hu3CzaTodwQiJF&048k2@Az)p;O&FyT|=_yDPIU z$gx&F8@(XZ=!i>v*C$~2RR0o;?t6vc1L3{b6|FkUUgI?DD0c z)1saLa%S=rdMO*>7Sj)`PKlTo1Tz!^N^{WOi5@cgG+@{eFwP8mcQGp!&q#ER2d_o4 z{~&3yArd~&eT_xR5=1>82J13y~0*x%Ab8(&9S?H_LP|OxPZ+dYfty{G?V+rpWvO1&= zs<2Ut1t8PmTReqU6HhoM(%bUE*A5TL+}RzlT=F1cnx?CSsyfBi1;*UW$Jd=96COg% zr4Kh1L__v+nk%0?X-+Kv=#zOfW-Ku(6C~$BW~=mr3S}E_J>yGi7W8LG+MZUnn}pPt zV=k3vjjO&8h7K(NL>^BXfT&Ac?iU!u^n(D0Y%Vx;IuJi$L7DD;);XlhxCP``+--^G zkPQsKRDTRw4P0DMh-A+}DIcarN5x_hi;@wm-%oCMy0qUp#HS&+f7=~WMT~JN7U73 z2>Mo{^!(7MF*RAQ3gfJf1xuD1=r^Uw6Dyzg5_9QG{Bw_SI4LpA0l&TKxY&$>7^YpJ ze^l-?nT~P~b(DsXCeWF=lgi!nP7V}|2Ek$1c^iGb6FoHXFYmWUKa6HP&fkRuf?#Yc z6s1^kL+{7d;0@u&-jiQ0Ig9~nfMkvDwL9Gyhey0z!uvf~mGRKS$FQX#WHy_=6AWyn zsY%>H+zt)*8fQ&^*k6y?5fpv}6b1}XkI3V`c3DH&)a#XO#5V6EqbA8lVP>Q| z>2-5f(upNYy^(LoF_0MST#2N)9kX6p9BFSD5#tMN2`Qsb&&Ao6v*9D-1@-%Y+SlMW zI}}&9=`J=D8k4)SW^DXkDF^D0lB@F8Sur^7pc-s)Tx|zwsXyGSPV1t(JeyaS$`Lcg zLwtmuOG>Q3*7tQbc5Fsw%|%mza;8m4E)$Cqt$$W<);x8NF(3iVSr*u`*`lUnm1-6~ zroE>|K8J$vvs)EE398AQCvAc=2_h?)ZTBx>*Le8I1PR=0%Fm%pPmBl?cG8ByqwO?# z;W61SV|4&iY722k2yTy*E1^fU2kOVouCbQ-+G49ggU$`+311DY;c;frfcj^af!|bS z{b&k9%vZS}?F0qGCByiA6Hrcp8g*l#OaOJPOpp!KFjrE6VA2INja1dNypL}+r}ky+er0Y6pVdR_BToj+xS&9gA9ix&w-(+BtQu+$eQ z7LwbtEi=w(LPcYRyJDgtN*VOpdKa|bS#nO`oYA?9PaMjhQ4l~fV1nVkRXd(F;56}t z`DiWn!Z`-#n?f=*NfBumn{=UbS&(xDHFrK`fcvZCtsbWP0%hOq?$PR(a4}@sEDq2V zfz?Vb+bJY$1ZT_AOO5_F-}yYyvO#v32m8%^YwQw-&5Wh%K>eO>$#Yhf5jwd%=V%KI zz{(!$v4~S~Tm5fz_Iry9XLJ1EwVZ>YT5f2g2hO0&g;wv54C`I@eRC*C9uH-Ffhz9S z8qj6Tm%fDLPBOp!-=n)f&T|C6K?=b_K-v&j#6Vq}iTe|<4VK>Lvg3jEA%iod#~}+X zv*y(xm8)WZMEIRV#%ucWt=@zVR8`hPag6~gW1LhX8=sl?4N|qMK9TCGkZ7UR{gt07M#U3>tB%qD6iAl!V&iR-_MM2 z@Ya;11pmTMPzsdY6Cw0ix@}64&D7ZJW-+9n1?5gDtIBK~!?J*bIoZQa44sU>F2wFd z6HyNMGUKX2lUb<~Dt9B7#r@fJA1o-Me~)EjZXX|bv+t9W**#}RT&{t|B3LOK4c_Ey z^=h>89guh|YaBW0rhtO@HElMjUn<>+h3kVSRAg5y%ILGac+zHZp8yk278$1Hx|k?c4>lBTJahO zWTIGXk4C%vG|D6~hkgIAlQ-OpbMgyQ<=^~2>I4pEoo7K+B6=o^>okXA4>u8@MK*ka z<68U{*dRS8-e&Z;)3BxzZA8{2DaW02^#`jaW*x@Kl=$wAvh4V`IUu-1^%~!_>L6=x zR^~g443o`3Ik&o&5LzQhqh}>-_j_~{NTi+3QeP{UsxeSPXSN$Ra>O6B z)A^*~iwi=HIrc0=DN~`RF_fY>T}}{9SWUu|0=skY+ynHYqCpy9djh9LYFh>?u3)13 z{)|R_ozHC#7u?cPYzo}$lQkhI)j(C~-ZioWu`Q}(3OkM2jJc(ZIsFp<%O&!qOJuiK z1yhQ^;B6BFF1@S8qjeC0Y1zcL=NhlAS4c{KEr5?n) z;rI3j59Z?eH7^4mAhGRB-4Mu1_1dp@S~nx?$1!kTO{X7ac&}#?>u|3~P5tws_U}Yz z%R>|L+uxNT>NQya7khB=#nw9@>g&~F8K!yEhS&2fwQP0;-|X;ejs|VttYu8zoKdzj zfet1eA9VfhT;r#;aC=JTs2w6pGZ-2%&>gD3P5G%dDgYmqy7>jESdfOsrt(c4h~Qu> zKUKb<`M|RyMVo>P-y8DJ%{+8t2WIx5S-{gw#9=HT<>l8g*??1rNw5;Q8Vr?ffj-vE z!&t{pd3}Tvsyj4zVujy#Ju5Sf&<=x@(#VE6d~(Wv1Qlvmc~-4JZlw~OcmrI?DO@=n z3S)%|8vD@I)usI}zO12+Gd$5W~p^*#Ko->7-n<#{q*`_}BCmrX`o zkV&A|7DtmzBMwdEmo_Y=5A08=(#5mtRf&0MPT4EZuAM*ckI`paCz=sa_R%VeSvMwW z5=L45b8~y`H632>hT4+@Ywfb$>Y!D8@@*E`4*sENNqYt0B-$&pRUs4%U%Ma}xOt~R zu1W#Hj+inYozE4^snKNyt3I8RRvEi7%NePSo}-#|3x8`Yag>jFaqAP)-M!n>{&$w= zsLLR!5FxNJh)hG*ORXLJyGQ|N(5ud<+8}mWwC(Xx+&HbvRy$nLwS?!|#rvp42p>E)_6DXTm`FYtSCE|II+~Lu~%(P1rQ19_Cve?gL64bSc$2f1LB{A;S(N zxPhU?o?U1;>hi7t`jPl;laSm0@XsT&6#K;u_jSq6VT=Hrn2sM+NlfO_HJ9TfCxN)b zHp+ZQO=Wq~({MCp6)1HAh<4hHO);h7z`%wZZh0Nf% z>irD;v{vzZFlP0&adE*}J%bV~<%01Tzdjb(Kfy#lQz>Mpr2Nh%CDf{*Wp6M-`vzOb zcBb8)-~QQN%-~HV+Old}qBTH-)`{M8(Dqa#SBDP35&9oQ7Tm2p-gY_FC$)A?+)r^I zw!Y$Zm~2*|e6~AlCZKaSjWvdImo4(COxO14jx{51s4BVY#l3KX>z-MPBc4@7u*oWa z?yvvS10;t+h(9GS&eUq>-xPxSPxELDAqZ1Z)TzP?w~5Ex^;!D~uG=t&HQAtDvd|S= zS93ey5;iG(0qr@R=6@G=9`$7{NM?N^Vag#F>Rw^#$B4MJd5|;xv4<~U=UATwRV+j< zeeJ_ZBp`sp8Jzr{O8KDL5(Q_AblBTh3lY|@H?^74*0a!tisyrcLFN~2Uf}dEN*i1L zgUeltPEUViasu%|REG+bN)`m2Qta=P(Se-N1X1ee-jZ6;uhYM>W2(=vIyr>k7%-(BIj zr?9j->$HRHomoA8*c-aqJ~o0#fry1yBZQnav1e$DFdc>&m^F#qkW<{98}^EygUC1t z*OoarUoI_Iw1;g0ITVAYMK*pxI7AAOF2&t zocr(a4#k1@Ylr_t>M??H!Y(7hC^inm(jmwWP8x2vN3gI|cI>VSP60efN-A7=k20x_Eu6ba@tv5Oo4 z{ck9vZwT5G;457A^OJr3whsh^6z-om+4D^4P!pGiK^J5K?wK`ybPSBSUc}JrQbK6F zA42E=@D@812_$7hcwKT>h=g3ZNU|R4Wn69+DGxE*93dM|5@!ifF;X*8a!@M6$mooF z{w~6-Acn&HK>Jeftd@iaP#8**YG>0pYG4QMUpCYQ?CQ2*Hzg%Vz;t=j4N5cPd{eMbm zxklLaq@*ZV@cmeR?-cR#K6t0M0^6Cs7pVw!nZU0o+uI$(dw@=tC4l$#hoGO^U*!M<+A0~cPRMzyrXmJzI3&06ho-KWv6^~RyT$8xaISCl~mN01xPDu2f4TY?n$}r`uTr|+Ok7vSbe+?8hK;%!O}=?NoHZmB zSY$ts|1{;;ddudDX@A`GxD?pry=-@A?^+#r+}OG^;1yTA;LMO|LSFRsngV@N@vd2 zDAp!mS)G-4ZQ6^#QM<$53HfmoB3eXzHG~4@Z3o$>`Qa~DmzyWUjvzHMvgEj5Q~Ln} zv`RzWjn)RrG6ehn3PIs;2+m>LG)EEHsPfWH7}&a)V(x8pSqUmP4UC!YRY~uUX^+j@ zEIR?OGa~>moCDSDpeh%H0Hxs*<8yI{3nborNZ9%h>wba#FO4>`F%e^u$-*X$4nn&Ml zzx>Ei#LSe}g+ptHi}Cx-!C0S5=WXT=1(VyzRqIlRbvL7)Kz>3t!S>jK!{KBUE3)9* z)m50hr{NS;XZgpM#@ufYOPl z@_9eq0en6U9Yw5dI;_e)-C(EvQ|$Zlg(*qE`eK>h`w41F_QzdO-|OaM=Z+sV(Q?G& zsov+y)i~P}LRr&RzQDN2vfJ5P;=tP0$HUGZ;IrB7vDbXO@2BAF$_|y_^T^Tdl+VX) z9IEB#+o530lS4rJ^#Gw=$LISc;G*;OqJxjm?mlb>`tvb>r~4~r?~R3y`)SEQ49O% zuwV>NVEw~^a)sJxtlLp;haJ=_4 z4dclC>z=n0eI8$({?IGeS^#bNGuZPC4tN6o`urAhHrVxXU$ry96Pp7yH41!sM)&SAsB3-CNFG5ET?Gp2fd z6l(bpmvnmN@H{am`**Cgc`T;&iX|cL(>laqg%m2KuhB;@U;XW<^{E)4%TwntsjD|3 zCif{r?d^$Vwu6WMZt}<5H}9(eKw_zv#7)hwVgBE{hw9IC-j*gc_Dp29<0oKRN9Dgn zwj5e)Zfx)YvT&cpfVbngNafQX!4`KW$_wPIWzZE~q_grmrsOiEPR8AAw=o{qWb(Ur ztu8#j>@#B$eIDwv&sTK#tIr&KN})>Kf0zC^p)B(&@g5|Z5O^xhD!FN9$^qB5yeA{0 zune2~r5_xIzH}5Ob`T`GqYn-OD%V<@r--H=fcze>R5Ktu@*Z{=F9Zk>^&Yml`1$fi z#)=0I2$hr#+*IGThTqyr`n;k=vb@>VbU)zooF!YYju6x)OF@*5fhMxu&$5^98Do?% z6sCH>M1M@ezo>zVsdAVaxkczKM+dhL2Y>#414+bzQHy6-KIW2w2{l|3?X|DW^#qW_ z|DG7fxQHzLl3#PR4Ll&*=kccSmZIt=i9Vj7Is^x0@o9Hi| zk60&C)>F?n0Ti;@r}o4z4`zyDt#V%|t36(wJ zGZj6-@882QvoqFH=$XPP787rRs%pNXbP(7JhP^_;7ag#c$OT=rHR%w3pt6>ZEz4g~ zBc<$kFIbe*AV(MNA;cs+)wT0vPnOU;XBbqqI=;p`2`2A)UhfXf=w=`*acnn_at_hp z{t~lmiChw2jJSg9EB{GQML%SHN__aG7oQ}U@dyhgMl~sMWgD1?>?QbM0?Ii^`l$}s zEF#^2gPf7p6xz>F=uj6e2G2ZA*+XT!OUzW^a|*K9gcq?-n^skR zw0gCBcCri9-+~6Rau;B4S_QF{#uM(oZ+gwFHb(!WS6GI8hjJ(c4h_6!R2m}xi1Z}- zsU%7^KqYa3*iLuSt+yBHLycUJ&m52M;`i8?{1P4Cd)C;Iwt6o>vd;vrX*?RcfvfX0 z<>G0cA&aJKJ54Kvs9M7dm#b4%&obs|$de|Rc5+7X~XQ8m+SS6g~mJ2fzmt=W{73K3wvdN_8zo*^7NSA z$4%U4oCMK|5j3)6zx%3@dM0(Y($h3quNFtRE|md)5GrdstCqC;?75YD=hmrgL;3!^ zql!}NNhuD9Y7Tc-yduR`w!+(pJtJ%qz~C`v+Y|D}V)<9P_Ioi;%562=Q$nf-r7sFEk+4Q>DeR#g&o&+RyNKTgivM z=lP$#i-@u7?SSb~`^VSkCj%a+=qH-^R{IC(AGYxorP=(C`Y5okwdhNYZXFGXLg0py z{>p(hICt|{E|#Eii2U8f-HJ2Hk_tZy~Dx9K~S~sf38>`@{9PRaF2V+TWo+NH_i%MCn1XR3?JK?ryQ=ZTz z@BKSU_-e%is-)cwDIR#a7Kwkd7bg3LYzzPLuGr^85awasj$LnWu7Kr+W|Rl_PbY6FX&2j=UwNZ#rpJ z0f^b~9{gqI{9TL=(+w^PRfY7kX#Wl#?7Onh;_ zN%=X9n~94^e``G&_+`A^b2l@k<3rq(xu?&#-_hYe)t2;NTgW^v;f5Z~PnQK(Ro^0t zux=+TfINDl3_lh~RIR|hs?#a8bOY{{7w}i6@44Bwl8RcsjTpBS>6V^o2@I*nRTvsp zkiHup1Rx7E$A~p3Er2Zd^HD$0PxT@a`NS%;*Enyam89;VFQ(}%IZWR^!*+K2hu8j+ zQp+Vb9w4qJlrh#BM2Fx8gVWGcLSyAUQoboQ^c|99F$|e%>4;m8v4oMr(&OWFG`o7T z#qc4Rzd$}*rQVtPj<4#LSrh|F-Pw-8k%2Lwtrp9I$_Uyifg7i ze#W;LZg`>8kBpl(9)_|OBu})uQvC1wrN{2yc;==H0f$O)6|$&CH4&1Rcubnd_OR(4 zcWxJ+9o!K0J6M3Li5R)=Ga|s5UAcMik(xIN`Z)2jbHpqvpE~(%B94|b!|({p`VWlx8F}d7rWK*dt5tuiN|E;d+twctjj4Yw&ZEgx7t!N{*(T#j161}+HC*SU7>cTj`B~lV>|v15@ej}Xu1DBQ zdx}5-Tqigv-0a$(;FHq`+Kxt{d+UJtOyM?`Y7PP}5nWYc)`yzPxhS9~!vQPhlp8*aI}(qD zfr7OW6W`~#oYl34nu>qk5203FtI4^khSP6;+o{=0{BYjVr%4~_sI z4yu|U&PKB(^DEM+Qk+p233KEQOr^0oV-_%dsc?luU6%jImq>lX15-WBvX_TuN z>0=(E>2zmozlsm+^s?NQ`7h9fHyGqIX>Y~h=g?=N^N{eVEf`n_2?X$^_FtT2E*xkB zQ^avg=<+YZ0{R7;fDwDGe91+1n~QxRDs$=2(QW^-`hIbO#&%l%1Ga3}lTPFJnooER zZT!Ou1nOJh_nru@;}H40UH^Ee(|aD>*&T@JQPv~kg2?iESlPkudK$2O5S&E9w(hW9 zU+2a8fFa9pdu-eCDi+|spI7QT7)uE`%<{0VcldmNL_VC%INmX`sDdVh8B0c_qC za&eeKOP&b%4EXEe-EJ9bKihBU9q<-MB?}Tjyl_+xX*HN2-y=Tvhe+u*WpcM(+fO-}{4)p8-*0MEx;F z;F#u_T_6s&&RarFZNC;RYKn zSe1L^S-hqz=o6BW=4%1~Nbxq-?~PIK-(Fl@za{UDw``A1Vm zwQs{km97Emrx8D0pX^P-T@{7JIk|5D*+V^Ipw*Nc7?4Ztg_|_ffxC0!c{sH(^4o`* z5H{y-Bx4=2BP=_6oOk?hSA7X51n48aM*ZZp2Kjw1#-XU%Gh!M2lkbtN9u5Mg?z{Xq z!tL#C{Vs2)m2ucxJ0?1v@&jXdpEgje;VH{Szd(Ouim%7ul>Aj68@8|*Rg013y!x$H z$Xh0KQcQX!hFvp;<^1<#@ixHv1cKkeiHYY*gR5%aj27!HhbRqn-tR>3ewd?XU~?g( z^hU7Z;y%WjdH8R#qp$opnfDjIm!+nPuCY-npS@K5skbx~z9fEd=#6;4u!;{BMs{^J zFxQwMpeW_07B&&OJMq*4eS}mDN3!SAX(rL;MtKMz%ndM{cxslIT`ZtkBWEK+yc|cy z`xD;K3s}d%h9nFlP+qo1t2VnGvpGWnCb z{hQQwYB!?OS~Fl)R`xh!Z+#n*>M1mTROo@cvi+C-Sm6?O!2hb=+~1kt-#D)FpdN=( z%Mv-2^I7CLk24WpjhUJ=DLl?|SPn(RusIgdoMJJ|A!3bKhB-#@P>)m6*o2X0EWXqC zulW9cU-##_KG*g6+}G=Vzu$EeCllMwBrQ4x*I3PLO*dBUmspu%r+g0WMkLuHhZC;y zAexqN!pl2f(GpsAFVGmquAAzR4fe-+8@30cqKLaTgOWIj3>zLE`U%gKfj7 zWdteZPqpQiodb)|lc8{<$qpXHJw`IgLPGESs*fRR_r#gkzDs@SXcF2)C9_?vNV(ru zW9wUPrjS0X9wDv6Dr=>^g!;^pjX8htA|UYnei~f;A+K_Q!z$W}{8+53W_?`21De5D zJ(k?6jGuO%wNY#95b7H6L%6yGy9p-31YPCuK5y|6Urc#s?FnO|djPq;d?h?Dg*0Zn zQ@bygalCh^Jr_{4@zQqhN}CZnJiVmcKeq+1V)M110)gjwY^&6djpWQrYEbKC&16nwU4o&55y)AS(^7h zmHcZp14EdfFTK|QU0Df*EfMyqdO04hs@Zz-mMHSaGRL5++c$GVz{!uEG1=E&`&8W* zn^ao)$<}v(HvpU2x(Cxy6OF@P7d||YvC_cT1!h~UJsBkb`)6@2qy>&1i$Eo2Ge2)f zV-8;v)Gm=vUlaCnW69geOp%a;O;9(6nE(NA)#wKkr3Pw%zJ3E6{uEEQi+>Pga+Hq` zCpm#FLMu=)^^eTE7c0Bp7Xx_cf^m?AP2C##=IMoq_}n}@XZ6jRyF^BcPmu8Hviz{v zSWOR-pEz)1H6;Y8$>E#SI-Tg{x?4|Gjqm6|7fpJ4Vq2SS~F&P2be4~*ye&LG5lC%d#-Di@8_&ciiGPqva&avE`L;Zg|z zUdW{WK1#E$7dtIT8_EaOhYhFZGwZi$VwnuB46xxP{Q60W&4!nxPJ)`z;9KTYNv7|T z#=G9wX0g?BfntDPVR!Lrp5VMWF3XZQ6ZT7CFGK}w-(#9{SLA$%;hhodq>rJSVDqbR zfEar-X8~?=(3@p-67xYJHl%NuSK^Vgm}78_owB!D8t`clU(0kE(x2i;n9>{7ZV&bF zo)3InIKxE@u0SbHDMkY( z-`MA@lN3EH)Fnb#HzmCiF>*{Ol&i{3Ea8V^Opa3-*y5~TJLb5(e&xvty%C{Ot>j^pmfrYi?s{}MjBSb-CR#guAm%+=Xag$9L(SlyuK?(R1 ze=`rmmxXdIO7=)uBugjM`?dAviDQw84c+5%tYPfk5DM2Pa~`%6G$8Fto8s^brM>3* zKqDLHi`T_o*{;Yc7CGrYvV^B*oTmwy?AoAc8Mrv45xIn3DKEiOlvmfUS-HN&a8^1%-t-}*D7=Y)L1JxWQBA}u&O2wlopr-2#mLKPxghSP ztaymPHT2l8r^XtPWh@D`+YM?^k_hV?ko{TcI41$x=%x0rJ$$sISJ!DdTdLR50cWZh z%-=OD)U5U83Kp}5(QQp4b!);pC0~KG#i+UR;tc4OQy_Cvf5l?LoH%Z>KC zr{pNU0?66A^lbckOSMVzhWm7#0^WIv6R$G~Rv1|hsEulT__yeU4Lr~5YwT9FsXLHm zDb=a!LdHRLE0m@Pkdh1t z6?;zWX1F5AOZr<%UFo?BPnLEB<(Ru&1v2RYOzoj_G2c(8Own_;7r{Sw)8*LP)u#AV znYKSv2~9G^&Ns8sFOExg9Z6{+7sRhi8`{@-Wx#(u1JM^`iqd50=LlbYGl(w-z8Vwl z-T!5q=cq4sC1?)+=@iAr(6=M-f4-F%6OT@~#YYliI}Q)>1|rk7Im2sRX$mT`HM_j2 zaqvw}M|0~ID*4J1nwkH3H4bxhAtQ?DAOV}k+P`f33u zk281@<<{h>n>}Mj2oq+LxKD}$h;c$;pzL#C8oX3%dI!1yh(&8&D}kj(kYz8idY*wZ zvjX{ICsj2dd(x1B3bUUTVszWPl>#P~T3Gd3FC~z;LINO&`@CL#`aF8z)YTXZgn{B5 zA943fj(0YH|B6uCt2YLvqYAljg*`>LqWD!zu9wO?-@)ir98ZppD)R<)Af~(~)W>Wv z+Bkqq6Ijjni@qTER*081=y(uz>E0wiWqZnRncs2tj+|DikEr6>uhAXCAxx znK9!V6%zV$BO?1TF7DVy5>NP+%7@!K^*^jGtku{zLsLTXWkR-O`jSd%X!(Bazza5| zzP(F@G>imRz1*Q9F=CIiWr~6)#ABUG4!h8K4+aB~*20F|eU1)qFBj5vA5_`W2W+0) z2aI1mr%rx2$LD>eKR)iJm!Ho2kw!B$8>+SA?te-qO6z0eCazIih8ENq5P{3ZyMld4 zp|?%RVo}&sT|?E3PJRh(Qpw@&3t%mAC9*^|mS z4YjHZ$)&(-s_1Rf%VwKjLm2N;+O>e8@78#PfU(le@7FPv>`cvwy{i#enhq`VpWFM! z1ui4wk;v1~ctfqY6*CD@$cT>NuOA<<@>^aDhoFR!KzFUW)K8oJ#s^_?2SW3cR!Z-x zY@eo1N{U^&zt#jU7!&;Y2S+uJIhFysoyK*@U>|9{hTFqh?`S8(+G7}BOewRTx8qAS zVVwv#)M!>v$mqv=d+yc@jqm2(DBZNV(w?1QZDuLMtgia2klaMFU5F@nBF>f z;^N|L^t=(QD=roqpRax-eTqLim0RAK#DEP`)w@PeEKz z_yL>s;WVvr?;ds$Ww1V-0e=col$MX@?qkukzJv2zzWn_O&0*Ai#tP1IL7)4TRO1=q z_VW#~^*0>#k|T^aEE&{Xi|J=l4q0DU4hoc9>;r(`ndeWh2zdP|*@pb>9Edt1;3%mK zakJk%eETmB0;@cjR{ZTGm_E9a=@jKC{@;d#prhJ0E^plb{0AaOjYOKKHI9H-rtx>} x@wEDi-|*~q)W~hXyZ^|?kk$SFe&}wZ<%j;cuCdd;9D4|tjfK5=gQ;iIe*tw~c&z{c diff --git a/docs/sponsorship.md b/docs/sponsorship.md new file mode 100644 index 000000000..a9071adb7 --- /dev/null +++ b/docs/sponsorship.md @@ -0,0 +1,184 @@ +# ✨ Sponsor Starlette & Uvicorn ✨ + +Thank you for your interest in sponsoring Starlette and Uvicorn! ❤️ + +Your support *directly* contributes to the ongoing development, maintenance, and long-term sustainability of both projects. + +
+
+

67M+

+

Starlette Downloads/Month

+
+
+

57M+

+

Uvicorn Downloads/Month

+
+
+

19K+

+

Combined GitHub Stars

+
+
+ +## Why Sponsor? + +While Starlette and Uvicorn are part of the [Encode](https://github.com/encode) organization, +they have been primarily maintained by [**Marcelo Trylesinski (Kludex)**](https://github.com/Kludex) +for the past several years. His dedication and consistent work have been instrumental in keeping +these projects robust, secure, and up-to-date. + +This sponsorship page was created to give the community an opportunity to support Marcelo's continued +efforts in maintaining and improving both projects. Your sponsorship directly enables him to +dedicate more time and resources to maintaining and improving these essential tools: + +- [x] **Active Development:** Developing new features, enhancing existing ones, and + keeping both projects aligned with the latest developments in the Python and ASGI ecosystems. 💻 +- [x] **Community Support:** Providing better support, addressing user issues, + and cultivating a welcoming environment for contributors. 🤝 +- [x] **Long-Term Stability:** Ensuring the long-term viability of both projects through strategic + planning and addressing technical debt. 🌳 +- [x] **Bug Fixes & Maintenance:** Providing prompt attention to bug reports and + general maintenance to keep the projects reliable. 🔨 +- [x] **Security:** Ensuring robust security practices, conducting regular security audits, and + promptly addressing vulnerabilities to protect millions of production deployments. 🔒 +- [x] **Documentation:** Creating comprehensive guides, tutorials, and examples to help users of all skill levels. 📖 + +## How Sponsorship Works + +We currently manage sponsorships *exclusively* through **GitHub Sponsors**. This platform integrates seamlessly with the GitHub ecosystem, making it easy for organizations to contribute. + +
+

🌟 Become a Sponsor Today! 🌟

+

Your support helps keep Starlette and Uvicorn growing stronger!

+ + ❤️ Sponsor on GitHub + +
+ +## Sponsorship Tiers 🎁 + +
+
+

🥉 Bronze Sponsor

+
$100/month
+
    +
  • ✓ Company name on Sponsors page
  • +
  • ✓ Small logo with link
  • +
  • ✓ Our eternal gratitude
  • +
+ +
+
+

🥈 Silver Sponsor

+
$250/month
+
    +
  • ✓ All Bronze benefits
  • +
  • ✓ Medium-sized logo
  • +
  • ✓ Release notes mention
  • +
+ +
+
+
+ Popular +
+

🥇 Gold Sponsor

+
$500/month
+
    +
  • ✓ All Silver benefits
  • +
  • ✓ Large logo on main pages
  • +
  • ✓ Priority support
  • +
+ +
+
+ +
+

🤝 Custom Sponsor

+

Looking for something different? Contact us to discuss custom sponsorship options!

+
+ +## Current Sponsors + +**Thank you to our generous sponsors!** 🙏 + +
+ + +
+

🥈 Silver Sponsors

+
+ +
+
+ +
+

🥉 Bronze Sponsors

+
+ +
+
+
+ +## Alternative Sponsorship Platforms + +
+

📢 We Want Your Input!

+

We are currently evaluating whether to expand our sponsorship options beyond GitHub Sponsors. If your company would be interested in sponsoring Starlette and Uvicorn but prefers to use a different platform (e.g., Open Collective, direct invoicing), please let us know!

+

Your feedback is invaluable in helping us make sponsorship as accessible as possible. Share your thoughts by:

+ +
+ + + +## Community & Future Plans 🌟 + +We want to express our deepest gratitude to all the contributors who have helped shape Starlette and +Uvicorn over the years. These projects wouldn't be what they are today without the incredible work of +every single contributor. + +Special thanks to some of our most impactful contributors: + +- **Tom Christie** ([@tomchristie](https://github.com/tomchristie)) - The original creator of Starlette and Uvicorn. +- **Adrian Garcia Badaracco** ([@adriangb](https://github.com/adriangb)) - Major contributor to Starlette. +- **Thomas Grainger** ([@graingert](https://github.com/graingert)) - Major contributor to AnyIO, and significant contributions to Starlette and Uvicorn. +- **Alex Grönholm** ([@AlexGrönholm](https://github.com/agronholm)) - Creator of AnyIO. +- **Florimond Manca** ([@florimondmanca](https://github.com/florimondmanca)) - Important contributions to Starlette and Uvicorn. + +If you want your name removed from the list above, or if I forgot a significant contributor, please let me know. +You can view all contributors on GitHub: +[Starlette Contributors](https://github.com/encode/starlette/graphs/contributors) / [Uvicorn Contributors](https://github.com/encode/uvicorn/graphs/contributors). + +While the current sponsorship program directly supports Marcelo's maintenance work, we are exploring ways +to distribute funding to other key contributors in the future. This initiative is still in early planning +stages, as we want to ensure a fair and sustainable model that recognizes the valuable contributions of +our community members. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 858e24008..c800e40b1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -44,6 +44,7 @@ nav: - Server Behavior: server-behavior.md - Release Notes: release-notes.md - Contributing: contributing.md + - Sponsorship: sponsorship.md markdown_extensions: - attr_list From 786f9b33c85471e086d0c28cefcb56f8e03dff93 Mon Sep 17 00:00:00 2001 From: Marcelo Trylesinski Date: Sat, 8 Mar 2025 13:50:08 +0100 Subject: [PATCH 2/2] Apply suggestions from code review --- docs/sponsorship.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sponsorship.md b/docs/sponsorship.md index a9071adb7..59655bdaf 100644 --- a/docs/sponsorship.md +++ b/docs/sponsorship.md @@ -109,7 +109,7 @@ We currently manage sponsorships *exclusively* through **GitHub Sponsors**. This

🤝 Custom Sponsor

-

Looking for something different? Contact us to discuss custom sponsorship options!

+

Looking for something different? Contact us to discuss custom sponsorship options!

## Current Sponsors @@ -171,7 +171,7 @@ Special thanks to some of our most impactful contributors: - **Tom Christie** ([@tomchristie](https://github.com/tomchristie)) - The original creator of Starlette and Uvicorn. - **Adrian Garcia Badaracco** ([@adriangb](https://github.com/adriangb)) - Major contributor to Starlette. - **Thomas Grainger** ([@graingert](https://github.com/graingert)) - Major contributor to AnyIO, and significant contributions to Starlette and Uvicorn. -- **Alex Grönholm** ([@AlexGrönholm](https://github.com/agronholm)) - Creator of AnyIO. +- **Alex Grönholm** ([@agronholm](https://github.com/agronholm)) - Creator of AnyIO. - **Florimond Manca** ([@florimondmanca](https://github.com/florimondmanca)) - Important contributions to Starlette and Uvicorn. If you want your name removed from the list above, or if I forgot a significant contributor, please let me know.