Skip to main content

The library for the Duc 2D CAD file format

Project description

ducpy


2D CAD File Format

Pip PyPI ducpy@latest release Downloads Python

The ducpy package is the official Python implementation of the .duc 2D CAD file format. It is built on top of the duc Rust crate, exposed as the ducpy_native extension. A .duc file is a gzip-compressed SQLite database — ducpy gives you both a high-level builder DSL and direct low-level access to that schema, plus parsing, serialization, and search helpers.

Installation

pip install ducpy

or with uv:

uv add ducpy

Quick start

import ducpy as duc

API overview

ducpy is organised around four conceptual entry points, matching the structure of the full API reference:

Builders API (High-level)

The easy way to build and manage .duc files. Construct elements, apply styles, manage layers, build blocks, and handle document state through the duc.builders module.

See the worked examples:

SQL Builder (Low-level)

A .duc file is a gzip-compressed SQLite database. Use duc.builders.sql_builder (DucSQL) for direct schema access, bulk queries, and low-level manipulation.

See the worked example: SQL BuilderDucSQL.new() to create a .duc from scratch, DucSQL(path) to query an existing one.

Search

Query and search elements and files programmatically through the duc.search API.

File I/O

Read and write .duc files using the duc.parse and duc.serialize modules.

See the worked examples:

  • Parsingparse_duc / parse_duc_lazy / get_external_file / list_external_files.
  • Serializationserialize_duc from builder-created elements.
  • External files — attaching binary blobs (images, PDFs) to a .duc document.

Documentation

For detailed documentation, including the full API reference, schema specification, and end-to-end examples, see:

Tools

  • Playground: Experiment with the duc format in a live environment.

Contributing

Feel free to open an issue or contact us at Ducflair Support.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

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

ducpy-3.6.1.tar.gz (143.9 kB view details)

Uploaded Source

File details

Details for the file ducpy-3.6.1.tar.gz.

File metadata

  • Download URL: ducpy-3.6.1.tar.gz
  • Upload date:
  • Size: 143.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ducpy-3.6.1.tar.gz
Algorithm Hash digest
SHA256 b89b3e72c97b9ae3d00b6bab6d13735c89f22675053b40498ebef28fc880e85c
MD5 bc13a4b89cce1fa4fdfefe2b682ebd57
BLAKE2b-256 a71f2d5b2ac70b3598f9d9c09e810d83ce74be4492169ceeba82d4e85c1fc3ea

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