I can recommend Norman Cantor's Civilization of the Middle Ages for a really great review of the different views of what happened during and after the deterioration of the Western Roman Empire. They range from "a time of violence and backwardness" to "a lot of people may not have noticed." It's really a great book overall and easier to read than you might expect.
He also wrote Inventing the Middle Ages which sounds like it might be more focused on your question but I haven't read it so I don't know.
I use this stack. One extension I wrote is https://github.com/quantecon/instantiatefromurl.jl, to bind generated notebooks to Julia TOML (i.e. Julia's `requirements.txt`) that lives in a git repo. This means they don't depend on local machine state, so can move and run freely.
https://maemo-leste.github.io/