Skip to content
Lars Kristian Dahl edited this page Feb 15, 2016 · 9 revisions

EveLib.NET is a open source library for accessing the Eve Online API, CREST, and many other popular Eve Online APIs.

Downloads

All-In-One

Individual modules

Other links

Features

  • Fully asynchronous using TAP.
  • XML configuration through app.config.
  • Threadsafe.
  • Access to all popular APIs through one library.
  • Provides caching for CCP API requests.
  • Modular and open source; you can easily change the caching, serialization or any other part of the library.
  • A comprehensive set of unit tests, including static XML tests for calls requiring authentication.

Modules and Classes

  • Eve Online XML API EveXml [cache support]
  • Eve CREST EveCrest [cache support]
  • Eve Central API EveCentral
  • Eve Marketdata API EveMarketData
  • Element43 API Element43
  • ZKillboard API ZKillBoard [cache support]
  • EveWho EveWho
  • EveAuth EveAuth (Eve SSO)
  • Eve Static Data (Element43) EveStaticData [partial, discontinued]

General information

The project is split into one DLL for each API, as well as one core library. All libraries require the core library, but can otherwise be mixed and matched as you like.

Code Contracts

The library implements Code Contracts, but this feature is completely optional and is disabled by default. Code Contracts enables static and run time checks to ensure you are using the EveLib API correctly. If you want to utilize this, you should install http://visualstudiogallery.msdn.microsoft.com/1ec7db13-3363-46c9-851f-1ce455f66970 and read the documentation. The Code Contract reference assemblies are available in the NuGet package. See http://research.microsoft.com/en-us/projects/contracts/ for more information.

Debugging and Tracing

The library uses TraceSource from the System.Diagnostics namespace. The TraceSource is named "EveLib". To add the Default listener to EveLibs TraceSource, add this to your application configuration (usually app.config):

<configuration>
  <system.diagnostics>
    <sources>
      <source name="EveLib" switchValue="All"/>
    </sources>
  </system.diagnostics>
</configuration>

This adds the Default listener, which usually outputs to the VS output window. For more information on using TraceSource, visit http://msdn.microsoft.com/en-us/library/ms228993(v=vs.110).aspx

EveCentral API

https://eve-central.com/home/develop.html The EveCentral class provides access to the EveCentral API.

This module provides access to all calls on the EveCentral api. All api calls can be made through any EveCentral object. Most parameters for requests can be set and passed in a EveCentralOptions object.

var options = new EveCentralOptions() { HourLimit = 4, MinQuantity = 5 };
options.Items.Add(34);
options.Regions.Add(10000002);
var eveCentral = new EveCentral();
MarketStatResponse response = eveCentral.GetMarketStat(options);

Please read the EveCentral API documentation for more details.

Element43 API

https://element-43.com/apidocs/

The Element43 class provides access to the Element43 API. Similar to EveCentral API, uses Element43Options for options. Please read the Element43 API documentation for details.

EveMarketData API

http://eve-marketdata.com/developers/

The EveMarketData class provides access to the EveMarketData API. Similar to EveCentral API, uses EveMarketDataOptions for options. Please read the EveMarketData API documentation for details.

Zkillbord

https://github.com/zKillboard/zKillboard/wiki

The ZKillboard class provides access to the ZKillboard API. Please read the ZKillboard API documentation for details.

EveWho

http://evewho.com/faq/

The EveWho class provides access to the EveWho API. Please read EveWho API documentation for details.