--- id: ezdxf version: "1.4.4" license: unclear license_treatment: permissive maintenance: active --- # ezdxf — A Python package to create/manipulate DXF drawings. License: permissive · Maintenance: active · Downloads: 3.7M/mo ## What it is and what it does ezdxf is a Python library for working with DXF (Drawing Exchange Format) files, the standard format used by AutoCAD and other CAD applications. It lets you programmatically create new DXF documents from scratch, load and modify existing ones, and save them back while preserving all content including third-party data and unknown tags. The library supports reading and writing across multiple DXF versions (R12, R2000, R2004, R2007, R2010, R2013, R2018) and can read older versions with automatic upgrading. The core package depends on pyparsing, typing_extensions, numpy, and fonttools. It includes optional add-ons for specialized tasks like rendering to matplotlib or PyQt5, streaming huge files, importing from other documents, and converting text to paths. A command-line tool is included for viewing, converting, and inspecting DXF files. The library has type annotations and is tested on both CPython and PyPy3. Use it for: - Generate CAD drawings programmatically for automated design workflows or parametric modeling. - Convert or migrate DXF files between different AutoCAD versions while preserving all data. - Extract and analyze DXF content from third-party CAD applications without data loss. - Build a command-line tool to inspect, audit, or batch-process DXF files. - Render DXF drawings to PNG, PDF, or SVG for visualization or documentation. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. ezdxf creates, reads, modifies, and writes DXF documents across multiple DXF versions (R12 through R2018), preserving third-party content and unknown tags while supporting both ASCII and binary formats. Yes. ezdxf is actively maintained, has no known vulnerabilities, low install friction, and a permissive MIT license. It's well-suited for any project that needs to read, create, or modify DXF files programmatically. The broad DXF version support and preservation of third-party content make it reliable for integration with existing CAD workflows. ## Install pip install ezdxf uv add ezdxf poetry add ezdxf ## Installing ezdxf Before you install: Low friction: pure Python wheel with four stable runtime dependencies (pyparsing, typing_extensions, numpy, fonttools). Active maintenance with last commit 2026-07-21 and 92 days since latest release. Supports CPython and PyPy3. License in practice: MIT license (permissive) means you can use, modify, and distribute ezdxf with minimal restrictions in commercial and open-source projects. Quickstart: import ezdxf from ezdxf import colors # Create a new DXF document doc = ezdxf.new(dxfversion="R2010") msp = doc.modelspace() # Add a line and text msp.add_line((0, 0), (10, 0), dxfattribs={"color": colors.YELLOW}) msp.add_text("Test", dxfattribs={"layer": "TEXTLAYER"}) # Save the document doc.saveas("output.dxf") Requires Python 3.10 or later. Verify before relying: - Performance characteristics when handling very large DXF files (the iterdxf add-on is mentioned for >5GB files, but core performance is not quantified). - Completeness of DXF entity support across all supported versions and whether all AutoCAD features are representable. ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 3.7M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags DXF file creation and editing, CAD drawing manipulation python, DXF document read write, AutoCAD DXF parser, DXF format library, cad-formats, dxf-processing [View on SkillFed](https://skillfed.io/packages/ezdxf) · [View on PyPI](https://pypi.org/project/ezdxf/)