Categorygithub.com/backerman/evego
modulepackage
0.0.0-20210708050129-efc180cf66dc
Repository: https://github.com/backerman/evego.git
Documentation: pkg.go.dev

# README

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.

# Packages

No description provided by the author
No description provided by the author

# Functions

SortSkills sorts the provided skill array by group and name.

# Constants

AllOrders is either buy or sell (used for searches only).
BlueprintCopy is a blueprint copy.
BlueprintOriginal is an orignal blueprint.
Buy order.
BuyNumberJumps is a specified number of jumps from the order's system.
BuyRegion is anywhere within the order's region.
BuyStation is only the order's station.
BuySystem is any station in the order's system.
The ActivityType values.
The ActivityType values.
ItemType is the type of an Eve item.
InvBoardingGate : Boarding gate.
InvBonus : Bonus.
InvBooster : Booster.
InvBriefcase : Briefcase.
InvCapsule : Capsule.
InvCaptainsQuarters : Captains Quarters.
InvCargo : Cargo.
InvConnected : Character in station connected.
InvCorpMarket : Corporation Market Deliveries / Returns.
InvCorpSAG2 : Corp Security Access Group 2.
InvCorpSAG3 : Corp Security Access Group 3.
InvCorpSAG4 : Corp Security Access Group 4.
InvCorpSAG5 : Corp Security Access Group 5.
InvCorpSAG6 : Corp Security Access Group 6.
InvCorpSAG7 : Corp Security Access Group 7.
InvCrew : Crew.
InvDisconnected : Character in station offline.
InvDroneBay : Drone Bay.
InvDustCharacterBattle : Dust Character Battle.
InvDustCharacterDatabank : Dust Character Databank.
The ActivityType values.
InvFactory : Factory.
InvFactoryOperation : Factory Background Operation.
InvFixedSlot : Fixed Slot.
InvFleetHangar : Fleet Hangar.
InvHangar : Hangar.
InvHiddenModifiers : Hidden Modifiers.
InvHiSlot0 : High power slot 1.
InvHiSlot1 : High power slot 2.
InvHiSlot2 : High power slot 3.
InvHiSlot3 : High power slot 4.
InvHiSlot4 : High power slot 5.
InvHiSlot5 : High power slot 6.
InvHiSlot6 : High power slot 7.
InvHiSlot7 : High power slot 8.
InvImplant : Implant.
InvJunkyardReprocessed : This item was put into a junkyard through reprocession.
InvJunkyardTrashed : This item was put into a junkyard through being trashed by its owner.
InvLocked : Locked item, can not be moved unless unlocked.
InvLoSlot0 : Low power slot 1.
InvLoSlot1 : Low power slot 2.
InvLoSlot2 : Low power slot 3.
InvLoSlot3 : Low power slot 4.
InvLoSlot4 : Low power slot 5.
InvLoSlot5 : Low power slot 6.
InvLoSlot6 : Low power slot 7.
InvLoSlot7 : Low power slot 8.
InvMedSlot0 : Medium power slot 1.
InvMedSlot1 : Medium power slot 2.
InvMedSlot2 : Medium power slot 3.
InvMedSlot3 : Medium power slot 4.
InvMedSlot4 : Medium power slot 5.
InvMedSlot5 : Medium power slot 6.
InvMedSlot6 : Medium power slot 7.
InvMedSlot7 : Medium power slot 8.
InvNone : None.
InvOfficeSlot1 : Office slot 1.
InvOfficeSlot10 : Office slot 10.
InvOfficeSlot11 : Office slot 11.
InvOfficeSlot12 : Office slot 12.
InvOfficeSlot13 : Office slot 13.
InvOfficeSlot14 : Office slot 14.
InvOfficeSlot15 : Office slot 15.
InvOfficeSlot16 : Office slot 16.
InvOfficeSlot2 : Office slot 2.
InvOfficeSlot3 : Office slot 3.
InvOfficeSlot4 : Office slot 4.
InvOfficeSlot5 : Office slot 5.
InvOfficeSlot6 : Office slot 6.
InvOfficeSlot7 : Office slot 7.
InvOfficeSlot8 : Office slot 8.
InvOfficeSlot9 : Office slot 9.
InvPassenger : Passenger.
InvPilot : Pilot.
InvPlanetSurface : Planet Surface.
InvPromenadeSlot1 : Promenade Slot 1.
InvPromenadeSlot10 : Promenade Slot 10.
InvPromenadeSlot11 : Promenade Slot 11.
InvPromenadeSlot12 : Promenade Slot 12.
InvPromenadeSlot13 : Promenade Slot 13.
InvPromenadeSlot14 : Promenade Slot 14.
InvPromenadeSlot15 : Promenade Slot 15.
InvPromenadeSlot16 : Promenade Slot 16.
InvPromenadeSlot2 : Promenade Slot 2.
InvPromenadeSlot3 : Promenade Slot 3.
InvPromenadeSlot4 : Promenade Slot 4.
InvPromenadeSlot5 : Promenade Slot 5.
InvPromenadeSlot6 : Promenade Slot 6.
InvPromenadeSlot7 : Promenade Slot 7.
InvPromenadeSlot8 : Promenade Slot 8.
InvPromenadeSlot9 : Promenade Slot 9.
InvQuafeBay : Quafe Bay.
InvReward : Reward.
InvRigSlot0 : Rig power slot 1.
InvRigSlot1 : Rig power slot 2.
InvRigSlot2 : Rig power slot 3.
InvRigSlot3 : Rig power slot 4.
InvRigSlot4 : Rig power slot 5.
InvRigSlot5 : Rig power slot 6.
InvRigSlot6 : Rig power slot 7.
InvRigSlot7 : Rig power slot 8.
InvSecondaryStorage : Secondary Storage.
InvShipHangar : Ship Hangar.
InvShipOffline : Ship Offline.
InvSkill : Skill.
InvSkillInTraining : Skill in training.
InvSpecializedAmmoHold : Specialized Ammo Hold.
InvSpecializedCommandCenterHold : Specialized Command Center Hold.
InvSpecializedFuelBay : Specialized Fuel Bay.
InvSpecializedGasHold : Specialized Gas Hold.
InvSpecializedIndustrialShipHold : Specialized Industrial Ship Hold.
InvSpecializedLargeShipHold : Specialized Large Ship Hold.
InvSpecializedMaterialBay : Specialized Material Bay.
InvSpecializedMediumShipHold : Specialized Medium Ship Hold.
InvSpecializedMineralHold : Specialized Mineral Hold.
InvSpecializedOreHold : Specialized Ore Hold.
InvSpecializedPlanetaryCommoditiesHold : Specialized Planetary Commodities Hold.
InvSpecializedSalvageHold : Specialized Salvage Hold.
InvSpecializedShipHold : Specialized Ship Hold.
InvSpecializedSmallShipHold : Specialized Small Ship Hold.
InvStructureActive : StructureActive.
InvStructureInactive : StructureInactive.
InvSubSystem0 : Sub system slot 0.
InvSubSystem1 : Sub system slot 1.
InvSubSystem2 : Sub system slot 2.
InvSubSystem3 : Sub system slot 3.
InvSubSystem4 : Sub system slot 4.
InvSubSystem5 : Sub system slot 5.
InvSubSystem6 : Sub system slot 6.
InvSubSystem7 : Sub system slot 7.
InvUnlocked : Unlocked item, can be moved.
InvWallet : Wallet.
InvWardrobe : Wardrobe.
InvWisPromenade : Wis Promenade.
The ActivityType values.
The ActivityType values.
NotBlueprint is not a blueprint.
StandingType is the type of entity with which a Standing applies.
StandingType is the type of entity with which a Standing applies.
StandingType is the type of entity with which a Standing applies.
ItemType is the type of an Eve item.
ItemType is the type of an Eve item.
StandingType is the type of entity with which a Standing applies.
StandingType is the type of entity with which a Standing applies.
StandingType is the type of entity with which a Standing applies.
The ActivityType values.
The ActivityType values.
The ActivityType values.
The ActivityType values.
Sell order.
StandingType is the type of entity with which a Standing applies.
ItemType is the type of an Eve item.

