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 do 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.
This Pre-Release starts adding some support for changes and additions in the Odyssey Alpha. That support isn't complete yet, and there are caveats (not least because Frontier still needs to add some things, and fix some bugs). Further betas will add to and refine this support.
But this version should at least not throw strange error messages into the bottom status line of the EDMC UI.
Some initial support for things new in Odyssey has been added. We can detect when you're on-foot and at a station, so as to leverage Frontier CAPI to send data about the station to EDDN etc. NB: Due to shortcomings in Journal support we can only detect your 'station' location on orbital stations, and only when you first login there, not for subsequent Disembarking at one, and not at all for surface ports, let alone surface settlements. More support, for things like the 'ShipLocker' inventory of all the new materials, will be added in a subsequent beta.
A little TRACE logging output has been commented out for now.
Plugin Developers​
All static data that is cleared for use by plugins is now in the file edmc_data.py and should be imported from there, not any other module. The one thing we didn't move was the 'bracket map' dictionaries in td.py as they're for use only by the code in that file. All future such data will be added to this file, and we'll endeavour not to make breaking changes to any of it without increasing our Major version.
We now change the current working directory of EDMarketConnector.exe to its location as soon as possible in its execution. We're also now more paranoid about ensuring we reference the full path to the .gitversion file. However, no plugin should itself call os.chdir(…) or equivalent. You'll change the current working directory for all core code and other plugins as well (it's global to the whole process, not per-thread). Use full absolute paths instead (pathlib is what to use for this)