Downloads commodity market and other station data from the game Elite: Dangerous for use with all popular online and offline trading tools.
Python Other
Latest commit 676e325 Jan 15, 2017 @Marginal Release 2.25
Permalink
Failed to load latest commit information.
L10n Update translations Jan 15, 2017
coriolis-data @ 648cd56 2.2.03 module and ship stats from coriolis-data Jan 12, 2017
img Add Ship field to main Window Nov 9, 2016
plugins/About Plugin enhancements Nov 14, 2016
.gitignore Update translations Jul 17, 2016
.gitmodules Switch coriolis-data to EDCD fork Oct 7, 2016
EDMC.py Default loadout format is now Companion API json Nov 20, 2016
EDMarketConnector.VisualElementsManifest.xml Improve tile appearance on Windows 8.1 start screen. Jun 23, 2015
EDMarketConnector.icns Initial version. Jun 2, 2015
EDMarketConnector.ico Initial version. Jun 2, 2015
EDMarketConnector.manifest Improve text scaling on Windows 8.1 and later. Aug 2, 2015
EDMarketConnector.png Support for running from source on Linux. Jun 4, 2015
EDMarketConnector.py Specific error for API data doesn't match Journal Jan 12, 2017
EDMarketConnector.wxs Remember custom INSTALLDIR on upgrade Feb 28, 2016
EDMarketConnector.xcf Initial version. Jun 2, 2015
LICENSE Initial commit Jun 2, 2015
PLUGINS.md Fix documentation of `prefs_changed` plugin hook Jan 2, 2017
README.md Specific error for API data doesn't match Journal Jan 12, 2017
collate.py Move functions that manipulate API output Nov 19, 2016
commodity.py Drop support for Slopey's BPC format Dec 19, 2016
companion.py Add Module Reinforcement Package in E:D 2.2.03 Jan 12, 2017
config.py Release 2.25 Jan 15, 2017
coriolis.py Add Module Reinforcement Package in E:D 2.2.03 Jan 12, 2017
eddb.py Update eddb database Jan 12, 2017
eddn.py Keep journal entries on failure and re-send later Nov 21, 2016
edshipyard.py Add Module Reinforcement Package in E:D 2.2.03 Jan 12, 2017
edsm.py Send ship links to EDSM Nov 23, 2016
hotkey.py Clean up hotkey thread on exit on Windows Sep 6, 2016
l10n.py Support for changing language. Feb 7, 2016
loadout.py Default loadout format is now Companion API json Nov 20, 2016
modules.p 2.2.03 module and ship stats from coriolis-data Jan 12, 2017
monitor.py Display Private Group in main window Dec 8, 2016
myNotebook.py Match OptionMenu menu colour to button Jul 27, 2016
outfitting.py Add Module Reinforcement Package in E:D 2.2.03 Jan 12, 2017
plug.py Plugin enhancements Nov 14, 2016
prefs.py Drop support for Slopey's BPC format Dec 19, 2016
py2exe.cmd Build main scripts optimized on Windows. Dec 18, 2015
requirements change to inclusive clauses >= vs absolute == Sep 26, 2016
setup.py Fix signature verification on OSX with SIP Nov 22, 2016
ships.p 2.2.03 module and ship stats from coriolis-data Jan 12, 2017
shipyard.py Rationalise handling of different ship names in-game, in EDDN message… Dec 5, 2015
snd_bad.wav Add hotkey/shortcut support. Sep 12, 2015
snd_good.wav Add hotkey/shortcut support. Sep 12, 2015
stations.p Update eddb database Jan 12, 2017
stats.py Add ship values to stats dialog Jan 12, 2017
systems.p Update eddb database Jan 12, 2017
td.py Round sell and buy prices down to integer Aug 9, 2016
theme.py Make dark theme background off-black Feb 21, 2016
ttkHyperlinkLabel.py Work around Windows limit on ShellExecute arg len Nov 20, 2016
update.py Verify SSL certs only if Python supports SNI Mar 27, 2016

README.md

Chat to us on Discord

Elite: Dangerous Market Connector (EDMC)

This app downloads your Cmdr's data, system, scan and station data from the game Elite: Dangerous and, at your choice, either:

You can run the app on the same machine on which you're running Elite: Dangerous or on another machine connected via a network share.

Usage

The user-interface is deliberately minimal - your choice of data is automatically downloaded, transmitted and/or saved when you land at a station, jump to a system or scan a body.

Click on the ship name to view its loadout and modifications on E:D Shipyard or Coriolis in your web browser.

