# Module Functions and Constants

## Module Functions

cairo.cairo_version() → int
  Returns

    the encoded version

  Returns the version of the underlying C cairo library, encoded in a single integer.

cairo.cairo_version_string() → str
  Returns

    the encoded version

  Returns the version of the underlying C cairo library as a human-readable string of the form “X.Y.Z”.

cairo.get_include() → str
  Returns

    a path to the directory containing the C header files

  Gives the include path which should be passed to the compiler.

  New in version 1.16.0.

## Module Constants

cairo.version: str = Ellipsis

  the pycairo version, as a string

cairo.version_info: Tuple[int, int, int] = Ellipsis

  the pycairo version, as a tuple

cairo.CAIRO_VERSION: int = Ellipsis

  The version of cairo available at compile-time in the same format as returned by `cairo_version()`

  New in version 1.18.0.

cairo.CAIRO_VERSION_STRING: str = Ellipsis

  A human-readable string literal containing the version of cairo available at compile-time, in the form of “X.Y.Z”.

  New in version 1.18.0.

cairo.CAIRO_VERSION_MAJOR: int = Ellipsis

  The major component of the version of cairo available at compile-time.

  New in version 1.18.0.

cairo.CAIRO_VERSION_MINOR: int = Ellipsis

  The minor component of the version of cairo available at compile-time.

  New in version 1.18.0.

cairo.CAIRO_VERSION_MICRO: int = Ellipsis

  The micro component of the version of cairo available at compile-time.

  New in version 1.18.0.

### cairo.HAS

1 if the feature is present in the underlying C cairo library, 0 otherwise.

cairo.HAS_ATSUI_FONT: bool = Ellipsis

cairo.HAS_FT_FONT: bool = Ellipsis

cairo.HAS_GLITZ_SURFACE: bool = Ellipsis

cairo.HAS_IMAGE_SURFACE: bool = Ellipsis

cairo.HAS_PDF_SURFACE: bool = Ellipsis

cairo.HAS_PNG_FUNCTIONS: bool = Ellipsis

cairo.HAS_PS_SURFACE: bool = Ellipsis

cairo.HAS_RECORDING_SURFACE: bool = Ellipsis

cairo.HAS_SVG_SURFACE: bool = Ellipsis

cairo.HAS_USER_FONT: bool = Ellipsis

cairo.HAS_QUARTZ_SURFACE: bool = Ellipsis

cairo.HAS_WIN32_FONT: bool = Ellipsis

cairo.HAS_WIN32_SURFACE: bool = Ellipsis

cairo.HAS_XCB_SURFACE: bool = Ellipsis

cairo.HAS_XLIB_SURFACE: bool = Ellipsis

cairo.HAS_MIME_SURFACE: bool = Ellipsis

  New in version 1.12.0.

cairo.HAS_SCRIPT_SURFACE: bool = Ellipsis

  New in version 1.12.0.

cairo.HAS_TEE_SURFACE: bool = Ellipsis

  New in version 1.15.3.

cairo.HAS_DWRITE_FONT: bool = Ellipsis

  New in version 1.23.0.

### cairo.TAG

cairo.TAG_DEST: str = Ellipsis

  Create a destination for a hyperlink. Destination tag attributes are detailed at Destinations.

  New in version 1.18.0: Only available with cairo 1.15.10+

cairo.TAG_LINK: str = Ellipsis

  Create hyperlink. Link tag attributes are detailed at Links.

  New in version 1.18.0: Only available with cairo 1.15.10+

### cairo.MIME_TYPE

cairo.MIME_TYPE_JP2: str = Ellipsis

  The Joint Photographic Experts Group (JPEG) 2000 image coding standard (ISO/IEC 15444-1).

  New in version 1.12.0.

cairo.MIME_TYPE_JPEG: str = Ellipsis

  The Joint Photographic Experts Group (JPEG) image coding standard (ISO/IEC 10918-1).

  New in version 1.12.0.

cairo.MIME_TYPE_PNG: str = Ellipsis

  The Portable Network Graphics image file format (ISO/IEC 15948).

  New in version 1.12.0.

cairo.MIME_TYPE_URI: str = Ellipsis

  URI for an image file (unofficial MIME type).

  New in version 1.12.0.

cairo.MIME_TYPE_UNIQUE_ID: str = Ellipsis

  Unique identifier for a surface (cairo specific MIME type). All surfaces with the same unique identifier will only be embedded once.

  New in version 1.12.0.

cairo.MIME_TYPE_CCITT_FAX: str = Ellipsis

  Group 3 or Group 4 CCITT facsimile encoding (International Telecommunication Union, Recommendations T.4 and T.6.)

  New in version 1.18.0: Only available with cairo 1.15.10+

cairo.MIME_TYPE_CCITT_FAX_PARAMS: str = Ellipsis

  Decode parameters for Group 3 or Group 4 CCITT facsimile encoding. See CCITT Fax Images.

  New in version 1.18.0: Only available with cairo 1.15.10+

cairo.MIME_TYPE_EPS: str = Ellipsis

  Encapsulated PostScript file. Encapsulated PostScript File Format Specification

  New in version 1.18.0: Only available with cairo 1.15.10+

cairo.MIME_TYPE_EPS_PARAMS: str = Ellipsis

  Embedding parameters Encapsulated PostScript data. See Embedding EPS files.

  New in version 1.18.0: Only available with cairo 1.15.10+

cairo.MIME_TYPE_JBIG2: str = Ellipsis

  Joint Bi-level Image Experts Group image coding standard (ISO/IEC 11544).

  New in version 1.18.0.

cairo.MIME_TYPE_JBIG2_GLOBAL: str = Ellipsis

  Joint Bi-level Image Experts Group image coding standard (ISO/IEC 11544) global segment.

  New in version 1.18.0.

cairo.MIME_TYPE_JBIG2_GLOBAL_ID: str = Ellipsis

  An unique identifier shared by a JBIG2 global segment and all JBIG2 images that depend on the global segment.

  New in version 1.18.0.

### Other Constants

cairo.PDF_OUTLINE_ROOT: int = Ellipsis

  The root outline item in `PDFSurface.add_outline()`

  New in version 1.18.0: Only available with cairo 1.15.10+

## Other Classes and Functions

class cairo._PathLike

  This type only exists for documentation purposes.

  On Unix it is equal to what Python allows as a filesystem path. On Windows with cairo <=1.15.8 only ANSI paths are supported. With cairo >=1.15.10 all paths are supported as long as they don’t contain surrogates.

  Many functions taking a path also allow passing in an already open Python file object. This can be used to support all Python filesystem paths independent of the underlying platform or cairo version.

  New in version 1.15.1: Older versions only supported a subset of `str` paths

class cairo._FileLike

  This type only exists for documentation purposes.

  This represents a file object opened in binary mode: `typing.BinaryIO`

class cairo._SomeSurface

  This type only exists for documentation purposes.

  This represents a `Surface` subclass.