M0r13n / pyais

AIS message decoding and encoding in Python (AIVDM/AIVDO)
MIT License
176 stars 61 forks source link

Tracker callback #104

Closed M0r13n closed 1 year ago

M0r13n commented 1 year ago

@Inrixia I added some helpful classes and methods for tracking vessels over time. This was needed, because I was working with continuous streams of AIS data and wanted to keep track of the vessels changes over time.

One drawback of my implementation is, that I decided to use a feature that is exclusive to Python3.8+. So I decided to drop support for Python3.7. Do you think, that this is a reason of concern?

Inrixia commented 1 year ago

No, but since the functionality is not within scope of the base library and tbh most people may roll their own I would not merge it into the main repo but provide it as a seperate package.

That way this doesn't lose some compatibility and also the scope of this repo remains somewhat strict.

You can easily mention the other class libraries in this repos Readme

M0r13n commented 1 year ago

Interesting suggestion, @Inrixia. But I am indecisive whether or not this is the better option. Your suggestion is definitely supported by the fact that the scope of the main project remains well-defined and the ongoing support for Python3.7. But I still think that the overall coherence is still very high regarding the newly introduced feature(s). That is why I hesitate to create a new library as this would introduce quite a bit of overhead. Also, because the tracking logic is tightly coupled with the core logic, I fear potential incompatibilities and regressions. This may require some additional effort to ensure that changes in the core lib do not break downstream dependencies.

M0r13n commented 1 year ago

I found a way to keep up the support for Pyhton3.7

Inrixia commented 1 year ago

Ah, well if it doesn't hinder the main functionality then I see no reason to not include it here :)