--- id: aggdraw version: "1.4.1" license: Python (MIT style) license_treatment: permissive maintenance: active --- # aggdraw — High quality drawing interface for PIL. License: permissive · Maintenance: active · Downloads: 187.4K/mo ## What it is and what it does aggdraw is a Python extension that wraps the Anti-Grain Geometry (AGG) library to provide high-quality 2D drawing. It implements the WCK 2D drawing interface, enabling anti-aliased and alpha-composited graphics rendering. The package bundles AGG sources and compiles them as a C++ extension, so installation requires a C++ compiler on most platforms, though pre-built wheels are available for common Python versions and architectures. The library is designed for developers who need superior drawing quality—particularly for anti-aliased lines, shapes, and compositing operations. It maintains compatibility with standard image workflows, making it suitable for graphics-intensive applications. The project is actively maintained and supports modern Python versions (3.11+), with experimental free-threading support available. Use it for: - Render anti-aliased vector graphics and shapes for scientific visualization or data plots. - Create high-quality composite graphics with alpha blending for image processing pipelines. - Draw text and glyphs with TrueType font support (when freetype2 is available) for label and annotation tasks. - Build custom image generation tools that require superior rendering quality. - Implement 2D graphics in geospatial or remote-sensing applications (package is maintained by pytroll community). ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. aggdraw provides high-quality 2D drawing for images using the Anti-Grain Geometry library, with anti-aliasing and alpha compositing support. Yes, if you need anti-aliased 2D drawing and have a C++ compiler available. Pre-built wheels eliminate compilation friction on most platforms. Active maintenance, no known vulnerabilities, and permissive licensing make it a safe choice. Not necessary if basic drawing suffices or if you cannot compile C extensions. ## Install pip install aggdraw uv add aggdraw poetry add aggdraw ## Installing aggdraw Before you install: Medium install friction due to C++ compilation requirement. Pre-built wheels are available for Python 3.11–3.14 across macOS, Linux, and Windows architectures, reducing build burden on most platforms. Active maintenance with recent releases. License in practice: Licensed under a permissive MIT-style license. No restrictions on commercial or proprietary use; you may modify and distribute freely provided copyright notices are retained. Quickstart: pip install aggdraw import aggdraw draw = aggdraw.Draw(image) draw.line((x1, y1, x2, y2), fill_color) image.save('output.png') Requires a C++ compiler and Python ≥3.11. Optional: freetype2 library for TrueType/OpenType font support (requires freetype-config on PATH during build). Verify before relying: - Whether free-threading support (mentioned in description) is production-ready or still experimental given the 'Unstable' classifier. - Current state of freetype2 integration and whether it is commonly needed for typical use cases. - Specific image format compatibility and whether aggdraw works with formats beyond those supported by the underlying image library. ## Package facts - License: Python (MIT style) (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 187.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags image drawing anti-aliasing, 2D graphics rendering Python, high-quality image drawing, anti-grain geometry library, alpha compositing graphics, WCK drawing interface, vector graphics rendering, image-rendering, vector-graphics, agg-library [View on SkillFed](https://skillfed.io/packages/aggdraw) · [View on PyPI](https://pypi.org/project/aggdraw/)