Skip to main content

Python bindings to d2lang

Project description

pyd2lang-native

Build Docs PyPI Python License

Native Python bindings for d2lang, the modern text-to-diagram language. Compile D2 diagram source code to SVG directly from Python — no CLI tools or subprocesses required.

Includes built-in Analog Devices (ADI) libraries for signal-chain shapes, software/AI architecture diagrams, pyadi-jif block diagrams, and ADI DataX overview diagrams, plus light and dark ADI-branded themes.

Quick Start

import d2

# Basic diagram
svg = d2.compile("x -> y -> z")

# ADI signal chain with branded theme
svg = d2.compile("""
  sensor: ADXL345 { class: sensor }
  amp: LT6230 { class: amplifier }
  adc: AD7606 { class: adc }
  dsp: ADSP-21489 { class: dsp-fpga }

  sensor -> amp -> adc -> dsp
""", adi=True)

# Dark theme variant
svg = d2.compile(code, adi=True, theme="dark")

# ADI DataX overview-style stack diagram
svg = d2.compile("""
  direction: down
  stack: ADI DataX Stack { class: datax-panel
    apps: Applications { class: datax-application }
    lib: libiio / pyadi-iio { class: datax-info }
    drivers: Linux IIO Drivers { class: datax-driver }
    hardware: ADI Hardware { class: datax-hardware }
    apps -> lib -> drivers -> hardware { class: datax-flow }
  }
""", library="datax")

Installation

pip install pyd2lang-native

Pre-built wheels are available for Linux (x86_64, aarch64), macOS (Intel, Apple Silicon), and Windows.

Documentation

Full documentation is available at the project docs site.

License

This project is licensed under the MPL-2.0 License. See the LICENSE file for details.

Dependencies

The d2lang compiler is built as a native shared library (.so / .dll / .dylib) and bundled into platform-specific Python wheels.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyd2lang_native-0.1.5-cp313-cp313-win_amd64.whl (14.5 MB view details)

Uploaded CPython 3.13Windows x86-64

pyd2lang_native-0.1.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

pyd2lang_native-0.1.5-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