Click on the system name to go to its Elite: Dangerous Star Map (“EDSM”) entry in your web browser.

Click on the station name to go to its Elite: Dangerous Database (“eddb”) entry in your web browser.

Windows screenshot   Mac screenshot

Windows screenshot   Mac screenshot

Installation

Mac:

  • Requires Mac OS 10.10 or later.
  • Download the .zip archive of the latest release.
  • The zip archive contains the EDMarketConnector app - move this app to Applications or wherever you want it.
  • Double-click on the app to run it.

Windows:

  • Requires Windows 7 or later.
  • Download the .msi package of the latest release.
  • Double-click on it to install.
  • Run Elite Dangerous Market Connector from the Start Menu or Start Screen.

Setup

The first time that you run the app you are prompted for your username and password. This is the same username and password combination that you use to log into the Elite: Dangerous launcher, and is required so that the Frontier servers can send the app your data and the data for the station that you are docked at.

You can also choose here what data to save (refer to the next section for details), whether to “Update” Cmdr and station data automatically on docking and/or with a hotkey, and whether to attach your Cmdr name or a pseudo-anonymized ID to the data.

You will be prompted to authenticate with a “verification code”, which you will shortly receive by email from Frontier. Note that each “verification code” is one-time only - if you enter the code incorrectly or quit the app before authenticating you will need to wait for Frontier to send you a new code.

If you are not prompted to authenticate, but instead see the message “Error: Invalid Credentials” then choose the menu option EDMarketConnector → Preferences (Mac) or File → Settings (Windows) and double-check your username and password.

Output

This app can save a variety of data in a variety of formats:

By default these files will be placed in your Documents folder. Since this app will create a lot of files if you use it for a while you may wish to create a separate folder for the files and tell the app to place them there.

Some options work by reading the Elite: Dangerous game's “journal” files. If you're running this app on a different machine from the Elite: Dangerous game then adjust the “E:D journal file location” setting on the Configuration tab to point to the game's journal files.

EDDN

  • Station data
  • System and scan data
    • Sends general system information and the results of your detailed planet scans to “EDDN” from where you and others can use it via online prospecting tools such as eddb, Inara, etc.
    • You can choose to delay sending this information to EDDN until you're next safely docked at a station. Otherwise the information is sent as soon as you enter a system or perform a scan.

EDSM

You can send a record of your ship and location to Elite: Dangerous Star Map where you can view your fleet and flight log, and optionally add private comments about systems. You will need to register for an account and then follow the “Elite Dangerous Star Map credentials” link to obtain your API key.

Uninstall

Mac:

  • Delete the EDMarketConnector app.

Windows:

  • Uninstall Elite Dangerous Market Connector from Control Panel → Programs.

Note: Uninstalling the app does not delete any output files that it has previously written.

Plugins

Plugins extend the behavior of this app. To install a downloaded plugin, open the .zip archive and move the folder contained inside into the following folder:

  • Windows: %LOCALAPPDATA%\EDMarketConnector\plugins (usually C:\Users\you\AppData\Local\EDMarketConnector\plugins).
  • Mac: ~/Library/Application Support/EDMarketConnector/plugins (in Finder hold ⌥ and choose Go → Library to open your ~/Library folder).
  • Linux: $XDG_DATA_HOME/EDMarketConnector/plugins, or ~/.local/share/EDMarketConnector/plugins if $XDG_DATA_HOME is unset.

You will need to re-start EDMC for it to notice the new plugin.

Refer to PLUGINS.md if you would like to write a plugin.

Troubleshooting

Shipyard data not reported

The Frontier server that supplies the data to this app sometimes fails to supply shipyard data. Visit the shipyard in-game and try “Updating” again.

This problem is tracked as Issue #86.

Rares profits wiped out

Due to a bug in the server that supplies the data to this app, profit on any Rare cargo in your hold may be wiped out when you visit the in-game Commodity Market after having “Updated”.

If you're trading Rares turn off the “Automatically update on docking” setting and ensure that you visit the in-game Commodity Market at a station where you intend to sell Rares before hitting “Update”.

This problem is tracked as Issue #92.

Doesn't auto-update or track Systems visited

This app uses Elite: Dangerous' “journal” files to track the systems and stations that you visit. If you're running this app on a different machine from the Elite: Dangerous game, or if you find that this app isn't automatically tracking the systems that you visit and/or isn't automatically “updating” on docking (if you have that option selected), then adjust the “E:D journal file location” setting on the Configuration tab to point to the game's journal files.

Error: Wrong Cmdr

