โน๏ธ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 3.3 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://pypi.org/project/pysimconnect/ |
| Last Crawled | 2025-12-30 12:29:35 (3 months ago) |
| First Indexed | 2022-04-20 08:25:37 (3 years ago) |
| HTTP Status Code | 200 |
| Meta Title | pysimconnect ยท PyPI |
| Meta Description | Python wrapper for Microsoft FlightSimulator 2020 SimConnect SDK |
| Meta Canonical | null |
| Boilerpipe Text | The
pysimconnect
package provides a simple, efficient wrapper for FlightSimulator 2020's
SimConnect SDK
,
inspired by
Python-SimConnect
.
If you're looking to build external instrument displays,
connect custom controllers to FS2020,
or just explore how the simulation works in more detail
then
pysimconnect
is for you.
You might also be interested in
G3
,
a flexible Javascript framework for building steam gauge instrument panels.
The package contains a python module called
simconnect
which exposes a simple pythonic interface
to read simulator variables,
set editable variables,
subscribe to variable changes,
and trigger simulator events.
It also exposes all of the low-level SDK methods,
constants and enumerations from the
SimConnect.h
SDK API based on a simple automated translation
from the C++ definitions to Python equivalents.
The package also offers a
simconnect
command-line tool
which lets you search for
variables, events and measurement units from the SDK documentation;
inspect, change or watch variables over time;
and send simulator events,
all without writing any code.
Quick start
Making sure you're using python 3.6+ and install the package:
pip install pysimconnect
To use the
simconnect
command-line tool,
install
Powershell7
and
set your
default terminal
to Windows Terminal rather than Windows Console Host.
Start Powershell7 and install TAB auto-completion support by typing
simconnect --install-completion powershell
then restart your terminal as instructed:
Now start a flight in FS2020, perhaps with the AI pilot flying.
Let's experiment with reading and modifying the altitude.
First let's find some relevant variables with
search
:
Nice! We get a list of results from the SDK documentation ranked by relevance.
Result categories are distinguished by different colors and symbols, e.g.
variables ๐งญ, events โ๏ธ and units ๐, with a โ๏ธ marking variables which we can change.
Now let's read the value of the
PLANE ALTITUDE
variable using the
get
command.
Start typing
simconnect get PLA<TAB>
, hitting the TAB key part way through the variable name
to see contextual auto-complete options:
Select the desired
PLANE_ALTITUDE
option and hit ENTER:
Note that although the underlying SDK variables are space-separated
and events are underscore-separated,
the command-line tool recognizes either version.
Normally using underscore-separated everywhere will be easier for auto-completion
and avoids quoting in the terminal.
We can read multiple variables by just appending them in a list.
We can also monitor multiple variables over time using
watch
:
By default we'll see an update once every second,
highlighting the variables that change during each update.
Some commands support additional options,
for example
simconnect watch --help
will show us how to change the
monitoring interval time.
For general help, try
simconnect --help
.
Now let's change the plane's altitude during flight(!) using the
set
command.
Here we'll add the
--units
option to specify that our value is measured in
meters
rather
than the default
feet
:
Lastly, let's send an event to FS2020.
A simple example is to bump the altimeter adjustment knob, like so.
If you send this event a few times, you'll see the indicated altitude adjust in response.
This simple event needs no data, but with others you also need to provide a value.
Working with python
The command-line tool is just a lightweight
wrapper for some features of the
simconnect
python package.
This means that you can write simple python code to do anything
the command-line tool does, and much more besides.
The best way to get started is to browse some
examples
which show both low-level interaction with the SDK,
and some of the simplified sugar the package offers.
With so many moving parts, debugging errors can sometimes be tricky.
One useful tool is to set the
LOGLEVEL
environment variable
to
DEBUG
before running your code, rather than the default
INFO
:
set LOGLEVEL=DEBUG
Also, be warned that the official
SDK documentation
has various errors (copy/paste gone wrong?)
which can make it difficult to understand some details.
Where possible refer directly to the
SimConnect.h
header file definitions and comments
as a more authoritative source.
What's what?
Find the full source on github at
https://github.com/patricksurry/pysimconnect
.
The
simconnect
folder contains the package itself.
The main interface is defined in
sc.py
which wraps the raw
definitions from the auto-generated
scdefs.py
,
providing access to both the low-level
SDK functions as well as some pythonic sugar.
The command line tool is implemented by
cli.py
.
The package requires a copy of
SimConnect.dll
to work.
This normally ships with FS2020 but a recent copy is also included here.
You can point to your own version by specifying the
dll_path
argument
when initializing
SimConnect(...)
.
The
scvars.json
file lists all the simulation variables (SimVars),
events and dimensional units, which were scraped from the SDK documentation pages
using
scripts/scrapevars.json
. This is useful for finding content
you want to interact with, inferring missing units and data-types
when querying simulation variables, and sanity-checking variable names.
The
examples
folder contains various illustrations of how to use
the package, showing both low-level SDK access and the pythonic wrappers.
See the
README.md
there for more details.
The
scripts
folder includes several scripts used to generate
parts of the package.
The
genscdefs.py
script creates
scdefs.py
from a post-processed
version of the
SimConnect.h
C++ header that ships with the SDK
(which can be installed via the Options > General > Developer tools help menu).
This generates a python translation of all the SDK function declarations, data structures
and enumerated constants. The automated translation is quite fragile:
it assumes the header is formatted in a particular way, and has been
pre-processed with
cpp
to
SimConnect_cpp.h
from the raw header.
This approach makes it easy to tweak the rules for mapping from C++
to Python, as long as header format doesn't change significantly.
Packaging and distribution
Bump version in
setup.cfg
then following
https://packaging.python.org/en/latest/tutorials/packaging-projects/
python3 -m build
git commit -am ...
git push origin
git tag v0.2.6
git push origin --tags
python3 -m twine upload dist/*0.2.6*
# login with username: __token__ / password: pypi-... |
| Markdown | [Skip to main content](https://pypi.org/project/pysimconnect/#content)
Switch to mobile version
Warning Some features may not work without JavaScript. Please try enabling it if you encounter problems.
[](https://pypi.org/)
- [Help](https://pypi.org/help/)
- [Docs](https://docs.pypi.org/)
- [Sponsors](https://pypi.org/sponsors/)
- [Log in](https://pypi.org/account/login/?next=https%3A%2F%2Fpypi.org%2Fproject%2Fpysimconnect%2F)
- [Register](https://pypi.org/account/register/)
Menu
- [Help](https://pypi.org/help/)
- [Docs](https://docs.pypi.org/)
- [Sponsors](https://pypi.org/sponsors/)
- [Log in](https://pypi.org/account/login/)
- [Register](https://pypi.org/account/register/)
# pysimconnect 0.2.6
pip install pysimconnect Copy PIP instructions
[Latest version](https://pypi.org/project/pysimconnect/)
Released: Jun 12, 2023
Python wrapper for Microsoft FlightSimulator 2020 SimConnect SDK
### Navigation
- [Project description](https://pypi.org/project/pysimconnect/#description)
- [Release history](https://pypi.org/project/pysimconnect/#history)
- [Download files](https://pypi.org/project/pysimconnect/#files)
### Verified details
*These details have been [verified by PyPI](https://docs.pypi.org/project_metadata/#verified-details)*
###### Maintainers
[ patricksurry](https://pypi.org/user/patricksurry/)
### Unverified details
*These details have **not** been verified by PyPI*
###### Project links
- [Homepage](https://github.com/patricksurry/pysimconnect)
- [Bug Tracker](https://github.com/patricksurry/pysimconnect/issues)
###### Meta
- **License:** MIT License
- **Author:** [Patrick Surry](mailto:patrick.surry@gmail.com)
- Tags pysimconnect , SimConnect , SimVars , ctypes , SDK , API , FS2020 , Microsoft Flight Simulator
- **Requires:** Python \>=3.6
###### Classifiers
- **License**
- [OSI Approved :: MIT License](https://pypi.org/search/?c=License+%3A%3A+OSI+Approved+%3A%3A+MIT+License)
- **Operating System**
- [OS Independent](https://pypi.org/search/?c=Operating+System+%3A%3A+OS+Independent)
- **Programming Language**
- [Python :: 3](https://pypi.org/search/?c=Programming+Language+%3A%3A+Python+%3A%3A+3)
[Report project as malware](https://pypi.org/project/pysimconnect/submit-malware-report/)
- [Project description](https://pypi.org/project/pysimconnect/#description)
- [Project details](https://pypi.org/project/pysimconnect/#data)
- [Release history](https://pypi.org/project/pysimconnect/#history)
- [Download files](https://pypi.org/project/pysimconnect/#files)
## Project description
The `pysimconnect` package provides a simple, efficient wrapper for FlightSimulator 2020's [SimConnect SDK](https://docs.flightsimulator.com/html/index.htm#t=Programming_Tools%2FSimConnect%2FSimConnect_SDK.htm), inspired by [Python-SimConnect](https://github.com/odwdinc/Python-SimConnect).
If you're looking to build external instrument displays, connect custom controllers to FS2020, or just explore how the simulation works in more detail then `pysimconnect` is for you. You might also be interested in [G3](https://github.com/patricksurry/g3), a flexible Javascript framework for building steam gauge instrument panels.
The package contains a python module called `simconnect` which exposes a simple pythonic interface to read simulator variables, set editable variables, subscribe to variable changes, and trigger simulator events. It also exposes all of the low-level SDK methods, constants and enumerations from the `SimConnect.h` SDK API based on a simple automated translation from the C++ definitions to Python equivalents.
The package also offers a `simconnect` command-line tool which lets you search for variables, events and measurement units from the SDK documentation; inspect, change or watch variables over time; and send simulator events, all without writing any code.
## Quick start
Making sure you're using python 3.6+ and install the package:
```
pip install pysimconnect
```
To use the `simconnect` command-line tool, install [Powershell7](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.2) and set your [default terminal](https://devblogs.microsoft.com/commandline/windows-terminal-as-your-default-command-line-experience/) to Windows Terminal rather than Windows Console Host. Start Powershell7 and install TAB auto-completion support by typing `simconnect --install-completion powershell` then restart your terminal as instructed:

Now start a flight in FS2020, perhaps with the AI pilot flying. Let's experiment with reading and modifying the altitude. First let's find some relevant variables with `search`:

Nice! We get a list of results from the SDK documentation ranked by relevance. Result categories are distinguished by different colors and symbols, e.g. variables ๐งญ, events โ๏ธ and units ๐, with a โ๏ธ marking variables which we can change.
Now let's read the value of the `PLANE ALTITUDE` variable using the `get` command. Start typing `simconnect get PLA<TAB>`, hitting the TAB key part way through the variable name to see contextual auto-complete options:

Select the desired `PLANE_ALTITUDE` option and hit ENTER:

Note that although the underlying SDK variables are space-separated and events are underscore-separated, the command-line tool recognizes either version. Normally using underscore-separated everywhere will be easier for auto-completion and avoids quoting in the terminal.
We can read multiple variables by just appending them in a list. We can also monitor multiple variables over time using `watch`:

By default we'll see an update once every second, highlighting the variables that change during each update. Some commands support additional options, for example `simconnect watch --help` will show us how to change the monitoring interval time. For general help, try `simconnect --help`.
Now let's change the plane's altitude during flight(!) using the `set` command. Here we'll add the `--units` option to specify that our value is measured in `meters` rather than the default `feet`:

Lastly, let's send an event to FS2020. A simple example is to bump the altimeter adjustment knob, like so. If you send this event a few times, you'll see the indicated altitude adjust in response.

This simple event needs no data, but with others you also need to provide a value.
## Working with python
The command-line tool is just a lightweight wrapper for some features of the `simconnect` python package. This means that you can write simple python code to do anything the command-line tool does, and much more besides. The best way to get started is to browse some [examples](https://pypi.org/project/pysimconnect/examples/README.md) which show both low-level interaction with the SDK, and some of the simplified sugar the package offers.
With so many moving parts, debugging errors can sometimes be tricky. One useful tool is to set the `LOGLEVEL` environment variable to `DEBUG` before running your code, rather than the default `INFO`:
```
set LOGLEVEL=DEBUG
```
Also, be warned that the official [SDK documentation](https://docs.flightsimulator.com/html/index.htm#t=Programming_Tools%2FSimConnect%2FSimConnect_SDK.htm_) has various errors (copy/paste gone wrong?) which can make it difficult to understand some details. Where possible refer directly to the `SimConnect.h` header file definitions and comments as a more authoritative source.
## What's what?
Find the full source on github at <https://github.com/patricksurry/pysimconnect>. The `simconnect` folder contains the package itself.
The main interface is defined in `sc.py` which wraps the raw definitions from the auto-generated `scdefs.py`, providing access to both the low-level SDK functions as well as some pythonic sugar. The command line tool is implemented by `cli.py`.
The package requires a copy of `SimConnect.dll` to work. This normally ships with FS2020 but a recent copy is also included here. You can point to your own version by specifying the `dll_path` argument when initializing `SimConnect(...)`. The `scvars.json` file lists all the simulation variables (SimVars), events and dimensional units, which were scraped from the SDK documentation pages using `scripts/scrapevars.json`. This is useful for finding content you want to interact with, inferring missing units and data-types when querying simulation variables, and sanity-checking variable names.
The `examples` folder contains various illustrations of how to use the package, showing both low-level SDK access and the pythonic wrappers. See the `README.md` there for more details.
The `scripts` folder includes several scripts used to generate parts of the package. The `genscdefs.py` script creates `scdefs.py` from a post-processed version of the `SimConnect.h` C++ header that ships with the SDK (which can be installed via the Options \> General \> Developer tools help menu). This generates a python translation of all the SDK function declarations, data structures and enumerated constants. The automated translation is quite fragile: it assumes the header is formatted in a particular way, and has been pre-processed with `cpp` to `SimConnect_cpp.h` from the raw header. This approach makes it easy to tweak the rules for mapping from C++ to Python, as long as header format doesn't change significantly.
## Packaging and distribution
Bump version in `setup.cfg` then following <https://packaging.python.org/en/latest/tutorials/packaging-projects/>
```
python3 -m build
git commit -am ...
git push origin
git tag v0.2.6
git push origin --tags
python3 -m twine upload dist/*0.2.6*
# login with username: __token__ / password: pypi-...
```
## Project details
### Verified details
*These details have been [verified by PyPI](https://docs.pypi.org/project_metadata/#verified-details)*
###### Maintainers
[ patricksurry](https://pypi.org/user/patricksurry/)
### Unverified details
*These details have **not** been verified by PyPI*
###### Project links
- [Homepage](https://github.com/patricksurry/pysimconnect)
- [Bug Tracker](https://github.com/patricksurry/pysimconnect/issues)
###### Meta
- **License:** MIT License
- **Author:** [Patrick Surry](mailto:patrick.surry@gmail.com)
- Tags pysimconnect , SimConnect , SimVars , ctypes , SDK , API , FS2020 , Microsoft Flight Simulator
- **Requires:** Python \>=3.6
###### Classifiers
- **License**
- [OSI Approved :: MIT License](https://pypi.org/search/?c=License+%3A%3A+OSI+Approved+%3A%3A+MIT+License)
- **Operating System**
- [OS Independent](https://pypi.org/search/?c=Operating+System+%3A%3A+OS+Independent)
- **Programming Language**
- [Python :: 3](https://pypi.org/search/?c=Programming+Language+%3A%3A+Python+%3A%3A+3)
## Release history [Release notifications](https://pypi.org/help/#project-release-notifications) \| [RSS feed](https://pypi.org/rss/project/pysimconnect/releases.xml)
This version

[0\.2.6 Jun 12, 2023](https://pypi.org/project/pysimconnect/0.2.6/)

[0\.2.5 Jun 11, 2023](https://pypi.org/project/pysimconnect/0.2.5/)

[0\.2.4 Mar 29, 2022](https://pypi.org/project/pysimconnect/0.2.4/)

[0\.2.3 Mar 20, 2022](https://pypi.org/project/pysimconnect/0.2.3/)

[0\.2.2 Mar 19, 2022](https://pypi.org/project/pysimconnect/0.2.2/)

[0\.2.1 Mar 19, 2022](https://pypi.org/project/pysimconnect/0.2.1/)

[0\.1.1 Feb 14, 2022](https://pypi.org/project/pysimconnect/0.1.1/)

[0\.1.0 Feb 8, 2022](https://pypi.org/project/pysimconnect/0.1.0/)
## Download files
Download the file for your platform. If you're not sure which to choose, learn more about [installing packages](https://packaging.python.org/tutorials/installing-packages/ "External link").
### Source Distribution
[pysimconnect-0.2.6.tar.gz](https://files.pythonhosted.org/packages/6e/69/e9ddbf0f5e0242557beced68414b769d6f31f3f0288da0eae3d0efd932b9/pysimconnect-0.2.6.tar.gz) (628.0 kB [view details](https://pypi.org/project/pysimconnect/#pysimconnect-0.2.6.tar.gz))
Uploaded Jun 12, 2023 `Source`
### Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about [wheel file names](https://packaging.python.org/en/latest/specifications/binary-distribution-format/ "External link").
The dropdown lists show the available interpreters, ABIs, and platforms.
Enable javascript to be able to filter the list of wheel files.
Copy a direct link to the current filters Copy
File name
Interpreter
ABI
Platform
[pysimconnect-0.2.6-py3-none-any.whl](https://files.pythonhosted.org/packages/0f/61/9274b33462461d52a80547076cabcac7147d8e9981ecad1ea6f11593dd0b/pysimconnect-0.2.6-py3-none-any.whl) (621.2 kB [view details](https://pypi.org/project/pysimconnect/#pysimconnect-0.2.6-py3-none-any.whl))
Uploaded Jun 12, 2023 `Python 3`
## File details
Details for the file `pysimconnect-0.2.6.tar.gz`.
### File metadata
- Download URL: [pysimconnect-0.2.6.tar.gz](https://files.pythonhosted.org/packages/6e/69/e9ddbf0f5e0242557beced68414b769d6f31f3f0288da0eae3d0efd932b9/pysimconnect-0.2.6.tar.gz)
- Upload date:
Jun 12, 2023
- Size: 628.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.16
### File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 | `3703e373991c77816047d0d7bc883bda8156f24b139a35122d9f007d112ca896` | Copy |
| MD5 | `d3014f3f281b088452f77a2350e2dcfb` | Copy |
| BLAKE2b-256 | `6e69e9ddbf0f5e0242557beced68414b769d6f31f3f0288da0eae3d0efd932b9` | Copy |
[See more details on using hashes here.](https://pip.pypa.io/en/stable/topics/secure-installs/#hash-checking-mode "External link")
## File details
Details for the file `pysimconnect-0.2.6-py3-none-any.whl`.
### File metadata
- Download URL: [pysimconnect-0.2.6-py3-none-any.whl](https://files.pythonhosted.org/packages/0f/61/9274b33462461d52a80547076cabcac7147d8e9981ecad1ea6f11593dd0b/pysimconnect-0.2.6-py3-none-any.whl)
- Upload date:
Jun 12, 2023
- Size: 621.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.16
### File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 | `4161d859d2931a249987d5507b5e469d042944f69fe2ac9b109ba48eb8cde43a` | Copy |
| MD5 | `a3584451d89a24233679fb0298e2ac05` | Copy |
| BLAKE2b-256 | `0f619274b33462461d52a80547076cabcac7147d8e9981ecad1ea6f11593dd0b` | Copy |
[See more details on using hashes here.](https://pip.pypa.io/en/stable/topics/secure-installs/#hash-checking-mode "External link")

## Help
- [Installing packages](https://packaging.python.org/tutorials/installing-packages/ "External link")
- [Uploading packages](https://packaging.python.org/tutorials/packaging-projects/ "External link")
- [User guide](https://packaging.python.org/ "External link")
- [Project name retention](https://www.python.org/dev/peps/pep-0541/ "External link")
- [FAQs](https://pypi.org/help/)
## About PyPI
- [PyPI Blog](https://blog.pypi.org/ "External link")
- [Infrastructure dashboard](https://dtdg.co/pypi "External link")
- [Statistics](https://pypi.org/stats/)
- [Logos & trademarks](https://pypi.org/trademarks/)
- [Our sponsors](https://pypi.org/sponsors/)
## Contributing to PyPI
- [Bugs and feedback](https://pypi.org/help/#feedback)
- [Contribute on GitHub](https://github.com/pypi/warehouse "External link")
- [Translate PyPI](https://hosted.weblate.org/projects/pypa/warehouse/ "External link")
- [Sponsor PyPI](https://pypi.org/sponsors/)
- [Development credits](https://github.com/pypi/warehouse/graphs/contributors "External link")
## Using PyPI
- [Terms of Service](https://policies.python.org/pypi.org/Terms-of-Service/ "External link")
- [Report security issue](https://pypi.org/security/)
- [Code of conduct](https://policies.python.org/python.org/code-of-conduct/ "External link")
- [Privacy Notice](https://policies.python.org/pypi.org/Privacy-Notice/ "External link")
- [Acceptable Use Policy](https://policies.python.org/pypi.org/Acceptable-Use-Policy/ "External link")
***
Status: [all systems operational](https://status.python.org/ "External link")
Developed and maintained by the Python community, for the Python community.
[Donate today\!](https://donate.pypi.org/)
"PyPI", "Python Package Index", and the blocks logos are registered [trademarks](https://pypi.org/trademarks/) of the [Python Software Foundation](https://www.python.org/psf-landing).
ยฉ 2025 [Python Software Foundation](https://www.python.org/psf-landing/ "External link")
[Site map](https://pypi.org/sitemap/)
Switch to desktop version
Supported by
[ AWS Cloud computing and Security Sponsor](https://aws.amazon.com/) [ Datadog Monitoring](https://www.datadoghq.com/) [ Depot Continuous Integration](https://depot.dev/) [ Fastly CDN](https://www.fastly.com/) [ Google Download Analytics](https://careers.google.com/) [ Pingdom Monitoring](https://www.pingdom.com/) [ Sentry Error logging](https://sentry.io/for/python/?utm_source=pypi&utm_medium=paid-community&utm_campaign=python-na-evergreen&utm_content=static-ad-pypi-sponsor-learnmore) [ StatusPage Status page](https://statuspage.io/) |
| Readable Markdown | null |
| Shard | 59 (laksa) |
| Root Hash | 7813724874982801459 |
| Unparsed URL | org,pypi!/project/pysimconnect/ s443 |