Python fitting assistant, cross-platform fitting tool for EVE Online

Overview

pyfa

Join us on Slack! Build Status

pyfa

What is it?

Pyfa, short for python fitting assistant, allows you to create, experiment with, and save ship fittings without being in game. Open source and written in Python, it is available on any platform where Python 3 and wxWidgets are available, including Windows, Mac OS X, and Linux.

Latest Version and Changelogs

The latest version along with release notes can always be found on the project's releases page. Pyfa will notify you if you are running an outdated version.

Installation

Windows and OS X users are supplied self-contained builds of pyfa on the latest releases page. An .exe installer is also available for Windows builds. Linux users can run pyfa using their distribution's Python interpreter. There is no official self-contained package for Linux, however, there are a number of third-party packages available through distribution-specific repositories.

OS X

Apart from the official release, there is also a Homebrew option for installing pyfa on OS X. Please note this is maintained by a third-party and is not tested by pyfa developers. Simply fire up in terminal:

$ brew install Caskroom/cask/pyfa

Linux Distro-specific Packages

The following is a list of pyfa packages available for certain distributions. Please note that these packages are maintained by third-parties and are not evaluated by the pyfa developers.

Contribution

If you wish to help with development or you need to run pyfa through a Python interpreter, check out the instructions.

Bug Reporting

The preferred method of reporting bugs is through the project's GitHub Issues interface. Alternatively, posting a report in the pyfa thread on the official EVE Online forums is acceptable. Guidelines for bug reporting can be found on this wiki page.

License

Pyfa is licensed under the GNU GPL v3.0, see LICENSE

Resources

Contacts:

CCP Copyright Notice

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. 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. CCP hf. has granted permission to pyfa to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, pyfa. CCP is in no way responsible for the content on or functioning of this program, nor can it be liable for any damage arising from the use of this program.

