Yet another python wrapper for simconnect, supporting simvar subscription

I discovered python-simconnect while trying to drive some external gauge panels in the pandemic simpit I’m working on, but it was struggling if I tried to fetch too many variables too frequently. I was inspired to create an updated wrapper with better performance called pysimconnect which you can find on pypi, github.

It’s a lightweight, high-performance wrapper for the SDK which provides a simple pythonic interface to read simulator variables, set editable variables, subscribe to variable changes, and trigger simulator events. This makes it easy to watch a large set of variables with one call and receive changes multiple times per second, which I’ve been using for my steam gauge panel built with g3.

I started with an automated translation of the full SDK API in SimConnect.h so you also have
access to all of the low-level SDK methods, constants and enumerations in the API. I also included a automated scrape of all the simvars, events and units from the SDK docs. Anyway, I’d love any feedback if you want to take a look.

Here’s a gratuitous picture of the simpit-in-progress and a sample of the gauge panel it’s serving:


Updated to v0.1.1 with more robust handling for units, cleans up unit and dimension info for auto-scraped simvar docs.

1 Like

Ok, finally I can write, I guess it was a bug in the forum !!!
Congratulatins for this amazing package !!!



I am a long-time coder but a short time MSFS2020 programmer. I have incorporated pysimconnect into TouchPortalAPI. Great code, guys! Thank you!

I am able to transfer “A” type data up and down the path between the sim and TP. But the other “types”, i.e. B, C, H, etcetera, I can’t seem to get at.

In particular I am attempting to access say, GPS WaypointAirportICAO. If I understand correctly, this should be a “C” type. I can’t get that to work. Or any other format to work. I used MSFSTouchPortalPlugin to try (C:WaypointAirportICAO,string) but always get “0”.

I should inject at this point that I do not wish to add more apps to my system. Thus, installing Visual Studio in order to execute (C:WaypointAirportICAO,string) seems too much of a tradeoff in terms of disk space on my personal system.

I’ve googled this half to death and haven’t found an answer. What am I missing?

“Thanks for any help” is not enough to truly thank someone for their help, but there it is. :slight_smile: