Cairo PDF Surface: Vector Output, Trust Boundaries, and Failure Checks
Generate selectable vector PDFs with Cairo, check surface and context status at every stage, and switch libraries when encryption, forms, or complex text shaping are required.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Generate selectable vector PDFs with Cairo, check surface and context status at every stage, and switch libraries when encryption, forms, or complex text shaping are required.
In deployments where numpy's core multiarray import guard raises an ImportError for a C-API version mismatch, the failure surfaces at import time and is tied to validation in the multiarray C extension. The component behavior is version sensitive. Numpy 2.0 renamed the internal package from numpy.core to numpy._core, so log patterns differ between 1.x and 2.
Context A codebase upgraded from NumPy 1.26 to 2.0 encounters AttributeError: module 'numpy' has no attribute 'float' (and similarly for int , bool , complex , object , str ). These aliases were deprecated since NumPy 1.20 and removed in 2.0 in favor of Python built‑in types. Goal Identify a systematic migration strategy that replaces all removed type aliase