fleetmonger

Fleetmon API wrapper for ship data


License
MIT
Install
pip install fleetmonger==0.0.4

Documentation

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