Темы — точно нет, они пишутся только на JavaScript, CSS и HTML.
Плагины — отчасти.
В плагин Discourse, основанный на Ruby (on Rails), можно импортировать модули Python и вызывать функции Python с помощью Pycall: GitHub - red-data-tools/pycall.rb: Calling Python functions from the Ruby language · GitHub
Я использую это в продакшене для очень специфичной задачи, так как в экосистеме RoR нет аналогичного модуля. Это избавляет меня от необходимости переводить и затем поддерживать весь этот специализированный код на Ruby.
Работает это удивительно хорошо.
Тем не менее, основа этого плагина всё ещё написана на Ruby.
Я бы порекомендовал вам также изучить Ruby on Rails — это действительно приятный язык, и, на мой взгляд, код на нём читается лучше, чем на Python ![]()
Мне тоже стоит найти время, чтобы больше узнать о Python, если возникнет такая необходимость.
Интересный побочный факт: часть кода в Discourse Chatbot 🤖, отвечающая за поведение агента, была основана на Python-агенте под названием “Funkagent”, который я сначала перевёл на Ruby on Rails (а затем модифицировал и улучшил). Так что перевод, конечно, может быть вариантом, если это имеет смысл. В данном случае это имело смысл.