Eve Online Python

This page should be updated due to game changes. Reason: PYFA version updates/UI changes and possible game damage profile updates.

PYFA (Python Fitting Assistant) is a cross-platform fitting application that can be used natively on any platform where python and wxwidgets are available, including Windows, Mac and Linux.

EVE Online is a free MMORPG sci-fi strategy game where you can embark on your own unique space adventure. EVE's open world MMORPG sandbox, renowned among online space games, lets you choose your own path and engage in combat, exploration, industry and much more. Python 3 library for accessing EVE Online's ESI API. Python eve-online esi Updated Apr 26, 2018; Python; stephenswat / eve-abyssal-market Star 14 Code Issues.

It provides many advanced features such as graphs and full calculations of any possible combination of modules, fits, etc.

To download PYFA go to this page

  • 1Initial Setup
  • 2Fitting
  • 3Importing/Exporting Fits

Initial Setup

Linking Your Characters

To connect your EVE character to PYFA you will need to use CCP's ESI SSO.

To do this:

  1. Open the SSO Character Management screen (Character -> Manage ESI Characters).
  2. Create a new character by clicking Add Character.
  3. A page will open in your default browser - sign in using your EVE Online account credentials.
  4. Select the correct character from the list.
  5. Click Authorise.


Eve Online Python Editor

You should change your settings to match the images below. General settings are mostly personal preference, however the network settings are required for PYFA to query EVE-Central for prices.

To change settings go to Global -> Preferences or press Ctrl-P.

Damage Profiles

Copy the following into the damage pattern editor by selecting all the damage patterns, and copy them into your clipboard. Then inside of PYFA under the editors tab select the damage pattern editor. You will be prompted to name your new profile, hit OK. At the bottom right hand side there will be 2 buttons. Select the one that says import from clipboard. From now on you will be able to select the type of incoming damage and you can change your fit accordingly. (The Law damage profile is CONCORD Response.)

DamageProfile = [Asteroid] Angel Cartel,23,7,26,44


DamageProfile = [Asteroid] Blood Raiders,55,45,0,0

DamageProfile = [Asteroid] Guristas,0,17,83,0

DamageProfile = [Asteroid] Rogue Drone,10,18,28,44

DamageProfile = [Asteroid] Sansha's Nation,58,42,0,0


DamageProfile = [Asteroid] Serpentis,0,53,47,0

DamageProfile = [Deadspace] Angel Cartel,6,9,26,59

DamageProfile = [Deadspace] Blood Raiders,53,47,0,0

DamageProfile = [Deadspace] Guristas,0,19,81,0

DamageProfile = [Deadspace] Rogue Drone,8,34,32,26

DamageProfile = [Deadspace] Sansha's Nation,57,43,0,0

DamageProfile = [Deadspace] Serpentis,0,62,38,0

DamageProfile = [Hybrid] Antimatter,0,20,28,0

DamageProfile = [Hybrid] Javelin,0,32,24,0

DamageProfile = [Hybrid] Null,0,24,20,0

DamageProfile = [Hybrid] Spike,0,1,1,0

DamageProfile = [Hybrid] Void,0,1,1,0


DamageProfile = [Laser] Aurora,20,12,0,0

Eve online wiki

DamageProfile = [Laser] Conflagration,1,1,0,0

DamageProfile = [Laser] Gleam,1,1,0,0

DamageProfile = [Laser] Multifreq,28,20,0,0

DamageProfile = [Laser] Radio,1,0,0,0

DamageProfile = [Laser] Scorch,36,8,0,0

DamageProfile = [Missile] EM,1,0,0,0

DamageProfile = [Missile] Explosive,0,0,0,1

DamageProfile = [Missile] Kinetic,0,0,1,0

DamageProfile = [Missile] Thermal,0,1,0,0

DamageProfile = [Mission] Amarr Empire,56,43,1,0

DamageProfile = [Mission] CONCORD,26,12,20,42

DamageProfile = [Mission] Caldari State,0,31,69,0

DamageProfile = [Mission] Gallente Federation,0,58,42,0

DamageProfile = [Mission] Khanid,56,40,4,0

DamageProfile = [Mission] Minmatar Republic,14,5,23,58

DamageProfile = [Mission] Mordu,2,32,66,0

DamageProfile = [Mission] Thukker,0,37,7,56

DamageProfile = [Other] Incursion Sansha's Nation,16,13,36,35

DamageProfile = [Other] Sleepers,29,29,21,21

DamageProfile = [Other] The Law,36,29,24,11

DamageProfile = [Projectile] Barrage,0,0,20,24

DamageProfile = [Projectile] EMP,36,0,4,8

DamageProfile = [Projectile] Fusion,0,0,8,40

