this post was submitted on 23 Nov 2024
3 points (100.0% liked)

Python

3244 readers
1 users here now

News and discussions about the programming language Python


founded 5 years ago
MODERATORS
 

cross-posted from: https://lemm.ee/post/48031022

Hi,

I wanted to use d2 in an environment where I could only install python and npm packages.

Given that, and that I could not find any other solution, I made d2-python-wrapper, a small python wrapper that bundles the d2 binaries.

Now you can use d2 from python like this:

from d2_python import D2

d2 = D2()

# Simple diagram
with open("test.d2", "w") as f:
    f.write("x -> y")

# Default SVG output
d2.render("test.d2", "output.svg")

# PDF output with specific theme
d2.render("test.d2", "output.pdf", format="pdf", theme="1")

The class just wraps the bin, so it works and supports the same as the bin. There is a GitHub Action that gets the bins for each platform (mac, win, linux) from the releases in this repo and publishes it to pip.

You can install this using

pip install d2-python-wrapper

Here is a short post with more context.

Just in case It's useful for anyone. ๐Ÿ˜

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here