The Frontier server that supplies data to this app is supplying data for a different Cmdr than the one that you're currently playing. Either:

  1. You have multiple accounts and the username/password setting is not for the account that you're currently playing; or
  2. You have reset your Cmdr but Frontier's server is still supplying data for the old Cmdr.

If 1 check your username/password settings.

If 2 this problem may or may not resolve itself in time.

This problem is tracked as Issue #165.

Error: Can't connect to EDDN

EDMC needs to talk to eddn-gateway.elite-markets.net on port 8080. If you consistently receive this error check that your router or VPN configuration allows port 8080 / tcp outbound.

Import failed: No ship loadout found

Complex ship loadouts with Engineers' mods can cause you to hit an Internet Explorer / Edge limitation on the length of URLs. Switch to a browser that doesn't suck.

Running from source

Download and extract the source code of the latest release.

Mac:

  • Requires the Python “requests” and “watchdog” modules, plus an up-to-date “py2app” module if you also want to package the app - install these with easy_install -U requests watchdog py2app .
  • Run with ./EDMarketConnector.py .

Windows:

  • Requires Python2.7 and the Python “requests” and “watchdog” modules.
  • Run with EDMarketConnector.py .

Linux:

  • Requires the Python “imaging-tk”, “iniparse” and “requests” modules. On Debian-based systems install these with sudo apt-get install python-imaging-tk python-iniparse python-requests .
  • Run with ./EDMarketConnector.py .

Command-line

The command-line program EDMC.py writes the current system and station (if docked) to stdout and optionally writes player status, ship locations, ship loadout and/or station data to file. This program requires that the user has performed setup and verification through the app.

Arguments:

 -h, --help     show this help message and exit
 -v, --version  print program version and exit
 -c FILE        write ship loadout to FILE in Coriolis json format
 -e FILE        write ship loadout to FILE in E:D Shipyard format
 -l FILE        write ship locations to FILE in CSV format
 -m FILE        write station commodity market data to FILE in CSV format
 -o FILE        write station outfitting data to FILE in CSV format
 -s FILE        write station shipyard data to FILE in CSV format
 -t FILE        write player status to FILE in CSV format
 -d FILE        write raw JSON data to FILE
 -n             send data to EDDN

The program returns one of the following exit codes. Further information may be written to stderr.

  1. Success. Note that this doesn't necessarily mean that any requested output files have been produced - for example if the current station doesn't support the facilities for which data was requested.
  2. Server is down.
  3. Invalid Credentials.
  4. Verification Required.
  5. Not docked. You have requested station data but the user is not docked at a station.
  6. I/O or other OS error.

Packaging for distribution

Mac:

  • requires py2app 0.9.x
  • Sparkle.framework installed in /Library/Frameworks
  • Run setup.py py2app

Windows:

  • requires py2exe 0.6.x
  • winsparkle.dll & .pdb from WinSparkle copied to the current directory
  • WiX Toolset
  • Run setup.py py2exe

Disclaimer

This app uses the “Companion” web API that Frontier originally supplied for their Elite Dangerous iOS app and now support for third-party apps. However this API could go away at some time in the future - in which case this app will cease to work.

Acknowledgements

  • “Elite: Dangerous” is © 1984 - 2016 Frontier Developments plc.
  • Thanks to Cmdrs CatfoodCZ, Mike Stix & DaraCZ for the Czech translation.
  • Thanks to Cmdr CoolBreeze for the Dutch translation.
  • Thanks to Cmdr Anthor for the French translation.
  • Thanks to Cmdr DragoCubX for keeping the German translation up to date.
  • Thanks to Cmdr Koreldan for the Italian translation.
  • Thanks to Cmdr magni1200s for the Japanese translation.
  • Thanks to Cmdr bubis7 for the Latvian translation.
  • Thanks to Cmdr Amarok 73 for the Polish translation.
  • Thanks to Shadow Panther for keeping the Russian translation up to date.
  • Thanks to Armando Ota for the Slovenian translation.
  • Thanks to Cmdr Mila Strelok for the Spanish translation.
  • Thanks to Taras Velychko for the Ukranian translation.
  • Thanks to James Muscat for EDDN and to Cmdr Anthor for the stats.
  • Thanks to Andargor for the idea of using the “Companion” interface in edce-client.
  • Uses Sparkle by Andy Matuschak and the Sparkle Project.
  • Uses WinSparkle by Václav Slavík.
  • Uses OneSky for translation management.

License

Copyright © 2015-2016 Jonathan Harris.

Licensed under the GNU Public License (GPL) version 2 or later.