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. It is plugin API 5 (API_VERSION), the API DX-CAD 0.1.3 has.
  • 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.3

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.3
File Size Uploaded Provenance Actions
dxcad_sdk-0.1.3.tar.gz 44.3 kB Without provenance Details for dxcad_sdk-0.1.3.tar.gz

Built distribution (wheel)

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

Total release size: 90.0 kB

Release files / dxcad_sdk-0.1.3.tar.gz

Download URL dxcad_sdk-0.1.3.tar.gz
Size 44.3 kB
Tags Source
SHA-256 checksum
How to use checksums
de58b0f3be07d11bd57f444d87f2e05a47e4c877f0f45d50f1c3d0f1889d61a7
BLAKE2b-256 checksum
How to use checksums
e29f43578d3ea0ea0f484dd9919e9084bd9377ed8fd16ff628eff27d3aed19b8
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.3-py3-none-any.whl

Download URL dxcad_sdk-0.1.3-py3-none-any.whl
Size 45.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5bc5573c6285762f8eb0fe9e61fc1c72a4d8f422ff6887833cf2c03d64083158
BLAKE2b-256 checksum
How to use checksums
c310c7bda4c3b246e3b9fc15a574fd0c29acce81d81563d89dfac2e6fceb58fa
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.3

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