From 91e444fe6730a8d835616bee6161472eef036bb4 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Mon, 9 Mar 2026 15:09:53 -0800 Subject: [PATCH] Add Python, as well as Python libraries Requests and Chardet --- README.md | 15 +++++++++++++-- img/cpython-claude.png | Bin 0 -> 16081 bytes 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 img/cpython-claude.png diff --git a/README.md b/README.md index 68d61f8..0f4c36a 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ To Contribute, checkout our [`CONTRIBUTING.md`](./CONTRIBUTING.md). * [Libraries](#libraries) * [C](#C) * [Rust](#rust) + * [Python](#python) * [CSS](#css) * [Game Engines](#game-engines) * [Services and Utilities](#services-and-utilities) @@ -120,13 +121,14 @@ To Contribute, checkout our [`CONTRIBUTING.md`](./CONTRIBUTING.md). | Name | Alternative(s) | Evidence | Notes | |---|---|---|---| | [`.NET`](https://dotnet.microsoft.com/) | See below | [`.NET Runtime` PRs](https://github.com/dotnet/runtime/pulls?q=author%3A%40copilot+is%3Amerged), [`.NET SDK` PRs](https://github.com/dotnet/sdk/pulls?q=author%3A%40copilot+is%3Amerged) | -| [Julia](https://julialang.org/) | Python (w/ appropriate scientific libraries) | [`AGENTS.md` in main repository](https://github.com/JuliaLang/julia/pull/58561), [PRs "written by Claude"](https://github.com/JuliaLang/julia/pulls?q=is%3Apr+written+by+Claude) | | +| [Julia](https://julialang.org/) | An older version of Python (w/ appropriate scientific libraries) | [`AGENTS.md` in main repository](https://github.com/JuliaLang/julia/pull/58561), [PRs "written by Claude"](https://github.com/JuliaLang/julia/pulls?q=is%3Apr+written+by+Claude) | | +| [Python](https://github.com/python/cpython) | Older version of Python; [Lua](https://lua.org) | [Contains code from Claude](./img/cpython-claude.png) | | > [!Note] > #### On alternative languages: > Suggestions for alternative programming languages are necessarily more complex than many other categories considered here, as that's one of the core technical choices to be made when starting a new software development project. > -> Depending on your needs and technical concerns, you may find any number of different alternative languages useful. For example, when considering alternatives to .NET, Java or Scala may be interesting candidates from the perspective of being similar VM-based frameworks, while Python or Rust may be interesting alternatives in other ways. +> Depending on your needs and technical concerns, you may find any number of different alternative languages useful. For example, when considering alternatives to .NET, Java or Scala may be interesting candidates from the perspective of being similar VM-based frameworks, while Rust might be an interesting alternative in other ways. ## Editors @@ -172,6 +174,15 @@ To Contribute, checkout our [`CONTRIBUTING.md`](./CONTRIBUTING.md). Also, there is an advistory database of Rust slopware crates, which you can use in tools like [cargo-deny](https://embarkstudios.github.io/cargo-deny): . +### Python + +Note that Python is itself tainted; see [the Programming Languages section](#programming-languages). + +| Name | Alternative(s) | Evidence | Notes | +|---|---|---|---| +| [Requests](https://github.com/psf/requests) | [`urllib.request` in Python Standard Library](https://docs.python.org/3/library/urllib.request.html) | Contains [commits from Claude](https://github.com/psf/requests/commit/b2a1d33f571518ca9a6148e7da787cc5827f897a) | | +| [Chardet](https://github.com/chardet/chardet) | An older version | [Core developer used Claude to launder LGPL-licensed code to Expat/MIT license](https://github.com/chardet/chardet/issues/327) | | + ### CSS | Name | Alternative(s) | Evidence | Notes | diff --git a/img/cpython-claude.png b/img/cpython-claude.png new file mode 100644 index 0000000000000000000000000000000000000000..5e2025b7e2dfa4907f22d9814c295b9764df0e4e GIT binary patch literal 16081 zcmcJ$Wl&r}*Djji79>G~TW}BV!6CRi2@VN9xCD21g1fsrA-KCUI1Dnl4g+WMe&4CO z_s6L^U)8;Trlx22?!9|Wuhq|b*3;oCN;2=zKBB#O^X8qLtfbnTH*iR>?_DVWK8LHC zMBls-Nt2Tl*Kp4~+dwu^U-*c8;g_H!Psftfb&rqen2UlktRkMmjLe7@;T2elg)P+= zjaK?~g;=*958GUM#VcvH>-SC8d6L0w91ny3^Q*Vd=ZT4p`^7^F4ze0$*SRo zv2p1MQOFl2T)GM?Dm9$G2cYqoI)YDiv2o%Lg^uOpI1p!jwn%W7>+3sEwZPGT?klkJ zl)@>PfdDN;B%)d~-ER%6?AKH9eE3mL{D3?a zEdx#+2M3?yDgEr+oI}^c!vmEVA{}L3o@bX*7T@R_|FB^R3*}D<{vn*j6kh9Mt|?+K znz!9#`n9(@%<`d6c|adLY_csx^2B#)#D|^TY$c;S-mX63!xH8lO?d=#$LjUaF;<_3lEu z?@xTgrB2&PP)6HR5Q{o=1FQH(LTu2Hy8*kmM(-|a$`X@xzgeceyAYCVA|`GKdLfp* z%XLaV_Uu}z5|d04jJ4Np1p3lPKdU>Ixw}nbp7ImblsgkMCt$J5O`E8r!c|PZPg^+W z0rAwzEsB|=C%nEcFSnig1J?09J@%wC$BP-Az znD;>`Mz-K8Jv6I%&z-_kMh#((|>U#p5+_=o93J5zhDA zYTfv}cnCdT^waBA5-R10MC)={?nF+B%E-${WLIDM+O%lYiV z32r}Og+j`cnd*F@o}G73C;Y{2UEd@&icFTyg9+G8pKcurQjGcvM@id|MuYsX76%1vjt^Ub)d20FkI$LD2^N~5li1=7)fW~gPHzMgkt z9WPWxT6*3~hsKbq)|<(-j5$l`ZE#Mrw}1l)jJy$pBXMVX=;&y_0lT}>crEc05)&PZ zhFwP`>aQdgwHJTu!c*n1?=zWF?4nhcC-+=SlAw7iFvpc~A-u;ZEGnTE7UuGD$bU8r zK)}PLDY3|x+CX_QA^t&>&M0o8svGE@EWBJ15XgSyKut~*DB=S-mS6r}xA)MY;dJF} z^6E>??yy(IxE0>>9I$5BG4Y@u{+`w)cRE)b-bD?sNXXlI;A+2|YAqBEkMYR5{r1Se z1?WBZ@YP)s;bXZx5S%KPsM2h}Z-B)w-?tssnvJ|q9ZU3Kmpg+;Efvx=vfE3MY=cm+&6Ow(rcC_C z{)k_^SizLRZ6ChERkAA|9wAWRccri>$VU_8{}xA;RR|N~=4VLxi_%2xwu`rutA&_3 z8jV6+W{N)=&bLyv%3q_HI#bAqx&mSJWCyXX3-_f5tH#IIHjd30c!Z@Xrca<#Tm&I3 zG`%L9U|yi-n0r2)M%;`lGK`Y`#KUS=sM+PwsQatMA4af?2e4 z=xM{lRV15>375r<6$TlnWDng+usFG|Ril!Ai``EI+QZ4L{y)L!stp#3g+)bqp=ea{ zSviOC{h=JLr#hyO2@?+Zgt&!)0gAtQ%0Ayaezu-PczJmlY))ZNM+(Ix9W{z|J##`p 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 z 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 WoYgn06WCGpH*!)+lGR^K0{$24+Qdiz literal 0 HcmV?d00001