# Structs

BlueprintItem is a blueprint returned from a blueprint endpoint.
Character represents one EVE player toon.
CharacterSheet contains the character sheet information for a toon as provied by the /char/CharacterSheet.xml.aspx endpoint.
IndustryActivity is an action (e.g.
InventoryItem is exactly what it sounds like.
InventoryLine is an item in a material's composition, the player's inventory, or whatever.
Item is an Eve item.
MarketGroup is a group of items in the EVE market.
Order represents an order on the EVE market.
Region is one of the regions in the EVE universe.
Skill is one of a character's injected skills.
SolarSystem is a solar system within the EVE universe.
Standing is a standing level from a specified entity.
Station is either an NPC station or a conquerable outpost.
XMLKey is a key ID / verification code pair used to retrieve data from the EVE XML API.

# Interfaces

Cache is the interface expected by evego packages for a local cache.
Database is an object that returns information about items in EVE.
Market returns information about market orders.
Router is the interface for the backing service that provides a router.
XMLAPI is an interface to the EVE XML API.

# Type aliases

ActivityType is an industrial activity performed on or resulting in a blueprint.
BlueprintType is a blueprint's original/copy status.
InventoryFlag describes the location of an item in the asset list.
ItemType is the type of an Eve item, and is used chiefly for correctly determining the item's reprocessing rate.
OrderRange is the area from which capsuleers can sell to a buy order.
OrderType is the order's type (either buy or sell); or All for searching for either.
StandingType is the type of entity with which a Standing applies.