Taros, потому что 11-я модульная, в книге модули не описываются, и вы начнёте напарываться на проблемы, которые на начальном этапе изучения языка будут только мешать.
posters, и? Нормальное желание навешать потребителю лапши на уши, обещая неосуществимое. По факту CMS никогда не применяются для серьёзных проектов, так как при мало-мальских серьёзных нагрузках перестают справляться. Та же фигня с гибкостью, как только захочешь чего-то особенного, начинается борьба с CMS, которую делали под задачи среднего потребителя.
Александр Ц., информатика - точная наука, соответственно в технической литературе не может быть разночтений или различных мнений, обсуждать там нечего. Если что-то непонятно, надо перечитать про это или прочитать что-то дополнительное. В крайнем случае, можно пойти на технический ресурс посвящённый конкретной технологии и задать вопрос о непонятом.
Во-первых, это не глобальная переменная, а объект-одиночка. Во-вторых, именно подобные архитектурные решения не позволяют использовать во Flask многопоточность и делают его плохо масштабируемым. В-третьих, глобальные переменные - это антипаттерн. О чём много лет пишут в умных книгах аксакалы от разработки. И в частности сам создатель языка Python высказывался, что оператор global был введён в язык как маркер плохого кода.
KopatychKosalapov, ресурс, к которому обращается модуль yfinance, возвращает ответ не в формате JSON. Такое обычно бывает в результате блокировки при слишком частых обращениях.