Use python for getting dictionary with data.
import Foundation, objc
import Quartz
iokit = {}
iokitBundle = objc.initFrameworkWrapper(
  "IOKit",
  frameworkIdentifier="com.apple.iokit",
  frameworkPath=objc.pathForFramework("/System/Library/Frameworks/IOKit.framework"),
  globals=globals()
)
IOKit = Foundation._functiondefines.NSBundle.bundleWithIdentifier_('com.apple.framework.IOKit')
functions = [('IOServiceGetMatchingService', b'II@'),
             ('IOServiceMatching', b'@*'),
             ("IODisplayGetFloatParameter", b'iII@o^f'),
             ("IODisplayGetIntegerRangeParameter", b'I'),
             ('IORegistryEntryCreateCFProperties', b'IIo^@@I'),
             ('IOPSCopyPowerSourcesByType', b'@I'),
             ('IODisplaySetFloatParameter', b'iII@f'),
             ("IOHIDGetActivityState", b'IBi'),
             ('IODisplayCopyFloatParameters', b'II^^{__CFDictionary}i'),
             ('IODisplaySetIntegerParameter', b'II^{__CFString=}ii'),
             ('IODisplayCreateInfoDictionary', b'^{__CFDictionary=}II'),
             ('IODisplaySetParameters', b'II^{__CFDictionary=}i')
             ]
objc._objc.loadBundleFunctions(iokitBundle, iokit, functions)
objc._objc.loadBundleFunctions(IOKit, globals(), functions)
for var in variables:
  key = "{}".format(var[0])
  if key in globals():
      iokit[key] = globals()[key]
var = iokit['IODisplayCreateInfoDictionary'](Quartz.CGDisplayIOServicePort(Quartz.CGMainDisplayID()), 0)
print(var, sep=r' ')