libais

C++ decoder for Automatic Identification System for tracking ships and decoding maritime information

https://github.com/schwehr/libais

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 25 committers (4.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

C++ decoder for Automatic Identification System for tracking ships and decoding maritime information

Basic Info
  • Host: GitHub
  • Owner: schwehr
  • License: other
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 2.64 MB
Statistics
  • Stars: 246
  • Watchers: 27
  • Forks: 103
  • Open Issues: 111
  • Releases: 1
Created almost 16 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

README.rst

============
Introduction
============

.. image:: https://travis-ci.org/schwehr/libais.svg?branch=master
    :target: https://travis-ci.org/schwehr/libais

.. image:: https://scan.coverity.com/projects/5519/badge.svg
    :target: https://scan.coverity.com/projects/5519

.. image:: https://codeclimate.com/github/schwehr/libais/badges/gpa.svg
    :target: https://codeclimate.com/github/schwehr/libais

.. image:: https://badge.fury.io/py/libais.svg
    :target: http://badge.fury.io/py/libais

Library for decoding maritime Automatic Identification System messages.

See Also
========

`Automatic Identification System `_

Other open source AIS projects:

- `GPSd `_
- `AisLib `_
- `noaadata `_
- `ais-areanotice `_
- `OpenCPN `_
- `aisparser `_
- `nmea_plus `_

Building
========

Building with Python
--------------------

.. code-block:: console

    $ python setup.py build
    $ python setup.py install

Testing with Python
--------------------

.. code-block:: console

    $ virtualenv ve
    $ source ve/bin/activate
    $ python setup.py test

Building with CMake
-------------------

.. code-block:: console

    $ cmake .
    $ make

Building with legacy Makefile
-----------------------------

.. code-block:: console

    $ make -f Makefile-custom test

Usage
=====

There are two interfaces to libais, one high-level iterator based one
and a low-level fast C++ only one. The iterator based interface is
accessed the following way:

.. code-block:: python

    import ais.stream
    with open("file.nmea") as f:
        for msg in ais.stream.decode(f):
            print msg

To use the low-level C++ interface directly, you need to handle multi-line messages and padding yourself:

.. code-block:: python

    import ais
    ais.decode('15PIIv7P00D5i9HNn2Q3G?wB0t0I', 0)
    ais.decode('402u=TiuaA000r5UJ`H4`?7000S:', 0)
    ais.decode('55NBjP01mtGIL@CW;SM`_
- IMO Circ 236
- IMO Circ 289
- EU RIS

Developing
----------

The C++ code was switched to the Google style in November, 2012.
Indenting should be by 2 spaces.

http://google-styleguide.googlecode.com/svn/trunk/cpplint/

.. code-block:: console

    $ git clone https://github.com/schwehr/libais
    $ cd libais
    $ virtualenv ve
    $ source ve/bin/activate
    $ pip install -e .[tests]
    $ python setup.py test
    $ py.test --cov=ais --cov-report term-missing

or

.. code-block:: console

    $ git clone https://github.com/schwehr/libais
    $ cd libais
    $ virtualenv ve
    $ source ve/bin/activate
    $ pip install -e .[test]
    $ python setup.py develop
    $ python setup.py test
    $ py.test --cov=ais --cov-report term-missing

Owner

  • Name: Kurt Schwehr
  • Login: schwehr
  • Kind: user
  • Location: San Francisco Bay Area
  • Company: Google

GitHub Events

Total
  • Issues event: 10
  • Watch event: 17
  • Issue comment event: 12
  • Push event: 43
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Pull request event: 5
  • Fork event: 9
Last Year
  • Issues event: 10
  • Watch event: 17
  • Issue comment event: 12
  • Push event: 43
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Pull request event: 5
  • Fork event: 9

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 617
  • Total Committers: 25
  • Avg Commits per committer: 24.68
  • Development Distribution Score (DDS): 0.308
Past Year
  • Commits: 3
  • Committers: 1
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Kurt Schwehr s****r@g****m 427
schwehr s****r@a****b 70
Egil Moeller e****r@f****o 37
Kevin Wurster k****n@s****g 36
Kevin Wurster w****k@g****m 6
Lancelot SIX l****x@q****m 5
James j****s@j****m 5
Vladimir Rutsky r****r@g****m 3
charles hayden c****n@g****m 3
andyvan-trabus 6****s 3
Ian Katz i****z@p****m 3
Patrick Huesmann p****n@k****m 3
Roland Arsenault r****d@c****u 2
svante s****n@c****e 2
pyrog p****g@l****t 2
lsix l****b@l****m 1
cpetrich c****h 1
Luke Closs l****e@r****t 1
Andy Van Pelt a****v@t****m 1
Egil Möller e****r@p****e 1
Kurt Schwehr s****r@s****l 1
Kurt Schwehr s****r@s****h 1
Luke Closs l****e@5****m 1
Kristian Thy k@p****k 1
Antonio Davoli a****i@g****m 1

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 61
  • Total pull requests: 46
  • Average time to close issues: 5 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 36
  • Total pull request authors: 19
  • Average comments per issue: 1.54
  • Average comments per pull request: 0.93
  • Merged pull requests: 31
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 13 minutes
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.25
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • andyvan-trabus (14)
  • schwehr (14)
  • OgreTransporter (2)
  • cchayden (2)
  • anitagraser (2)
  • j0nson (1)
  • yanivbm88 (1)
  • mb12 (1)
  • loicpw (1)
  • saintscaletto (1)
  • LamaElnaggar (1)
  • eyeris (1)
  • ttttjjjj2008 (1)
  • kgmonteith (1)
  • simeonmiteff (1)
Pull Request Authors
  • schwehr (11)
  • lsix (7)
  • jamtho (6)
  • andyvan-trabus (5)
  • redhog (3)
  • rutsky (2)
  • a-detiste (2)
  • bdrung (2)
  • gthor45 (1)
  • simeonmiteff (1)
  • freol35241 (1)
  • skarlsson (1)
  • cjwatson (1)
  • pierregarreau (1)
  • patrislav1 (1)
Top Labels
Issue Labels
c++ (1) build (1) py (1) NMEA (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 2,503 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 16
  • Total versions: 11
  • Total maintainers: 1
pypi.org: libais

Automatic Identification System decoding - ship tracking

  • Versions: 11
  • Dependent Packages: 1
  • Dependent Repositories: 16
  • Downloads: 2,503 Last month
Rankings
Dependent repos count: 3.6%
Dependent packages count: 4.7%
Forks count: 4.8%
Stargazers count: 4.9%
Average: 5.1%
Downloads: 7.5%
Maintainers (1)
Last synced: 10 months ago

Dependencies

setup.py pypi
  • six *
.github/workflows/ci.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite