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.0.tar.gz (143.9 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: ducpy-3.6.0.tar.gz
  • Upload date:
  • Size: 143.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","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.0.tar.gz
Algorithm Hash digest
SHA256 2ae09fdc26ad8a7073d11a545eb1764551d5d74ea97ce24b343fd0d644ff59e6
MD5 2419ccbaa9cb01f7a9cb2efd5575e406
BLAKE2b-256 5e06a6fecde5d849f44f9663a11b59e0054a8851552e6f350eca4d763bcf6269

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