DamageProfile = [Projectile] Hail,0,0,13,48

DamageProfile = [Projectile] Quake,0,0,20,36

DamageProfile = [Projectile] Tremor,0,0,12,20

DamageProfile = [Projectile] Phased Plasma,0,40,8,0

Eve online python editor


User Interface

The highlighted areas on the UI image:

  1. Ship/Market browser Browser - Used for creating fits and adding modules
  2. Fitting Window - Used to view fit and add charges to weapons and modules
  3. Additions - Used for adding and selecting drones/implants as well as assigning fleet boosts
  4. Character Selection - Drop down box for selecting imported characters, all lvl V and all lvl 0
  5. Stats - Resist profile and EHP, DPS and volley, targetting and speed info, ship and module cost

To browse, edit, and add fittings use the Ship tab in the left pane (1.):

  • Root list
  • Back one level
  • Toggle show fit ships only
  • Editing current fit (Make Copy/Rename/Delete)

To create a new fit browse to a ship class and click the

Adding Modules

To add a module to your fit open the market tab in the left window (1.), browse to the module you want to add and double click it. Providing there is a free slot available, the module will be added to the fit. You can switch between T1/T2 - Faction - Deadspace - Officer modules using the buttons at the bottom of the pane.

Adding Charges

To add a charge right click a module, hover over charge and click the desired charge. (You can add charges to multiple modules by Shift-clicking modules)

Adding Drones

To add drones browse to the drones section of the market tab and double click, only drones that are ticked will be added to the DPS stats. The drone bandwidth and capacity is shown in the top left of the stats pane (5.) You can manipulate the drone stack by right clicking.

Adding Fleet Boosts

You can set a Squad/Wing/Fleet booster in PYFA, each role can have a different character and ship assigned to it. To set boosts you first need to create a boost ship, this could either be an empty ship (to apply character skills only) or a boosting ship (to apply module boosts). Once you have created a boost ship right click the fit and tick booster fit. Ships assigned as boosters are marked with . You can also drag fits in to the boost window and use the right click menu to set a Squad/Wing/Fleet booster.

When you have a boost ship set you then open up the Fleet tab under the Additions (3.) pane. you can select boost ships from the drop down box and any character can be used.

Using Graphs

Graphs can be used to view DPS - Range charts. You can add multiple ships to the same graph to compare damage projection. The targets Signature, Velocity, Angle and Distance can be added for the desired effects. To add ships to the graph open the graph window (Window -> Graphs or press Ctrl-G) and drag fits into the graph.

Importing/Exporting Fits

Importing fits

PYFA can import fittings directly from clipboard, to import a fit either go Edit -> From Clipboard or Ctrl-V. To import a fit from EVE to PYFA simply click 'Copy to Clipboard' in game. Once you have a fit copied to clipboard you can paste it into PYFA.

Exporting fits

To export a fit either go Edit -> To clipboard or press Ctrl-C, and select your preferred format. The EFT format is the most widely used and can be imported into EVE by opening the fitting window in game, clicking browse and clicking 'Import from Clipboard'. The EFT format is commonly used on forums and to import fits for a variety of 3rd party programs.

Retrieved from 'https://wiki.eveuniversity.org/index.php?title=PYFA&oldid=154709'

Version 1.1.5.

Eve is an open source Python REST API framework designed forhuman beings. It allows to effortlessly build and deploy highly customizable,fully featured RESTful Web Services.

Eve is powered by Flask and Cerberus and it offers native support forMongoDB data stores. Support for SQL, Elasticsearch and Neo4js backends isprovided by community extensions.

The codebase is thoroughly tested under Python 2.7, 3.5+, and PyPy.


The use of Python 3 is highly preferred over Python 2. Consider upgrading your applications and infrastructure if you find yourself still using Python 2 in production today.

Eve is SimpleĀ¶

The API is now live, ready to be consumed:

All you need to bring your API online is a database, a configuration file(defaults to settings.py) or dictionary, and a launch script. Overall, youwill find that configuring and fine-tuning your API is a very simple process.

Eve Online Python Tutorial

Funding EveĀ¶

Eve REST framework is a collaboratively funded project. If yourun a business and are using Eve in a revenue-generating product, it would makebusiness sense to sponsor Eve development: it ensures the project that yourproduct relies on stays healthy and actively maintained. Individual users arealso welcome to make either a recurring pledge or a one time donation if Evehas helped you in your work or personal projects. Every single sign-up makesa significant impact towards making Eve possible.

You can support Eve development by pledging on GitHub, Patreon, or PayPal.

  • Donate via PayPal (one time)


This documentation is under constant development. Please refer to the linkson the sidebar for more information.