code: def init(self):
          
          # Wrap callback methods in appropriate ctypefunc instances so
          # that the Pulseaudio C API can call them
          self._context_notify_cb = pa_context_notify_cb_t(
              self.context_notify_cb)
          self._sink_info_cb = pa_sink_info_cb_t(self.sink_info_cb)
          self._update_cb = pa_context_subscribe_cb_t(self.update_cb)
          self._success_cb = pa_context_success_cb_t(self.success_cb)
          self._server_info_cb = pa_server_info_cb_t(self.server_info_cb)
  
          # Create the mainloop thread and set our context_notify_cb
          # method to be called when there's updates relating to the
          # connection to Pulseaudio
          _mainloop = pa_threaded_mainloop_new()
          _mainloop_api = pa_threaded_mainloop_get_api(_mainloop)
          context = pa_context_new(_mainloop_api, "i3pystatus_pulseaudio".encode("ascii"))
  
          pa_context_set_state_callback(context, self._context_notify_cb, None)
          pa_context_connect(context, None, 0, None)
          pa_threaded_mainloop_start(_mainloop)
  
          self.colors = self.get_hex_color_range(self.color_muted, self.color_unmuted, 100)
          self.sinks = []
docs: Creates context, when context is ready context_notify_cb is called