Comments
  • i18n Localization

    i18n Localization

    This PR is to show and discuss current efforts to support basic localization in pyfa.

    We will only support languages that the official EVE client supports (it would be weird to have Klingon in the UI but everything in the EVE database is English πŸ˜€)

    Feel free to contribute to this branch after brushing up on the latest comments to avoid duplication of effort.

    Couple of notes:

    • The translations themselves aren't a high priority due to the chance of source strings changing during development. This PR is focused on getting core support for translations in pyfa, and the translations can come later. That being said, we will of course accept PRs with translations, just know that they may need to be re-done as this codebase progresses.
    • At this time we're not looking to get full localization support (for example, 1,234 vs 1.234, date formats, etc). We're focused on GUI text translations. But again, if you know how to do proper localization for digits, etc, PRs are welcome!

    TODOs:

    • [x] Complete GUI annotations (_t("")) (~~also need to switch current _() to _t(), see https://github.com/pyfa-org/Pyfa/pull/2202#issuecomment-646968963 for details~~ DONE)
    • [x] Work out a way for accessing locale settings as soon as pyfa startup (needed for eos initialization)
    • [x] Set eos language based on user's saved preference
    • [x] Database translations. Need input from @DarkFenX on best way to do this since I've been in a hole for the past year and things have changed 😁
      • Phobos supports dumping translations with the data. We'll then need to load eos with the needed translation string and probably alias the translated properties in SQLAlchemy so that we automatically pull the correct column.
      • To expose the language to eos, we'll probably just write eos.config.lang = <lang> in pyfa.py once we get that info.
    • [x] GUI stuff to choose between translations
    • [ ] (maybe) First time start up to have the user choose language (and default to user's current language if supported)
    • [x] Some script for automatically generate *.mo and packaging translations. Unsure what we can do here that's cross-platform and not environment-bound. Open to suggestions (@zhaoweny suggests "I think pyfa should rely on shell script for this, because even Git for Windows has required msgfmt, and python's implementation msgfmt.py is hard to detect (e.g. a virtualenv might not have this)")
    • [x] Windows / Mac builds: run translations automatically for each build. I assume we would only want to maintain the uncompiled .po, and then have the build scripts deal with the compiled .mo. This means that folks running from source would have to compile them themselves if they want localization...
    • [ ] Ensure helper scripts still work

    Bugs:

    • [x] https://github.com/pyfa-org/Pyfa/pull/2202#issuecomment-647032997
    • [x] https://github.com/pyfa-org/Pyfa/pull/2202#issuecomment-663879122
    opened by blitzmann 83
  • Crash on opening fit / searching market

    Crash on opening fit / searching market

    Some folks are experiencing random crashes in Windows. If you're experiencing these issues, please post here and subscribe to the thread - I may have you try to test a few things.

    EDIT:

    • Crashes happen with the Citadel Pre Release. v1.20.1 is unaffected.

    WORKAROUND:

    • Running pyfa in administrator mode fixes the crashes according to some users. 0.o
    bug investigate workaround-available 
    opened by blitzmann 73
  • Mac build

    Mac build

    Hi. I'm a python developer on a mac. Might not be too helpful in developing out the whole shebang, but I'd be willing to help out with your build stuff. Let me know what I can do.

    macOS 
    opened by dangayle 50
  • App doesn't launch

    App doesn't launch

    After instalation, program doesn't respond. No errors or any warning shows up.

    image

    Bug Report

    Expected behavior:

    Actual behavior:

    Detailed steps to reproduce:

    Fits involved in EFT format (Edit > To Clipboard > EFT):

    Release or development git branch? Please note the release version or commit hash:

    Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):

    Other relevant information:

    bug 
    opened by qJackDodgersp 46
  • CREST Fitting Support

    CREST Fitting Support

    CCP FoxFour just release documentation on this today, see https://github.com/ccpgames/eveonline-third-party-documentation/commit/1ff6d7ac56c4b1c66b0e39155b502dfb7ec0336c

    This issue will keep track of current progress.


    • [x] Webserver support for gathering auth code. This will probably require rebuilding Windows and Mac skels
    • [ ] Fallback in case webserver is not viable due to user restrictions (unsure of mechanism here)
    • [x] Database support for CREST Characters, which will hold the refresh token
    • [x] Getting and displaying saved fittings from EVE server. This is done, and works in this way: Select the character and fetch characters. Tree displays. Select fitting, and the modules (and cargo/drones/whatever is attached to saved fitting) are loaded as pyfa Items and then passed into a Cargo wrapper (Cargo items display amount unlike Modules) and then displayed. This will work for the initial release, but will need to be iterated on. I want to make it look somewhat like the fitting view with the slots separated. This will take more work simply because that view assumes it's being attached to a fit and calculated with a character, which we don't want (or do we???). https://gyazo.com/6da86533ba59b09ce70ae873bccb583e
    • [x] Importing saved fits
    • [x] Exporting to CREST format - Done. This is somewhat of a pain as we need to know the invFlag for the module, which is different than what pyfa uses. I aim to make a simple converter between pyfa's internal position and the inf flag, but for now I've got a working thing.
    • [x] Sending fit to server

    Known issues: (as of 10/25/15)

    • [x] Very little testing has been done with regards on how to handle errors from CCP (such as too many fittings)
    • [x] Changing between the two modes does not work until pyfa is restarted -- menus need to know when the mode changes, as does the CREST service (so it may reload the settings).
    • [x] Changing clientID and clientSecret and trying to access CREST with refresh token bound to the old settings hangs the program. The solution here would be to simply delete all saved characters
    • [ ] [backend] CREST Characters are not cached at the database level for some reason. I have a stopgap in place to cache them at the service level, but this is not ideal. This shouldn't affect end-users either way.
    • [x] If internet connection is not available, CREST calls fail. Not sure of the best approach here. Maybe simply catch the exception when calling fetch / post / delete and display status message?
    • [ ] Need a message if response handling fails for some reason (bad state, incorrect info)
    • [x] After adding characters via User-defined mode, menu items are disabled until restart. (the CREST menus are generally buggy and not working well, fix all these)

    To-do's:

    • [x] Support DELETE of fitting
    • [x] force kill the server before starting again, just in case it's still running for whatever reason.
    • [ ] Possibly rework the response handling so that the "Done" message shown to the user only says that if everything actually worked. Maybe move the entirety of the response handle logic into AuthHandler
    • [ ] Work with pycrest's cache when adding / deleting fit so that we can at least keep an up-to-date copy on our end.
    • [ ] Merge the fit export with the clipboard export options
    • [ ] Possible search function for fit browser, and display currently selected fit and ship type above the module listing
    enhancement 
    opened by blitzmann 40
  • Cap/shield Simulation

    Cap/shield Simulation

    Use new module for cap/shield simulation.

    Things left to be done.

    • [x] Handle projected items on cap graph
    • [x] Graph pane doesn't refresh when switching views. ~Need to add that.~ No plans to fix as a larger issue.
    • [x] Switch cap stability numbers to new formula.

    You can get the cap graph to show properly by opening the graph window, switching to capacitor, then dragging and dropping your fit in.

    Blocked 
    opened by Ebag333 37
  • Reactive Armor Hardener resistance calculation incorrect

    Reactive Armor Hardener resistance calculation incorrect

    In pyfa the Reactive Armor Hardener always sets its resistance profile equal to the incoming damage profile. That's not how it works in game though. In game the RAH adjusts to match the ship's overall resistances to the incoming damage, rather than matching its own resistances. What this means is that when taking 50% EM and 50% Thermal damage in a ship with 80% EM resistance and 50% Thermal resistance, the RAH will converge on 0% EM and 60% Thermal, not 30% EM and 30% Thermal. Another example: when taking 25%/25%/25%/25% damage in a ship with resists of 60%/50%/40%/30% the RAH will converge on 0%/5.8%/21.5%/32.7%, not 25%/25%/25%/25%.

    There are certain case with one or two attackers doing mixed damage where the RAH will shift to 30%/30% or 20%/20%/20%, but it's not possible to figure out whether that will happen based solely on a damage profile, so that can be disregarded.

    I would fix the calculation and put in a pull request, but I'm not familiar enough with pyfa's codebase to make it work. The calculation would need to know the ship's resistances with the effects of all other modules except Damage Control, and I'm not sure how to get that.

    discussion 
    opened by MrNukealizer 37
  • (Linux) Memory Leak in 1.28.0

    (Linux) Memory Leak in 1.28.0

    The current version - 1.28.0 - seems top have a massive memory leak.

    The app won't start and after eating up roughly 8GB of RAM and 5GB of my swap drive I managed to finally kill the application.

    ~/downloads/pyfa-1.28.0-yc119.3-1.0-linux/pyfa $ python2.7 pyfa.py [2017-03-16 21:30:49.189095] WARNING: config: Failed to import: configforced [2017-03-16 21:30:49.327758] DEBUG: config: Configuring Pyfa [2017-03-16 21:30:49.503067] DEBUG: service.prefetch: Run database migration. [2017-03-16 21:30:49.507228] DEBUG: service.prefetch: Import Required Database Values. [2017-03-16 21:30:49.581644] DEBUG: service.prefetch: Starting database validation. [2017-03-16 21:30:49.581758] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for character skills. [2017-03-16 21:30:49.582639] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for orphaned characters attached to fits. [2017-03-16 21:30:49.583363] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for orphaned damage patterns attached to fits. [2017-03-16 21:30:49.584073] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for missing damage pattern names. [2017-03-16 21:30:49.584728] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for missing target resist names. [2017-03-16 21:30:49.585380] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for orphaned drones items. [2017-03-16 21:30:49.586140] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for orphaned cargo items. [2017-03-16 21:30:49.587061] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for orphaned fighters items. [2017-03-16 21:30:49.587753] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for orphaned modules items. [2017-03-16 21:30:49.589932] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for null damagePatterns values. (em) [2017-03-16 21:30:49.590614] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for null damagePatterns values. (thermal) [2017-03-16 21:30:49.591270] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for null damagePatterns values. (kinetic) [2017-03-16 21:30:49.591938] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for null damagePatterns values. (explosive) [2017-03-16 21:30:49.592603] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for null targetResists values. (em) [2017-03-16 21:30:49.593266] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for null targetResists values. (thermal) [2017-03-16 21:30:49.593911] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for null targetResists values. (kinetic) [2017-03-16 21:30:49.594568] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for null targetResists values. (explosive) [2017-03-16 21:30:49.595263] DEBUG: eos.db.saveddata.databaseRepair: Running database cleanup for duplicated selected ammo profiles. [2017-03-16 21:30:49.595918] DEBUG: service.prefetch: Completed database validation.

    At this point it eats up all memory

    killed

    bug fixed 
    opened by ppfeufer 35
  • Add abyss / invasion damage and resist profiles

    Add abyss / invasion damage and resist profiles

    According to russian forums, stats of these rats are now exposed to the client. Fuzzwork makes use of them: https://www.fuzzwork.co.uk/info/?typeid=52183

    Lists of ships might be available per group, at least for invasion NPC ships: https://zkillboard.com/group/4028/

    enhancement done 
    opened by DarkFenX 34
  • Proxy issues makes some feature crash

    Proxy issues makes some feature crash

    Bug Report

    I'm using pyfa on a corporation computer with proxy. When I try to open the SSO -> manage character I got the following error

    OS version: Windows-10-10.0.16299-SP0
    Python version: 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)]
    wxPython version: 4.0.0b2 (wxWidgets 3.0.4)
    SQLAlchemy version: 1.1.10
    Logbook version: 1.0.0
    Requests version: 2.18.4
    Dateutil version: 2.6.0
    
    ####################
    
    Traceback (most recent call last):
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\mainFrame.py", line 641, in ssoHandler
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\esiFittings.py", line 297, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\esiFittings.py", line 328, in popCharList
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esi.py", line 36, in getInstance
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esi.py", line 43, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esiAccess.py", line 88, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 289, in getProxySettingsInRequestsFormat
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 263, in getProxySettings
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 251, in autodetect
    ValueError: too many values to unpack (expected 2)
    
    ####################
    
    Traceback (most recent call last):
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\mainFrame.py", line 403, in showCharacterEditor
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 175, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 781, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 810, in ssoListChanged
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 814, in charChanged
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esi.py", line 36, in getInstance
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esi.py", line 43, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esiAccess.py", line 88, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 289, in getProxySettingsInRequestsFormat
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 263, in getProxySettings
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 251, in autodetect
    ValueError: too many values to unpack (expected 2)
    
    ####################
    
    Traceback (most recent call last):
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\mainFrame.py", line 459, in showPreferenceDialog
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\preferenceDialog.py", line 65, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\builtinPreferenceViews\pyfaNetworkPreferences.py", line 150, in populatePanel
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 251, in autodetect
    ValueError: too many values to unpack (expected 2)
    
    ####################
    
    Traceback (most recent call last):
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterSelection.py", line 177, in charChanged
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\mainFrame.py", line 403, in showCharacterEditor
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 175, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 781, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 810, in ssoListChanged
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 814, in charChanged
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esi.py", line 36, in getInstance
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esi.py", line 43, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esiAccess.py", line 88, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 289, in getProxySettingsInRequestsFormat
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 263, in getProxySettings
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 251, in autodetect
    ValueError: too many values to unpack (expected 2)
    
    ####################
    
    Traceback (most recent call last):
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\mainFrame.py", line 403, in showCharacterEditor
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 175, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 781, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 810, in ssoListChanged
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\characterEditor.py", line 814, in charChanged
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esi.py", line 36, in getInstance
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esi.py", line 43, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esiAccess.py", line 88, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 289, in getProxySettingsInRequestsFormat
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 263, in getProxySettings
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 251, in autodetect
    ValueError: too many values to unpack (expected 2)
    
    ####################
    
    Traceback (most recent call last):
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\mainFrame.py", line 641, in ssoHandler
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\esiFittings.py", line 297, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\gui\esiFittings.py", line 328, in popCharList
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esi.py", line 36, in getInstance
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esi.py", line 43, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\esiAccess.py", line 88, in __init__
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 289, in getProxySettingsInRequestsFormat
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 263, in getProxySettings
      File "C:\Users\holme\Documents\Sync\Git\blitzmann\Pyfa\service\settings.py", line 251, in autodetect
    ValueError: too many values to unpack (expected 2)
    

    It also happens with multiple other menu choices (windows/preference, window/character editor). It seems to be related to the system proxy detection as it crash the same if I disable local network interface and share my phone network over USB

    Expected behavior:

    Not being able to pull anything remotely is fine if proxy isn't working, I should however be able to access local feature, shouldn't I ?

    Actual behavior:

    A crash window pop when trying to use listed features

    image

    Detailed steps to reproduce:

    You may try pyfa behind a proxied windows 10, if that's not enough I can try to get as much information as I can

    Release or development git branch? Please note the release version or commit hash:

    Release 2.3.1 (Same issue on 2.4.0)

    Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):

    Windows 10 behind a corporate proxy

    bug fixed logged 
    opened by Slivo-fr 32
  • Decide on format for fit statistics that is copied to clipboard

    Decide on format for fit statistics that is copied to clipboard

    Task at hand

    Revisited pull request #1733 by @m-sasha, which allows to copy the fit stats to the clipboard. But we need to decide on format. @DarkFenX, @blitzmann and any people interested, could you take a look at it?

    Actual behaviour. Currently look like this:

    notepad++_2019-10-21_08-45-01

    Posting as a picture since GitHub somewhat breaks formatting if pasted as is. I'll post as plain text at the end of the issue

    Expected behaviour

    It seem decent to me, but perhaps too much into? Maybe have two options available? Like limit default info to dps numbers, total ehp, total active tank, speed. And have a second option "Expanded info" with all info that is in actual behavior? But won't it be to much rework since we don't know how often-used this feature will be?

    Paste of fit stats as is

    All reps (Hyperion)

    DPS: 700 (Weapon: 383, Drone: 317, Volley: 2509)

          TOTAL      EM   THERM     KIN     EXP
    

    EHP 75.5k 82.3k 75.7k 80.1k 73.7k Shield 14.8k 12% 30% 48% 56% Armor 34.3k 78% 72% 72% 61% Hull 26.4k 60% 60% 60% 60%

    REPS TOTAL SELF SUST REMOTE Shield 147 81.6 0 65 Armor 1.65k 1.59k 0 65.3 Hull 38.5 6.5 0 32 Total 1.84k 1.67k 0 162

    Speed: 144 m/s Signature: 1.21k m Capacitor: 9k GJ (Lasts 42s) Targeting range: 107 km Scan resolution: 138 mm Sensor strength: 27.6

    enhancement done 
    opened by Gochim 31
  • Linux/AppImage: Missing library opening on Fedora 37

    Linux/AppImage: Missing library opening on Fedora 37

    Bug Report

    Expected behavior:

    The AppImage opens.

    Actual behavior:

    Error message:

    yfa v2.49.0
    EVE Data Version: 2178459 (2022-12-11 00:27:31)
    
    OS version: Linux-6.0.15-300.rog.fc37.x86_64-x86_64-with-fedora-37-Thirty_Seven
    Python version: 3.7.16 (default, Dec 11 2022, 22:28:19) 
    [GCC 10.2.1 20210130 (Red Hat 10.2.1-11)]
    wxPython version: 4.0.6 (wxWidgets 3.0.5)
    SQLAlchemy version: 1.3.23
    Logbook version: 1.5.3
    Requests version: 2.28.1
    Dateutil version: 2.8.2
    
    ####################
    
    Traceback (most recent call last):
      File "/run/user/1000/.mount_pyfa-v8mhX2C/opt/pyfa/pyfa.py", line 148, in <module>
        from gui.mainFrame import MainFrame
      File "/run/user/1000/.mount_pyfa-v8mhX2C/opt/pyfa/gui/mainFrame.py", line 62, in <module>
        from gui.updateDialog import UpdateDialog
      File "/run/user/1000/.mount_pyfa-v8mhX2C/opt/pyfa/gui/updateDialog.py", line 25, in <module>
        import wx.html2
      File "/run/user/1000/.mount_pyfa-v8mhX2C/opt/python3.7/lib/python3.7/site-packages/wx/html2.py", line 15, in <module>
        from ._html2 import *
    ImportError: libwebkit2gtk-4.0.so.37: cannot open shared object file: No such file or directory
    

    Detailed steps to reproduce:

    1. Install Fedora 37
    2. Try to run the AppImage

    Fits involved in EFT format (Edit > To Clipboard > EFT):

    Release or development git branch? Please note the release version or commit hash:

    Release

    Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):

    Fedora 37

    Other relevant information:

    At first I thought the libwebkit2gtk library might be in the excludelist, but I can't see it in the code either here or in https://github.com/AppImageCommunity/pkg2appimage/blob/master/excludelist . So I guess this must be some packaging issue where it should be including the library but isn't. I am not familiar with AppImage packaging so opening issue.

    opened by updraft0 1
  • Issue upon Opening the program

    Issue upon Opening the program

    Bug Report

    I keep getting this error whenever I open the pyfa

    pyfa v2.48.0 EVE Data Version: 2154998 (2022-11-10 08:10:09)

    OS version: Windows-10-10.0.19041-SP0 Python version: 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)] wxPython version: 4.0.6 (wxWidgets 3.0.5) SQLAlchemy version: 1.3.23 Logbook version: 1.5.3 Requests version: 2.28.1 Dateutil version: 2.8.2

    ####################

    Traceback (most recent call last): File "pyfa.py", line 148, in File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "gui\mainFrame.py", line 40, in File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "graphs_init_.py", line 22, in File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "graphs\gui\frame.py", line 25, in File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "gui\display.py", line 23, in File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "gui\viewColumn.py", line 71, in File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "gui\builtinViewColumns\baseName.py", line 35, in File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "gui\builtinContextMenus_init_.py", line 20, in File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "gui\builtinContextMenus\itemStats.py", line 7, in File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "gui\itemStats.py", line 33, in File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "gui\builtinItemStatsViews\itemDescription.py", line 4, in File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "site-packages\wx\html.py", line 18, in ModuleNotFoundError: No module named 'wx._html'

    Expected behavior:

    Opening the program

    Actual behavior:

    No unusual behavior aside from getting the error

    Detailed steps to reproduce:

    Just opening the program

    Fits involved in EFT format (Edit > To Clipboard > EFT):

    No EFT involvement

    Release or development git branch? Please note the release version or commit hash:

    Latest release

    Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):

    Windows 10

    Other relevant information:

    N/A

    opened by MarcoPalayad 0
  • Bug report

    Bug report

    Bug Report

    File "service\server.py", line 29, in do_GET File "service\esi.py", line 172, in handleServerLogin File "service\esi.py", line 138, in handleLogin File "service\esiAccess.py", line 175, in auth File "service\esiAccess.py", line 203, in token_call File "site-packages\requests\sessions.py", line 635, in post File "site-packages\requests\sessions.py", line 587, in request File "site-packages\requests\sessions.py", line 701, in send File "site-packages\requests\adapters.py", line 559, in send

    Expected behavior:

    import charactor via ESI

    Actual behavior:

    After pyfa processing, then error show up

    Detailed steps to reproduce:

    Fits involved in EFT format (Edit > To Clipboard > EFT):

    Release or development git branch? Please note the release version or commit hash:

    Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):

    Other relevant information:

    opened by slszmgl 0
  • I keep getting this message when I try to close the program.

    I keep getting this message when I try to close the program.

    Bug Report

    pyfa v2.48.0 EVE Data Version: 2154998 (2022-11-09 17:10:09)

    OS version: Windows-10-10.0.22621-SP0 Python version: 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)] wxPython version: 4.0.6 (wxWidgets 3.0.5) SQLAlchemy version: 1.3.23 Logbook version: 1.5.3 Requests version: 2.28.1 Dateutil version: 2.8.2

    ####################

    Traceback (most recent call last): File "gui\mainFrame.py", line 396, in OnClose File "service\settings.py", line 86, in saveAll File "service\settings.py", line 105, in save PermissionError: [Errno 13] Permission denied: 'C:\Users\scott\.pyfa\settings\pyfaEOSSettings'

    Expected behavior:

    Application should close

    Actual behavior:

    Doesn't close. I have to kill the app with task manager.

    Detailed steps to reproduce:

    Fits involved in EFT format (Edit > To Clipboard > EFT):

    Release or development git branch? Please note the release version or commit hash:

    Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):

    Other relevant information:

    opened by selittle64 0
  • XML Import Error?

    XML Import Error?

    image

    I have uploaded your XML export (Ctrl+S) onto Eve-HR and this is what it spat out, then saying that no pilots can use the fitting in corp - there are 8 pilots that can use the fitting.

    I already reached out to Ascorbic, but just in case it's an exporting error, I thought I should also leave a note here :)

    Thanks for continuing a great product.

    opened by THETGURU 0
