Elite Dangerous Market Connector ("EDMC") is a third-party application for use with Frontier Developments' game "Elite Dangerous". Its purpose is to facilitate supplying certain game data to, and in some cases retrieving it from, a number of websites and other tools.
To achieve this it utilises the Journal Files written by the game when played on a PC. It also makes use of Frontier's Companion API ("Frontier's CAPI"), accessible once you've authorised this application.
EDMC has a plugin system which many other developers have made use of to extend its functionality.
NB: This application is of no use with a Console game account. We now test against, and package with Python 3.11.x. As a consequence of this we no longer support Windows 7, due to Python 3.10.x itself not supporting Windows 7. Also, Windows 8.1 reaches End-Of-Life on 2023-01-10, so we will no longer support that OS as of that date.
As has become routine now, various anti-virus software are reporting a false positive on our installer and/or files it contains. I've pre-emptively uploaded the installer toVirusTotalif you want to check what it's saying. Please see ourTroubleshooting/AV-false-positives FAQfor further information.
NB: THERE WAS A SLIGHT BUILD ERROR IN 5.8.0-rc3 WHICH MEANS ITS UPDATE CHECKS ARE NON-FUNCTIONAL. IF YOU INSTALLED THAT VERSION THEN PLEASE MANUALLY DOWNLOAD AND INSTALL THIS ONE TO ENSURE YOU HAVE WORKING UPDATE CHECKS.
This release is essentially the same as 5.8.0-rc3 with only the version and this changelog updated.
It brings a new feature related to Fleetcarrier data, some convenience for Linux users, some fixes, and otherwise some internal changes that should not adversely affect either users or third-party plugins. For the latter, read below for some new/changed things that could benefit you.
This release, and all future ones, now create two additional archive files in the GitHub release:
EDMarketConnector-release-<version>.zip
EDMarketConnector-release-<version>.tar.gz
New Feature – You can now have the application query the /fleetcarrier CAPI endpoint for data about your Fleet Carrier. The data will then be passed to interested plugins.
The code for choosing the 'Output' folder is now simply the tkinter function for such a dialogue, rather than a special case on Windows. In the past the former had issues with Unicode characters, but in testing no such issue was observed (on a supported OS).
Translations have been updated. Thanks again to our volunteer translators!
If we ever activate any functionality killswitches, the popup denoting which are active has been made more readable.
There's a new section in Contributing.md – "Python Environment". This should aid any new developers in getting things set up.
Linux Users
We now ship an io.edcd.EDMarketConnector.desktop file. To make use of this you should run scripts/linux-setup.shonce. This will:
Check that you have $HOME/bin in your PATH. If not, it will abort.
Create a shell script edmarketconnector in $HOME/bin to launch the application.
Copy the .desktop and .icon files into appropriate locations. The .desktop file utilises the shell script created in step 2, and thus relies on it existing and on it being in a directory that is in your PATH.
Once this has been completed any XDG-compliant desktops should have an entry for "E:D Market Connector" in their "Games" menu.
Fixes
The tracking of a Cmdr's location that was being performed by the core EDDN plugin has been moved into the Journal monitoring code. This results in the tracking being correct upon application (re)start, reflecting the state from the latest Journal file, rather than only picking up with any subsequent new Journal events.
The name of the files written by "File" > "Save Raw Data" now have a . between the system and station names.
Use of CAPI data in EDMC.exe when invoked with either -s or -n arguments hadn't been updated for prior changes, causing such invocations to fail. This has been fixed.
Plugin Developers
Each plugin is now handed its own sub-frame as the parent parameter passed to plugin_app()instead of the actual main UI frame. These new Frames are placed in the position that plugin UI would have gone into. This should have no side effects on well-behaved plugins.
New – capi_fleetcarrier() function to receive the data from a CAPI /fleetcarrier query. See PLUGINS.md for details.
It was found that the ShutDown event (note the capitalisation, this is distinct from the actual Journal Shutdown event) synthesized for plugins when it is detected that the game has exited was never actually being delivered. Instead this was erroneously replaced with a synthesized StartUp event. This has been fixed.
As the location tracking has been moved out of the core EDDN plugin, and into monitor.py all of it is now available as members of the state dictionary which is passed to journal_entry().
There is an additional property request_cmdr on CAPIData objects, which records the name of the Cmdr the request was made for.
FDevIDs files are their latest versions at time of this version's build.
examplesplugintest – dropped the "pre-5.0.0 config" code, as it's long since irrelevant.
Developers
If you utilise a git clone of the source code, you should also ensure the sub-modules are initialised and synchronised. wiki:Running from source has been updated to include the necessary commands.
The coriolis-data git sub-module now uses an HTTPS, not "git" URL, so won't require authentication for a simple git pull.
If you have a dump directory in CWD when running EDMarketConnector.py under a debugger you will get files in that location when CAPI queries complete. This will now include files with names of the form FleetCarrier.<callsign>.<timstamp>.json for /fleetcarrier data.
All the main UI tk widgets are now properly named. This might make things easier if debugging UI widgets as you'll no longer see a bunch of !label1, !frame1 and the like.