Skip to main content

Создание диаграмм из датаклассов python

Project description

PyPI version

dataclass_to_diagram

Создание диаграмм из датаклассов python

Типы диаграмм

С4

Описание - https://c4model.com/

Реализация на PlantUML - https://github.com/plantuml-stdlib/C4-PlantUML

Состоит из пакетов:

  • main - основной пакет для запуска
  • models - модели на основе dataclass для различных диаграмм
  • exporters - экспорт моделей в текстовый формат
  • converters - конвертирование текстового формата в изображение (svg, png, pdf, ...)

exporters

dbml

Экспорт моделей БД (ERD) в формат dbml

converters

dbml-renderer

Конвертирует файл с разметкой dbml в svg-изображение.

Установка:

npm install -g @softwaretechnik/dbml-renderer

Библиотека для генерации диаграмм из текстового описания.

Диаграммы описываются объектами python. Далее геренируются изображения с помощью https://kroki.io.

Как использовать

  1. Создать две папки:

    • dia_src - папка с исходным описанием
    • dia_dist - папка со сгенерированными изображениями
  2. В папке dia_src создаются py-файлы. Названия файлов - произвольные. Можно создавать подкаталоги - структура каталогов будет скопирована в целевую папку dia_dist. Примеры создания можно посмотреть в тестовых диаграммах пакета.

  3. В одном файл должна быть только одна диаграмма. Название файла будет названием диаграммы.

  4. Для генерации можно создать задачу poetepoet. Прописать в файле pyproject.toml:

    [tool.poetry.dependencies]
    konstantin_docs = "*"
    poethepoet = "*"
    
    [tool.poe.tasks]
    docs = {script = "konstantin_docs.main:generate_images('dia_src', 'dia_dist')"}
    
  5. Запустить командой:

    poetry run poe docs
    
  6. Дополнительно можно создать задачу в vscode. Для этого в файле .vscode/tasks.json:

    {
      "version": "2.0.0",
      "tasks": [
        {
          "label": "docs",
          "type": "shell",
          "command": "poetry run poe docs"
        }
      ]
    }
    

    Запускать командой F1 -> Task: Run task -> docs

ERD

npm install -g @softwaretechnik/dbml-renderer

Разработка

poetry build && poetry publish

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dataclass_to_diagram-0.0.3.tar.gz (42.8 kB view details)

Uploaded Source

Built Distribution

dataclass_to_diagram-0.0.3-py3-none-any.whl (65.9 kB view details)

Uploaded Python 3

File details

Details for the file dataclass_to_diagram-0.0.3.tar.gz.

File metadata

  • Download URL: dataclass_to_diagram-0.0.3.tar.gz
  • Upload date:
  • Size: 42.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.6 Linux/5.15.0-57-generic

File hashes

Hashes for dataclass_to_diagram-0.0.3.tar.gz
Algorithm Hash digest
SHA256 499b8b8253411c6a6f626e0dfc89cfc5f55cbd487a40188af4dd1488c4ad5694
MD5 c892d178138dcaeab2fc782c28517d75
BLAKE2b-256 1d3f7f1b63336bdbc7b5775cb4280cd85781c751ba9c1c167d7c7b64c71665d5

See more details on using hashes here.

File details

Details for the file dataclass_to_diagram-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for dataclass_to_diagram-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5f98b48a6a96b7309074d66a246cf8bc1fb4a64386c7ef7f7c371e80eb9bd32a
MD5 77d971ea2730757eb0ebf156e9d53cfe
BLAKE2b-256 701aef6070866e722cd425eaf8a1ac6580ad563558867833482e7f5eb7a7a198

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page