Skip to main content

DX-CAD SDK

Everything needed to build on DX-CAD, under the Apache License 2.0:

  • The plugin API (dxcad_sdk.plugin): the protocols and constants a plugin meets. A plugin adds model names, subcommands, MCP tools for agents, window actions and dialogs, kinds of sheet part that unfold through DX-CAD's flat pipeline, its own section of a saved file, and may say it needs an entitlement.
  • Type stubs (dxcad-stubs): every function and class a DX-CAD model.py starts with, so an editor completes and checks a model.
  • A checker: dxcad-sdk check PATH checks an add-on's declarations before DX-CAD loads it, one line per check.
  • A sweep: dxcad-sdk sweep NAME runs DX-CAD's command sweep on an installed add-on's commands: each opened offscreen, its dialogs checked on a 1366 x 768 screen at 100, 125 and 150 percent and the parts it builds checked valid (DX-CAD installed beside it; see DX-CAD's docs/plugins.md).
  • Examples and a template: three example plugins under examples/ and a starter under template/.
  • Docs: docs/agents.md (DX-CAD with Claude and other MCP clients, every tool's inputs, example prompts) and docs/format.md (the .dxcprt, .dxcasm and .dxcdrg file formats, and how older files open).

The SDK holds interfaces, stubs, docs and examples only. DX-CAD itself is installed apart and is not part of the SDK or licensed by it (see NOTICE).

A first plugin

Copy template/ to a folder of your own, rename dxcad_myplugin, then:

dxcad-sdk check my-plugin
python -m pip install -e my-plugin

and start DX-CAD: the plugin's names, tools and actions are there. A plugin that draws on drawings registers view kinds, annotation kinds and sheet tools (registry.view_kind, registry.annotation_kind, registry.sheet_tool; see dxcad_sdk.plugin and the plugins page of the docs). Anything a plugin takes from DX-CAD (from dxcad.model import ...) is imported inside the functions that use it, so the checker can import the plugin without DX-CAD.

What an add-on may import

The installed DX-CAD runs an add-on in its own Python, which carries only what it was built with. An add-on may import there, at the top of a module or inside a function alike: any OCP module, such as OCP.BRepLProp; any module of the Python standard library, but tkinter and what is built on it (turtle, turtledemo, idlelib), test, ensurepip and venv, and on Windows curses, pty, tty and crypt; these Qt modules of PySide6: QtCore, QtGui, QtWidgets, QtSvg, QtSvgWidgets, QtNetwork, QtPrintSupport, QtOpenGL, QtOpenGLWidgets and QtPdf; and nothing outside DX-CAD's own dependencies (cadquery-ocp, PySide6 and cryptography) unless the add-on's wheel carries it. dxcad doctor --addons imports every installed add-on's modules with these and names each that fails.

Metadata

Release files for dxcad-sdk 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dxcad-sdk 0.1.2
File Size Uploaded Provenance Actions
dxcad_sdk-0.1.2.tar.gz 42.5 kB Without provenance Details for dxcad_sdk-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dxcad-sdk 0.1.2
File Interpreter ABI Platform Actions
dxcad_sdk-0.1.2-py3-none-any.whl Python 3 none any Details for dxcad_sdk-0.1.2-py3-none-any.whl

Total release size: 86.2 kB

Release files / dxcad_sdk-0.1.2.tar.gz

Download URL dxcad_sdk-0.1.2.tar.gz
Size 42.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f53db78a8f026e075074b7a78663ee2d9b791403502594bbfd0eea815f8ff1eb
BLAKE2b-256 checksum
How to use checksums
a6bd7d5b8a6f654fe31a4096dc6f13fe2cd51b02df245990bea435b3e67bcdfb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.15

Release files / dxcad_sdk-0.1.2-py3-none-any.whl

Download URL dxcad_sdk-0.1.2-py3-none-any.whl
Size 43.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdae3229792e21019e875dd5662019675387b4768d26d4bd0b3087353b108be2
BLAKE2b-256 checksum
How to use checksums
ad9f7dfcb20b0dcbdff262edadabd9e60379afccf9916bf96ef662b3ca4b8a36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.15

Security for dxcad-sdk 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page