I've rewritten #Fedify several times and in several languages. The first time it was written in #TypeScript, then #Python, then C#, then back to TypeScript. (It was codenamed FediKit at the time of development.) I settled on TypeScript for the following reasons:
• It has a decent JSON-LD implementation.
• Lots of people use it. (I wanted Fedify to be widely used.)
• It's type-safe enough.
Even if I were to build Fedify again, I would choose TypeScript.
I'm sharing a prototype of #Fedify written in #Python, codenamed “FediKit.” Many of the ideas for Fedify were already implemented in this prototype, albeit in a different language.
https://github.com/dahlia/fedikit