Skip to content
This repository has been archived by the owner on Jul 8, 2021. It is now read-only.
/ evego Public archive

Golang library for doing stuff with Internet spaceships

License

Notifications You must be signed in to change notification settings

backerman/evego

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

evego

Build Status GoDoc

evego is a library for your Internet spreadsheets spreadsheets; sometimes, a spreadsheet isn't actually sufficient. It does not currently slice, dice, or make Julienne fries. For that matter, it doesn't even interface with the user; it's just a back-end library.

Current status

forthebadge

This library should be considered a prototype. The exported API is absolutely subject to change for the near future, and suggestions for changes are encouraged if something could be implemented better. (On a related note, if you use evego in your own code, please let me know.)

This library is archived as I haven't touched it in years.

Dependencies

External routing functionality is required for the market features (in particular, determining which buy orders are available to sell to at a given station). Because I'm not going to reimplment Dijkstra's algorithm, we use one of three options:

To spatialize the SQLite data export, use spatialize-sqlite.sh; to spatialize the PostgreSQL data export, see the readme file in db/pgsql.

N.B. While PostgreSQL works, I haven't set it up for the Travis builds yet. Just so you know.

To-do list

  • Industry
  • Reprocessing calculations
  • Mining planner
  • Production scheduling
  • What is this item used for?
  • Planetary interaction
  • Required PI infrastructure for a given blueprint
  • Market
  • Inventory management
  • Suggest which blueprints to build based on market activity

Development

We like test cases. Unit tests are written using GoConvey, and there should be as close to 100% coverage as possible. While unit tests should ideally be included with pull requests, don't let that stop you from submitting one if you're not sure how to test it. Higher-level tests would also be a good idea.

This repository includes the subset of the EVE Static Data Export necessary to run the test cases. If you add test cases that use data not in this subset:

  • Add the missing items (and tables, if necessary) to make-test-db.sh;
  • Rerun that script against Fuzzysteve's SQLite conversion of the full SDE;
  • Run the spatialize.sh script to generate the routing table for jump path calculations; and
  • Add the new version of testdb.sqlite to your changeset.

By default, the test suite uses the provided SQLite excerpt; to test against PostgreSQL, set the EVEGO_TEST_DBDRIVER and EVEGO_TEST_DBPATH environment variables as appropriate.

License

Portions of the EVE static data export are included in this repository (testdb.sqlite); the following notice applies to that file:

© 2014 CCP hf. All rights reserved. "EVE", "EVE Online", "CCP", and all related logos and images are trademarks or registered trademarks of CCP hf.

The remainder of this repository is © 2014 Brad Ackerman and licensed under the Apache License 2.0, the full text of which is in the LICENSE file.

About

Golang library for doing stuff with Internet spaceships

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published