[{"data":1,"prerenderedAt":299},["ShallowReactive",2],{"project-48859387":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":44,"post_text":46,"what":47,"said":92,"maker_in_thread":178,"shape":190,"grid":194,"attempts":261,"same_week":262,"maker_shows":45,"maker_hidden":291,"reader_version":292,"card":293},"48859387","Runloom","Go-style coroutines for Python free-threaded","title","Show HN: Runloom – Go-style coroutines for Python free-threaded","https:\u002F\u002Fgithub.com\u002Frobertsdotpm\u002Frunloom","github.com","Uptrenda",1783688858,2026,47,32,1260,4366,29,"shown","languages","concurrency runtime","library",[24,25,26,27,28],"python coroutines","free-threaded python","go-style concurrency","green threads","python networking","mixed",-0.109,{"positive":32,"neutral":33,"mixed":34,"critical":35},2,7,1,5,15,{"execution":38,"docs":40,"idea":42,"design":43},{"positive":34,"critical":39},4,{"positive":41,"critical":34},0,{"positive":34,"critical":41},{"positive":41,"critical":41},[34,34,34,45,41,34,34,41,45,41,45,41,35,41,41,45,45,41,45,41,45,41,35,45,41,41,41,41,41,41,41,41],3,null,{"problem":48,"audience":55,"pricing":46,"motivation":65,"time_to_build":69,"stack":73,"openness":90,"stage":90,"team_size":91},{"value":49,"source":50,"evidence":51},"Brings Go-style lightweight concurrency and faster networking to Python","maker",[52],{"id":53,"by":11,"text":54},"48930088","I've restored the git history. This show hn probably would have gone much better if I knew you could add a text section to the link. I had written up a whole post to explain the…",{"value":56,"source":57,"evidence":58},"Python developers who want Go-style concurrency","inferred",[59,62],{"id":60,"by":11,"text":61},"48865943","I want to use Python.",{"id":63,"by":11,"text":64},"48867793","It depends on Python >= 3.13t, no-gil (so it can use real OS threads without locking.) It's been tested on 3.13t and 3.14t. As far as I know future versions of Python beyond that…",{"value":66,"source":50,"evidence":67},"See how far AI can push a complex project and improve Python networking",[68],{"id":53,"by":11,"text":54},{"value":70,"source":50,"evidence":71},"About 2-3 months of testing",[72],{"id":53,"by":11,"text":54},[74,82,86],{"value":75,"source":76,"evidence":77},"C","commenter",[78],{"id":79,"by":80,"text":81},"48861211","simonw","This is an intimidating amount of code! 12,303 lines of C and 244,740 lines of Python, which looks to be a ton of monkeypatching plus huge amounts of test code. Only one commit…",{"value":83,"source":76,"evidence":84},"Python",[85],{"id":79,"by":80,"text":81},{"value":87,"source":50,"evidence":88},"Python 3.13t and 3.14t free-threaded",[89],{"id":63,"by":11,"text":64},"unknown","solo",{"praise":93,"objections":104,"requests":126,"questions":140,"alternatives":158},[94],{"value":95,"source":76,"evidence":96},"Impressive project",[97,101],{"id":98,"by":99,"text":100},"48862464","ebeirne","This is a seriously impressive project. I see your pitch is M:N work-stealing across real cores on free-threaded 3.13t\u002F3.14t which i think is only possible because nogil now…",{"id":102,"by":80,"text":103},"48930552","Nice! Having the history makes it easier to evaluate all the work you've put in, this is really impressive.",[105,113,120],{"value":106,"source":76,"evidence":107},"Codebase too large and built in one commit, hard to trust",[108,109],{"id":79,"by":80,"text":81},{"id":110,"by":111,"text":112},"48861526","tfrancisl","250k lines of code in one commit is reason enough to disregard the project entirely, IMO. Vibe code if one wants, but that is just madness...",{"value":114,"source":76,"evidence":115},"Monkeypatching is hard to maintain",[116],{"id":117,"by":118,"text":119},"48868465","OutOfHere","I propose separating #1 (the main API\u002FSDK) into a separate core package. This will be easier, smaller, and cleaner to maintain, and will meet the needs of many users with new…",{"value":121,"source":50,"evidence":122},"API and docs are messy",[123],{"id":124,"by":11,"text":125},"48868632","great questions: I'd say start here for some basics https:\u002F\u002Fgithub.com\u002Frobertsdotpm\u002Frunloom\u002Fblob\u002Fmain\u002Fdocs\u002Fquickstart.md…",[127,136],{"value":128,"source":76,"evidence":129},"Restore git history",[130,133],{"id":131,"by":111,"text":132},"48863214","Whether they did that or had an LLM one shot it, I dont really care. Commit history is pretty important if you ever want to try fixing bugs or improving features in the future.",{"id":134,"by":80,"text":135},"48866793","It might be worth recreating the git history from scratch in a way that excludes the markdown files - I've used Claude Code and OpenAI Codex to do that in the past with…",{"value":137,"source":76,"evidence":138},"Separate core API from monkeypatching",[139],{"id":117,"by":118,"text":119},[141,148],{"value":142,"source":76,"evidence":143},"How does it compare with gevent?",[144],{"id":145,"by":146,"text":147},"48860264","ksdme9","How does this compare with gevent?",{"value":149,"source":76,"evidence":150},"Why not just use Go?",[151,154],{"id":152,"by":153,"text":149},"48861077","hsnewman",{"id":155,"by":156,"text":157},"48866747","bigwhite","Why not just use Go, haha?",[159,167,171],{"value":160,"source":76,"evidence":161},"gevent",[162,163],{"id":145,"by":146,"text":147},{"id":164,"by":165,"text":166},"48861768","CamouflagedKiwi","> its hard to evaluate how much trust can be put in a project of this complexity at this early stage. I don't know, I'm not finding it hard to evaluate that at all. I've had bad…",{"value":168,"source":76,"evidence":169},"Go",[170],{"id":152,"by":153,"text":149},{"value":172,"source":76,"evidence":173},"Python threads and processes",[174],{"id":175,"by":176,"text":177},"48862189","vorticalbox","then why not just use threads\u002Fprocesses in python?",{"comments":179,"answered":39,"key":180},9,[181,184,187],{"id":182,"text":183},"48866129","This seems kind of like a laughable and shallow reason for you to disregard my entire project. >book too large >didn't read >0\u002F10, heh Most of that code is from: (1) simulating…",{"id":185,"text":186},"48865915","I just copy pasted the work from my old repo into the main one. The main reason was hundreds of MD files and agent results were added into the repo that would have been…",{"id":188,"text":189},"48867724","This is a good idea. I'll restore the history in the coming days. Just want to make sure there's nothing embarrassing as claude dumped so many files.",{"commenters":191,"max_depth":35,"maker_replies":179,"first_comment_mins":192,"lifespan_hours":193},18,67,137,[195,197,198,202,204,206,207,210,211,212,213,216,218,220,223,226,228,231,233,236,237,239,240,242,245,247,248,251,252,254,257,260],[79,41,34,196,80,41],"project\u002Fcritical\u002Fexecution",[110,41,34,196,111,41],[199,41,34,200,201,41],"48863095","maker\u002Fcritical\u002Fdocs","ninininino",[131,41,45,203,111,41],"maker\u002Fneutral\u002Fdocs",[182,41,41,205,11,34],"commenter\u002Fneutral\u002Fnone",[164,41,34,196,165,41],[208,41,34,196,209,41],"48864600","4ndrewl",[185,41,41,203,11,34],[134,41,45,203,80,41],[188,41,41,203,11,34],[214,41,45,203,215,41],"48871908","ignoramous",[53,41,41,217,11,34],"maker\u002Fneutral\u002Fidea",[102,41,35,219,80,41],"maker\u002Fpositive\u002Fexecution",[221,41,41,222,11,34],"48930941","maker\u002Fneutral\u002Fnone",[224,34,41,225,118,41],"48869503","other\u002Fneutral\u002Fidea",[145,32,45,227,146,41],"project\u002Fneutral\u002Fidea",[229,32,45,227,230,41],"48861250","korijn",[232,32,41,227,11,34],"48865941",[234,45,45,235,118,41],"48867704","maker\u002Fneutral\u002Fexecution",[63,45,41,235,11,34],[117,45,45,238,118,41],"project\u002Fmixed\u002Fdesign",[124,45,41,203,11,34],[98,39,35,241,99,41],"project\u002Fpositive\u002Fidea",[243,35,45,227,244,41],"48860930","Onavo",[155,246,41,225,156,41],6,[152,33,41,225,153,41],[249,33,41,225,250,41],"48861148","foxygen",[175,33,41,225,176,41],[253,33,41,225,250,41],"48862203",[255,33,41,225,256,41],"48862574","regular_trash",[258,33,41,205,259,41],"48861657","7bit",[60,33,41,217,11,34],[],[263,268,273,277,281,286],{"id":264,"name":265,"points":266,"category":267},"48845049","18 Words",1160,"games",{"id":269,"name":270,"points":271,"category":272},"48842459","colibri",937,"ai",{"id":274,"name":275,"points":276,"category":267},"48896286","Super Dario",397,{"id":278,"name":279,"points":280,"category":20},"48875377","Ant",330,{"id":282,"name":283,"points":284,"category":285},"48883305","Juggler",280,"dev_tools",{"id":287,"name":288,"points":289,"category":290},"48926939","Firefox in WebAssembly",273,"creative",false,"v2",{"id":294,"name":5,"line":6,"ai":291,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":295,"top":18,"kw":296,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":297,"url":9,"mix":298,"praise":95,"objection":106,"sub":21},48859387,-0.11,[24,25,26,27,28],"11130110303050033030305300000000",[32,33,34,35],1794036704702]