Giter VIP home page Giter VIP logo

ais-ws-feedhandler's Introduction

AIS WS feedhandler

  GitHub release (latest by date) python version | 3.10+ Code style: black

Overview

This tool allows the user to gather, store, process and track usage of AIS data collection.

It can also be used to simulate a real-time data source to better handle streaming.

Data provided by the AISStream.io API. To use it, please sign up using your GitHub account here.

AISStream is used to:

Track ship movements, monitor maritime accidents and discover ship's cargo...

The API offers access to various kind of messages for the AIS1 protocol:

  • Ship Property and Voyage Data
  • SAR Aircraft Position
  • Accident And Danger Reports
  • Binary Ship To Ship Messages
  • ...

Features

Example

Project's architecture

.
├── AIS/
│   ├── Config.py
│   ├── Scraper.py
│   ├── Usage.py
│   ├── __init__.py
│   ├── constants.py
│   └── utils.py
├── Makefile
├── README.md
├── assets/
│   ├── _empty.config.toml
│   └── img
├── config.toml
├── examples/
│   └── script.py
├── out/
│   ├── cookies
│   ├── plots
│   └── usages
├── requirements.txt
└── setup.py

To reproduce the file tree, run: tree -L 2 -I '*.csv|*.log'

Getting started

git clone https://github.com/lcsrodriguez/AIS-ws-feedhandler.git
cd AIS-ws-feedhandler/

python3 -m venv .venv
source .venv/bin/activate

pip3 install -r requirements.txt
pip3 freeze

python3 setup.py sdist bdist_wheel # Build the package from source

Run the example script:

python3 examples/script.py

config.toml file structure

[local]
api.secret_key = "<AISSTREAM API KEY HERE>"
gh.username="<GH_USERNAME HERE>"
gh.password="<GH_PASSWORS HERE>"

[dev]
api.secret_key = ""

[uat]
api.secret_key = ""

[prod]
api.secret_key = ""

License

MIT

Footnotes

  1. AIS is a broadcast system that transmits the unique identification, position, course, and speed, on a vessel

ais-ws-feedhandler's People

Contributors

lcsrodriguez avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

ais-ws-feedhandler's Issues

Future features to be implemented

  • Add a Makefile/sh file to create an empty config.toml
  • Add statistics to graph (avg, avg w/o null, median)
  • Add handler for Re-Authorization
  • Add output saving for cookies with timestamp (check if the tool has to be executed again depending on last datetime of exec)
  • Add output saving for figures
  • Add link to website on log + images
  • Add threshold config file for customization
  • Add crontab with alerting if certain threshold
  • Create a class to centralize data
  • crontab for auto scraping
  • Add CodeQL (code analysis)
  • Logging instead of print() statements
  • Singleton for config
  • Finish Scraper class

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.