Создание документации для кода Python может быть трудоемким и подверженным ошибкам процессом. К счастью, существуют инструменты, которые могут автоматизировать эту задачу, например, созданный мной скрипт, который считывает все файлы .py в заданном каталоге и создает документацию для кода.

Граф я думаю выглядит лучше чем обычная структура папок

Процесс начинается с чтения кода всех файлов .py в данном каталоге и его подкаталогах. Затем он анализирует AST (абстрактное синтаксическое дерево) каждого файла для определения классов, методов и атрибутов. Затем эта информация используется для построения ориентированного графа с классами в качестве узлов и методами/атрибутами в качестве ребер.

После построения графика код генерирует файлы Markdown для каждого класса со ссылками на его методы и атрибуты, который можно визуализировать в Obsidian посредством graph-view. Кроме того, код создает файл индекса, в котором перечислены все классы, и основной файл, который ссылается на индекс и все классы.

Этот график стека вызовов может быть полезным инструментом для понимания того, как работает код и как он создает документацию для кода Python. Это также может помочь разработчикам выявить любые потенциальные проблемы или ошибки в коде. А также может помочь при онбординге новых сотрудников на проекте.

Как новая функция в GitHub, Gitlab и Jet-brains IDE это может позволит разработчикам легко создавать документацию для своего кода Python. Обеспечивает простой и автоматизированный способ документирования кода Python, что может сэкономить время разработчиков и уменьшить количество ошибок.

В заключение, граф стека вызовов для кода Python, который генерирует документацию для кода Python, является полезным инструментом для понимания того, как работает код и как он генерирует документацию.

Комментарии (8)


  1. danilovmy
    00.00.0000 00:00
    +1

    Это какая то неловкая подделка под Kolo? https://kolo.app/


    1. sswwssww
      00.00.0000 00:00

      Выглядит круто. Знаете ли вы его аналоги для Fastapi?


      1. danilovmy
        00.00.0000 00:00
        +1

        спроси у автора, Wilhelm Klopp. Я лично его знаю, очень вменяемый чел. Скорее всего там вопрос как запустить, а дальше не важно кто это django или кто еще.
        Если контакты не найдешь, можешь спросить тут https://github.com/kolofordjango/kolo/issues


  1. winmasta
    00.00.0000 00:00

    Не смог найти сам скрипт



  1. chemtech
    00.00.0000 00:00

    Репо из скриншота: https://github.com/kroq86/drf-template


  1. Andy_U
    00.00.0000 00:00

    "Динамические" вызовы отслеживаются? Рекурсия?


  1. jellyfish
    00.00.0000 00:00

    Так методы и атрибуты у вас (на картинке) тоже узлы.