Fleetmon API wrapper for ship data
Project description
Fleetmonger
Python wrapper for the fleetmon.com ship-tracking API.
API Calls
Read the details of the API at Fleetmonger. * fleetmonger.myfleet * fleetmonger.vessel * fleetmonger.vesselparticulars * fleetmonger.vesselurl * fleetmonger.porturl * fleetmonger.weather * fleetmonger.containerschedule
Note that some API calls require the purchase of credits at Fleetmon. This package is unaffiliated with Fleetmon, use at your own risk.
Usage
from fleetmonger import Fleetmonger fm = Fleetmonger('username', 'your key') fleet = fm.myfleet() for ship in fleet: print ship.name, ship.destination
Vessels
my_vessel = fleet[0] # or my_vessel = fm.vessel(mmsi='239725000') # or my_vessel = fm.vessel(imo='9197545') # or my_vessel = fm.vessel(name='MINNOW') # Passing incomplete information will raise an error my_vessel = fm.vessel() # ValueError my_vessel.name # <SS MINNOW> my_vessel.navigationstatus # 'On a three hour tour' my_vessel.etatime # datetime.datetime(1964, 9, 26, 12, 0, tzinfo=<UTC>) my_vessel.coords # (3.469557, -167.255859) # Missing attributes return None my_vessel.location # None my_vessel.flag # 'United States' my_vessel.flag_so # 'US' # Some vessels have photos myvessel.photos # ["//img1.fleetmon.com/thumbnails/MINNOW_1.220x146.jpg", "//img1.fleetmon.com/thumbnails/MINNOW_2.570x1140.jpg"]
Minimum list of Vessel attributes:
coords (lat, lon), course, destination, draught, etatime, flag, heading, imo, last_port, latitude, location, longitude, mmsi, name, navigationstatus, photos, positionreceived, publicurl, speed, type
Ports
my_vessel.last_port # <fleetmonger.port.Port object> port = my_vessel.last_port port.name # 'Honolulu, HI' port.duration # datetime.timedelta(...)
Port urls and Vessel urls
Pass mmsi, imo or name to vessel methods. Pass locode or name to port methods.
fm.vesselurl(name='MINNOW') fm.porturl(locode='USLAX') # Porturl also takes an optional country isocode parameter fm.porturl(name='new', country='US') # [<Newark (New York)>, <Newburgh>, <Newburyport>, <Newport (OR)>]
Weather at Location
fm.weather(lat=3.469557, lon=-167.255859) # You can also pass a vessel object to the weather call fm.weather(vessel=my_vessel)
Parameters
In general, the parameters that Fleetmonger expects match those of the Fleetmon API, with the following exceptions:
instead of mmsinumber, use mmsi ... imonumber ... imo ... q ... name