pyd2lang_native-0.1.5-cp313-cp313-macosx_11_0_arm64.whl (9.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyd2lang_native-0.1.5-cp312-cp312-win_amd64.whl (14.5 MB view details)

Uploaded CPython 3.12Windows x86-64

pyd2lang_native-0.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

pyd2lang_native-0.1.5-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

pyd2lang_native-0.1.5-cp312-cp312-macosx_11_0_arm64.whl (9.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyd2lang_native-0.1.5-cp311-cp311-win_amd64.whl (14.5 MB view details)

Uploaded CPython 3.11Windows x86-64

pyd2lang_native-0.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pyd2lang_native-0.1.5-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

pyd2lang_native-0.1.5-cp311-cp311-macosx_11_0_arm64.whl (9.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyd2lang_native-0.1.5-cp310-cp310-win_amd64.whl (14.5 MB view details)

Uploaded CPython 3.10Windows x86-64

pyd2lang_native-0.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

pyd2lang_native-0.1.5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

pyd2lang_native-0.1.5-cp310-cp310-macosx_11_0_arm64.whl (9.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file pyd2lang_native-0.1.5-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bd348e4a6824219fdf6ffdecf63f1e1babbac04decbbe6abd4d95ad2f898ae0b
MD5 e1a57fde96b7f2d02627f8f685f3460a
BLAKE2b-256 5b694eabd66b81d6d3ff72a0903d3ad797ab008471473adfdbd917edf2fb74e8

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d6f7cf26ccffe86632b6027ed38660df227692866a0c22bb4df23a0b41af8c2a
MD5 56ecc533056e5719e4c9bc669dd2b92b
BLAKE2b-256 3c476dd1987de3f8ebe80dd777ca008e4c50dda63d23095b02c2691c2c66cfc4

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41a452403e1050c9b272b0c4ca5d8f9a2af490677fdd1d885f98bc06eb285726
MD5 bd2c6907dab8c2aa80c196e880e929fe
BLAKE2b-256 eafda87fc48016fc995f7eadd026a6752752b3617402d8c027709c68b053a4fd

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0edad6ff8d7a1408ade61505b7b9bdc29751e7ceb7f0b800048d2e479f2cea84
MD5 aead1e2d920f820290e80208567783b0
BLAKE2b-256 80667aeb69fea56d60b93dae673039acda1b0a4d70246ff2db19719686b3a9c0

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ea921276ed10f11cef6a4f2a34167e71186d431a23edc686430439d9ff791c63
MD5 2e0776117c7b262b9e6ffc56ca9a39bb
BLAKE2b-256 e431abf925969b236493d698afa1e347538badc3196e05bf2da3cedba3b026e2

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f280520265bd7687250217c273db28149e54830165fbc8a4dbe960bcc79d86d9
MD5 4cf19aa6ea111c5e3633602806fa136b
BLAKE2b-256 3dce3c22bbbd5def69bbe1471531115c2b6cfacbc2626822dfddfb5fc2edd910

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d139952b3eca70d870ae409d4ecf3c961da2a459d7bfda6b1cdbf98a5335a76f
MD5 1655f11cd399a05f8aa781c33c055633
BLAKE2b-256 2db27c9940f99073ae0200d673541d3ca1f6af958e236a10cddc98f6c59cdb0e

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 84c4e3fd9a9ec4b5753c5a051cdd3abbcc2ad72a73621ad18035ecfa6577dac0
MD5 51b0574cab13efda9aa78c4a28621c77
BLAKE2b-256 7c6e234cd1af5d15ae3e252fd2bb5fe2ffed5f9715797c47c80f767c906f8652

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0ec102f2b32afed8ec742c4cd7db70dc7d4a7711a7ef338540c9f977d6c456fc
MD5 7080ecafc4bb8bdd536a66df9df294af
BLAKE2b-256 a61c182f2951d7acc87b176ea74b51c7e1e6b8518787183fc1261e4e66866118

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 edd14ea0fbff7818856910ad843824b2976b1bf7dbd1390ead83e8255ec69a02
MD5 2af49fa7a6d5d7da3f7bd0a6ec559fb7
BLAKE2b-256 c33d2b0b80b1c847b6e76986094d45808ac8390fba47a89736d4304e9ea044bc

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1ada404bf373b0d5100c96c542b0a6939a44bd4c29c0a14771bd7afb8e5e051
MD5 cd1d39828ba9a2117a0f642d41b951d9
BLAKE2b-256 cd2f8d367d49de4f9adfdb8602415ec572a46abc07b93f4cf393ebf368b0deb0

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd5245f3a4b5e3ce87d8bc0ff155f925b83b2e4a81fa456692ad95f877c8698a
MD5 8aa7b1f922445b2851f939f1fc2c8b8b
BLAKE2b-256 9c6518464e6277fecd66cbdf6c3250894f8a2012a60f1a700e1084637628179c

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0c863a11fa992976d11b6cc691da8e8fca4653b56cae26ccebd8f291a0cdd2c9
MD5 9d6098a92d436dc7ef8d385ba8dabaa7
BLAKE2b-256 03723d4bb063f80a5a7c44838ffa3cacec18a829c65f65e6ae3633f205f66d84

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8d28118910f68f6268bacf90e674b6eff12133457b18815de74641b2f5fe6f75
MD5 c9a65a22a215421ad42dce44929e78ec
BLAKE2b-256 6e28c3501fc29071baf7444aab3b6e5da7e90e59fc118b9b629a8cc935340adc

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe40e03fb99a11cef49cd79e45326094e498e85fdf37c7aaa67424f26115aea3
MD5 be9a7da3f0a3822eeeeadfef5bbc6276
BLAKE2b-256 7cabb8cd3c1d01c5689af7ff014b04ae8ed2970d94793894f8a46fc842007d73

See more details on using hashes here.

File details

Details for the file pyd2lang_native-0.1.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyd2lang_native-0.1.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a950d8d8c994ab369d92972d17ef3f6522ef02c95eb8a9041e920c2daa7e5ff2
MD5 85c5c008b7dda9c67c94cde5b70c788c
BLAKE2b-256 2ffbf8c41375ae7fcddb152b548c71d4e0d836ffb6ec9f0ee589170683ce3483

See more details on using hashes here.

Supported by

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