class_docstr: Custom sources allow reading data from otherwise unsupported sources.
  Requires libvips `>= 8.9.0`.
  
  To use, create a SourceCustom object, then provide callbacks to
  :meth:`on_read` and :meth:`on_seek`.
docstr: Make a new custom source.
  
  You can pass this source to (for example) :meth:`new_from_source`.
docstr_tok: ["Make","a","new","custom","source",".","You","can","pass","this","source","to","(","for","example",")",":","meth",":","`","new_from_source","`","."]
code: def __init__(self):
      """Make a new custom source.
  
      You can pass this source to (for example) :meth:`new_from_source`.
  
      """
  
      source = ffi.cast(
          "VipsSource*", vips_lib.vips_source_custom_new()
      )
      super(SourceCustom, self).__init__(source)
  
file_path: pyvips/pyvips/vsourcecustom.py
imports: from __future__ import division
  import logging
  import pyvips
  from pyvips import ffi, vips_lib
label_desc: Use image node_id 1 to create a new SourceCustom object from inherited base classes: pyvips with example: obj = SourceCustom()