|
| 1 | +<!--- // cSpell:words killboard, blops, hics, killboard's, cynos, ccp's, pyspy, psf's, pyperclip, pyinstaller, executables, jojo, unported ---> |
| 2 | + |
| 3 | +# PySpy - A simple EVE Online character intel tool using CCP's ESI API |
| 4 | + |
| 5 | +## Background |
| 6 | + |
| 7 | +PySpy was born out of frustration over the *death* of [Pirate's Little Helper](http://eve-plh.com/#/home), |
| 8 | +a great [EVE Online](https://www.eveonline.com/) third-party tool for gathering useful information on character names from the in-game *local chat* window. |
| 9 | + |
| 10 | +PySpy connects to [CCP's ESI API](https://esi.evetech.net/ui/) and the |
| 11 | +[zKillboard API](https://github.com/zKillboard/zKillboard/wiki) and is available on Windows and macOS. |
| 12 | + |
| 13 | +## How to use PySpy |
| 14 | + |
| 15 | +1. Open PySpy. |
| 16 | +2. In your EVE client, select a list of characters and copy them to the clipboard (`CTRL+C` on Windows *or* `⌘+C` on macOS). |
| 17 | +3. Wait until PySpy is done and inspect the results. |
| 18 | +4. Double-click a name to open the respective zKillboard in your browser. |
| 19 | + |
| 20 | +**Note**: PySpy will save its window location, size, column sizes and transparency (slider on bottom right) settings automatically and restore them the next time you launch it. PySpy will stay on top of the EVE client so long as the game runs in *window mode*. |
| 21 | + |
| 22 | +## Information Provided by PySpy |
| 23 | + |
| 24 | +<p align="center"> |
| 25 | + <img alt="PySpy in action" src="https://github.com/WhiteRusssian/PySpy/blob/master/assets/v0.1_screenshot.png?raw=true"> |
| 26 | +</p> |
| 27 | + |
| 28 | +* **Character**: Character name. |
| 29 | +* **Corporation**: Corporation of character. |
| 30 | +* **Alliance**: Alliance of Character's Corporation, if any. |
| 31 | +* **K**: Total number of kills. |
| 32 | +* **B**: Number of Black Ops Battleships (BLOPS) killed. |
| 33 | +* **H**: Number of lost Heavy Interdiction Cruisers (HIC). |
| 34 | + |
| 35 | +**Note**: Characters that have killed BLOPS or have lost HICs are high-lighted *orange*. |
| 36 | + |
| 37 | +**Current Limitations**: To avoid undue strain on zKillboard's API, PySpy will run the *K-B-H* analysis only for the first 20 characters in the list. |
| 38 | + |
| 39 | +## Installation |
| 40 | + |
| 41 | +You can download the latest release for your operating system [here](https://github.com/WhiteRusssian/PySpy/tree/master/download). |
| 42 | + |
| 43 | +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. |
| 44 | + |
| 45 | +**Note**: PySpy automatically checks for updates on launch. |
| 46 | + |
| 47 | +## Uninstalling PySpy |
| 48 | + |
| 49 | +Delete the PySpy executable and remove the following files manually: |
| 50 | + |
| 51 | +* **Windows**: PySpy saves preference and log files in a folder called `PySpy` located at `%LocalAppData%`. |
| 52 | +* **macOS**: PySpy creates `pyspy.log` under `~/Library/Logs` and `pyspy.cfg` under `~/Library/Preferences`. |
| 53 | + |
| 54 | +## Future Features |
| 55 | + |
| 56 | +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: |
| 57 | + |
| 58 | +* **Standings**: Only show characters that are non-blue, i.e. neutral or hostile. |
| 59 | +* **Cynos**: Indicate if a character has in the past lost ships fitted with regular or covert cynos. |
| 60 | +* **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. |
| 61 | + |
| 62 | +## Bug Reporting |
| 63 | + |
| 64 | +Despite PySpy's simplicity and extensive testing, you may encounter the odd bug. If so, please check if an existing [issue](https://github.com/WhiteRusssian/PySpy/issues) already describes your bug. If not, feel free to [create a new issue](https://github.com/WhiteRusssian/PySpy/issues/new?template=bug_report.md) for your bug. |
| 65 | + |
| 66 | +## Dependencies & Acknowledgements |
| 67 | + |
| 68 | +* PySpy is written in [Python 3](https://www.python.org/) (v3.6.5), licensed under [PSF's License Agreement](https://docs.python.org/3/license.html#psf-license-agreement-for-python-release). |
| 69 | +* For API connectivity, PySpy relies on [Requests](http://docs.python-requests.org/) (v2.19.1), licensed under the [Apache License, Version 2.0](http://docs.python-requests.org/en/master/user/intro/#requests-license). |
| 70 | +* Clipboard monitoring is implemented with the help of [pyperclip](https://github.com/asweigart/pyperclip) (v1.6.2), licensed under the [3-Clause BSD License](https://github.com/asweigart/pyperclip/blob/master/LICENSE.txt). |
| 71 | +* The GUI is powered by [wxPython](https://www.wxpython.org/) (v4.0.3), licensed under the [wxWindows Library Licence](https://wxpython.org/pages/license/index.html). |
| 72 | +* The Windows and macOS executables are built using [pyinstaller](https://www.pyinstaller.org/), licensed under [its own modified GPL license](https://raw.githubusercontent.com/pyinstaller/pyinstaller/develop/COPYING.txt). |
| 73 | +* PySpy's icon was created by Jojo Mendoza and is licensed under [Creative Commons (Attribution-Noncommercial 3.0 Unported)](https://creativecommons.org/licenses/by-nc/3.0/). It is available on https://www.iconfinder.com/icons/1218719/cyber_hat_spy_undercover_user_icon. |
| 74 | + |
| 75 | +## License |
| 76 | + |
| 77 | +PySpy is licensed under the [MIT](LICENSE.txt) License. |
| 78 | + |
| 79 | +## CCP Copyright Notice |
| 80 | + |
| 81 | +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. |
0 commit comments