Создание документации для кода Python может быть трудоемким и подверженным ошибкам процессом. К счастью, существуют инструменты, которые могут автоматизировать эту задачу, например, созданный мной скрипт, который считывает все файлы .py в заданном каталоге и создает документацию для кода.
![](https://habrastorage.org/getpro/habr/upload_files/e4c/779/49a/e4c77949a2d9d9d1c9157ef84b8abb02.png)
Граф я думаю выглядит лучше чем обычная структура папок
![](https://habrastorage.org/getpro/habr/upload_files/bb2/be7/e25/bb2be7e25eb9f082467d282c600fdf67.png)
Процесс начинается с чтения кода всех файлов .py в данном каталоге и его подкаталогах. Затем он анализирует AST (абстрактное синтаксическое дерево) каждого файла для определения классов, методов и атрибутов. Затем эта информация используется для построения ориентированного графа с классами в качестве узлов и методами/атрибутами в качестве ребер.
После построения графика код генерирует файлы Markdown для каждого класса со ссылками на его методы и атрибуты, который можно визуализировать в Obsidian посредством graph-view. Кроме того, код создает файл индекса, в котором перечислены все классы, и основной файл, который ссылается на индекс и все классы.
![](https://habrastorage.org/getpro/habr/upload_files/8df/0aa/d6a/8df0aad6a4fce275cc91df59c832b2cb.png)
Этот график стека вызовов может быть полезным инструментом для понимания того, как работает код и как он создает документацию для кода Python. Это также может помочь разработчикам выявить любые потенциальные проблемы или ошибки в коде. А также может помочь при онбординге новых сотрудников на проекте.
Как новая функция в GitHub, Gitlab и Jet-brains IDE это может позволит разработчикам легко создавать документацию для своего кода Python. Обеспечивает простой и автоматизированный способ документирования кода Python, что может сэкономить время разработчиков и уменьшить количество ошибок.
В заключение, граф стека вызовов для кода Python, который генерирует документацию для кода Python, является полезным инструментом для понимания того, как работает код и как он генерирует документацию.
danilovmy
Это какая то неловкая подделка под Kolo? https://kolo.app/
sswwssww
Выглядит круто. Знаете ли вы его аналоги для Fastapi?
danilovmy
спроси у автора, Wilhelm Klopp. Я лично его знаю, очень вменяемый чел. Скорее всего там вопрос как запустить, а дальше не важно кто это django или кто еще.
Если контакты не найдешь, можешь спросить тут https://github.com/kolofordjango/kolo/issues