Dave Drouin

[Step by Step Killboard Installation Instructions]

If you'd like to tinker with the code, then check out the minimal developer install instructions here where you can get going quickly using Flask's built-in werkzeug web server instead with awesome debugging capabilities.
[Developer Install]

The pykb library provides backend support for Python based killboards. A separate open source project for a killboard website based on the pykb library will be started soon using Flask, Mako, jQuery and uwsgi complete with an example site served by Nginx.

The library will also be installable via easy_install once completed. It currently contains a PostgreSQL implementation of the database along with the required data from a recent CCP static data export (SDE). This has recently been ported to MySQL - aggregation portion still being tested.

Included in the source are a series of stand-alone modules that can be used to fetch and store killmail related data both in textual and XML formats as well as from the EVE API via API keys. Data can also be extracted from EDK based sites via their idfeed interface.

Here are some short tutorials on using the various library modules which in turn make use of the controllers and models that make up the rest of library. These both serve as utilities that you can run in isolation on the command line or include in your own code as well as examples of how the library can be leveraged to do various killmail related tasks.

All of the scripts in the main directory support the standard -h --help flags to list out basic help on supported options.

  1. hg clone http://hg.code.sf.net/p/pykb/code -r 1.14 pykb-code

    libyaml-dev (recommended)

    libpq-dev python-dev (required for psycopg2)

    libxml2-dev libxslt-dev (required for lxml)

    cd pykb-code

    sudo python setup.py install


    • Python 2.7.3 (older ones may work - untested though) 3.x will not work.
    • easy_install or better yet pip should work well for the rest, try with the latest versions. I've included the versions I used during development in case there's a problem with a later release.
    • lxml 2.3.2
    • pyparsing 1.5.2
    • SQLAlchemy 0.7.6
    • PyYAML 3.10
    • simplejson 2.5.2
    • python-dateutil 2.1
    • psycopg2 2.4.5 (if using PostgreSQL - included in setup.py)
    • MySQLdb 1.2.3 (if using MySQL - not included in setup.py)
      Shenanigans are required to get MySQLdb to install in a virtualenv so it is not included automatically; if you
      need it see this blog: http://www.saltycrane.com/blog/2010/02/install-mysqldb-virtualenv-ubuntu-karmic/
  2. An object oriented interface to the EVE API with optional persistent caching: [EVEFetch] The data is returned as lxml element trees which can be searched efficiently via xpath expressions.

  3. Setting up the database - required for subsequent tasks below:
    [PostgreSQL Database Setup]
    [MySQL Database Setup]

  4. To backfill data from an EDK site: [Back Filling]

  5. Aggregating kill data into daily, monthly and yearly summaries: [Aggregation]

  6. Extracting kill mails as XML matching the schema used by CCP: [Dumping Killmail XML]

  7. Extracting kill mails in text format as they appear in game: [Dumping Killmail Text]

  8. Import kill mails in XML format from a file or a URL (EVEAPI or EDK): [Loading Killmails]

  9. Import a text based kill mail (German and Russian ones supported): [Reading Killmails]

  10. Update item prices, including a base set of all of the meta ones, as well as those from EVE Central: [Updating Prices]


Wiki: Aggregation
Wiki: Back Filling
Wiki: Developer Install
Wiki: Dumping Killmail Text
Wiki: Dumping Killmail XML
Wiki: EVEFetch
Wiki: Loading Killmails
Wiki: MySQL Database Setup
Wiki: PostgreSQL Database Setup
Wiki: Reading Killmails
Wiki: Step by Step Killboard Installation Instructions
Wiki: Updating Prices

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks