Skip to content
/ PySpy Public
forked from Eve-PySpy/PySpy

PySpy that doesn't depend on the backend server through heavy caching.

License

Notifications You must be signed in to change notification settings

iIIusi0n/PySpy

 
 

Repository files navigation

PySpy - A simple EVE Online character intel tool using CCP's ESI API

Current Version Number of releases downloaded Build Status

Download the latest release here.

Background

PySpy is a fast and simple character intel tool for EVE Online. Within seconds, PySpy gathers useful information on character names from the in-game local chat window.

PySpy connects to CCP's ESI API and the zKillboard API and is available on Windows, macOS and Linux.

In addition, PySpy uses a proprietary database which creates summary statistics for approximately 2.4 million EVE Online pilots, based on some 50 million killmails dating back to December 2007. This database is updated daily, shortly after CCP server downtime.

If you enjoy using PySpy and would like to show your appreciation, please feel free to send ISK in-game to White Russsian (with 3 's'). Thank you.

How to use PySpy

  1. Open PySpy.
  2. In your EVE client, select a list of characters and copy them to the clipboard (CTRL+C on Windows or ⌘+C on macOS).
  3. Wait until PySpy is done and inspect the results.
  4. Double-click a name to open the respective zKillboard in your browser. zKillboard will open to the relevant page based on the column you have clicked on. (Or to the character page if you turn off advanced zkillboard linking)

Note: PySpy will save its window location, size, column sizes, sorting order and transparency (slider on bottom right) and any other settings automatically and restore them the next time you launch it (settings will be reset whenever you update to a new version). If selected in the View Menu, PySpy will stay on top of the EVE client so long as the game runs in window mode.

Information Provided by PySpy

New Dark Mode

PySpy in action

Traditional Normal Mode

PySpy in action

  • Warning: Displays reasons why a character might be highlighted
  • Character: Character name.
  • Security: Concord security status.
  • Corporation: Corporation of character.
  • Alliance: Alliance of character's Corporation, if any.
  • Faction: Faction of character, if any.
  • Kills: Total number of kills.
  • Losses: Total number of losses.
  • Last Wk: Number of kills over past 7 days.
  • Solo: Ratio of solo kills over total kills.
  • BLOPS: Number of Black Ops Battleships (BLOPS) killed.
  • HICs: Number of lost Heavy Interdiction Cruisers (HIC).
  • Last Loss: Days since last loss.
  • Last Kill: Days since last kill.
  • Avg. Attackers: Average number of attackers per kill.
  • Covert Cyno: Ratio of losses where a covert cyno was fitted to total losses.
  • Regular Cyno: Ratio of losses where a regular cyno was fitted to total losses.
  • Last Covert Cyno: Ship type of most recent loss where covert cyno was fitted.
  • Last Regular Cyno: Ship type of most recent loss where regular cyno was fitted.
  • Abyssal Losses: Number of ship losses in Abyssal space.

Current Limitations: To avoid undue strain on zKillboard's API, PySpy will run the Kills, Losses, Last Wk, Solo, BLOPS and HICs analyses only for the first 100 characters in the list.

Ignore Certain Entities

PySpy allows you to specify a list of ignored characters, corporations and alliances. To add entities to that list, right click on a search result. You can remove entities from this list under Options->Review Ignored Entities.

Ignore all Members of your NPSI Fleet

For anyone using PySpy in not-purple-shoot-it (NPSI) fleets, you can tell PySpy to temporarily ignore your fleet mates by first running PySpy on all characters in your fleet chat and then selecting Options->Set NPSI Ignore List. Once the fleet is over, you can clear the list under Options->Clear NPSI List. Your custom ignore list described above will not be affected by this action.

Highlighting

PySpy allows you to specify a list of highlighted characters, corporations and alliances. These entities will be highlighted in a different color from the others. To add and remove entities to that list, right click on a search result. You can also review and remove entities from this list under Options->Review Highlighted Entities.

Furthermore PySpy can also highlight a character if he uses Black Ops and Heavy Interdiction Cruisers or frequently has a cyno fitted.

Installation

You can download the latest release for your operating system here.

PySpy comes as a single-file executable both in Windows and macOS. On both platforms, you can run PySpy from any folder location you like.

On Linux, you can run PySpy like any other Python3 script. PySpy was developed on Python 3.6.5 but should run on any other Python3 version, so long as you install the required packages listed in requirements.txt.

If you want to build PySpy into an executable yourself, then the pyinstaller spec file is provided, you will likely need to provide the api-ms-core dlls that python requires. details of this can be found here. You will know you need them if pyinstaller complains about missing them when run.

Note: PySpy automatically checks for updates on launch and will notify you if a new version is available.

Uninstalling PySpy

Delete the PySpy executable and remove the following files manually:

  • Windows: PySpy saves preference and log files in a folder called PySpy located at %LocalAppData%.
  • macOS: PySpy creates pyspy.log under ~/Library/Logs and pyspy.cfg as well as pyspy.pickle under ~/Library/Preferences.
  • Linux: PySpy creates pyspy.log under ~/Library/Logs and pyspy.cfg as well as pyspy.pickle under ~/.config/pyspy.

Future Features

Below is a non-exhaustive list of additional features I plan to add to PySpy as and when the ESI and zKillboard APIs support them:

  • Standings: Only show characters that are non-blue, i.e. neutral or hostile.
  • Highlight New Pilots: Highlight any pilots that have entered system since last PySpy run.
  • Improved GUI: The current GUI is very basic and while it works, I do appreciate that it is not ideal for people who cannot use it on a second screen but actually have to overlay it on-top of their EVE client.

Please feel free to add a feature request for any improvements you would like to see in future releases.

Bug Reporting

Despite extensive testing, you may encounter the odd bug. If so, please check if an existing issue already describes your bug. If not, feel free to create a new issue for your bug.

Dependencies & Acknowledgements

License

PySpy is licensed under the MIT License.

CCP Copyright Notice

EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. CCP is in no way responsible for the content on or functioning of this website, nor can it be liable for any damage arising from the use of this website.

Collection of Usage Statistics

To help improve PySpy further, PySpy reports usage statistics comprising certain anonymous information such as the number of characters analysed, duration of each analysis, operating system, version of PySpy, and any active GUI features. For full disclosure, a randomly generated identifier is being sent with each data set to allow me to track how many people are actually using PySpy over any given period. If you would like to see for yourself what is being collected, have a look at the source code of module reportstats.py.

About

PySpy that doesn't depend on the backend server through heavy caching.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%