Releases(v2.49.0)
I automated the lumberjack game on telegram, by recognising pixels and using pyautogui module

Lumberjack Automated: @gamebot According to the official documentation, @gamebot is a demo bot for the Telegram Gaming Platform.` It provides some sam

Yew Chong 1 Dec 07, 2021
Creates a landscape with more accurate river generation in Minecraft version 1.12 using python.

MinecraftLandRiverGen View the following youtube video to set up a world that can interact with the python programs

23 Dec 25, 2022
TicTacToc - Simple TicTacToc game played by minimax algorithm

TicTacToc simple TicTacToc game played by minimax algorithm. This app is based o

5 Apr 05, 2022
A python script to solve Wordle puzzles

Wordle solver A python script to solve Wordle puzzles.

Felix Weinberger 1 Feb 12, 2022
Python fitting assistant, cross-platform fitting tool for EVE Online

pyfa What is it? Pyfa, short for python fitting assistant, allows you to create, experiment with, and save ship fittings without being in game. Open s

1.4k Dec 22, 2022
pygame is a Free and Open Source python programming language library for making multimedia applications like games built on top of the excellent SDL library. C, Python, Native, OpenGL.

pygame is a Free and Open Source python programming language library for making multimedia applications like games built on top of the excellent SDL library. C, Python, Native, OpenGL.

pygame 5.6k Jan 01, 2023
PyCraft - A Minecraft launcher made in python

A Minecraft launcher made in python. The main objective of this launcher is to enable players to enjoy minecraft (especially those without a mojang/microsoft account). This launcher is not illegal as

38 Dec 12, 2022
A Snake Game built by Python Turtle Module 🐍

Snake-Game A Snake Game built with Python Turtle Module 🐍 Icons made by Freepik from www.flaticon.com Intro Control the direction of snake by simply

Megan 1 Oct 24, 2021
linorobot2 is a ROS2 port of the linorobot package

linorobot2 is a ROS2 port of the linorobot package. If you're planning to build your own custom ROS2 robot (2WD, 4WD, Mecanum Drive) using accessible parts, then this package is for you. This reposit

linorobot 195 Dec 29, 2022
A small, Pygame-based library project intended for personal use.

EzyGame Version 0.0.1 A simple library project intended for personal use with Pygame. Warning: I am a very amateur programmer, so the code will probab

Dorbell 1 Jan 08, 2022
Python desktop application to create, distribute, discover, and run codegames

Python desktop application to create, distribute, discover, and run codegames

2 Nov 16, 2021
It calculates the Nim sum of a nim game.

nim-sum-calculator It calculates the Nim sum of a nim game. The rules of Nim The traditional game of Nim is played with a number of coins arranged in

2 Jan 02, 2022
Snake Game in Python

Snake game is one of the most popular arcade games of all time. In this game, the main objective of the player is to catch the maximum number of fruits without hitting the wall or itself.

Pavan Ananth Sharma 4 Jul 05, 2022
What games should I design next quarter?

Project1_Next-Quarter-Game-Design-Prediction What games should I design next quarter? 상황 : κ²Œμž„νšŒμ‚¬ λ°μ΄ν„°νŒ€ ν•©λ₯˜ 문제 : 'λ‹€μŒ 뢄기에 μ–΄λ–€ κ²Œμž„μ„ μ„€κ³„ν•΄μ•Όν• κΉŒ' Data Description N

Jayden Lee(JaeHo Lee) 1 Jul 04, 2022
Tic-Tac-Toe - Tic-Tac-Toe game build With Python

Tic Tac Toe This game is very popular amongst all of us and even fun to build as

PyLaboratory 0 Feb 06, 2022
A 16x16 clone of Minecraft Classic, written in Python with the Ursina Engine

VoxelCraft A 16x16 clone of Minecraft Classic, written in Python with the Ursina Engine Features:Trees, Water(But there's no gravity, so if you break

2 Jun 23, 2022
I got bored and wrote a wordle solver... Its pretty good though, just saying

Wordle Solver I got bored and wrote a wordle solver... Its pretty good though, just saying. Please go support Josh and have fun with Wordle on the off

Darrell Best 2 Jan 25, 2022
A Pygame game made in 48 hours

Flappuccino Flappuccino is a game created in 48 hours for the PyGame Community New Years Jam using Python with Pygame. Screenshots Background Informat

PolyMars 242 Jan 02, 2023
Tic Tac Toe Python Game GUI

Tic Tac Toe is one of the most played games and is the best time killer game that you can play anywhere with just a pen and paper.

Astitva Veer Garg 1 Jan 11, 2022
Python codes for the classic Hang Man game

Python codes for the classic Hang Man game. The user will be assigned a random word to guess, one character at a time. If the user gets everything right, the program says Well Done!, but if the user

p.katekomol 1 Jan 25, 2022