Repository navigation
Vessel indicators and a page cache - #22
Merged
Merged
Conversation
rhinonix
force-pushed
the
feat/intelligence-and-cache
branch
from
September 16, 2026 15:17
c176e10 to
2d48cb8
Compare
rhinonix
added this pull request to stack #24
September 16, 2026 18:15
rhinonix
force-pushed
the
feat/intelligence-and-cache
branch
from
September 16, 2026 18:15
0e47856 to
cc63e0d
Compare
Indicators summarise signals researchers look for, each taken directly from Equasis data and reported without an arbitrary composite score: - name, flag, and owner or manager changes in the last 12 and 36 months - inspections, detentions, and deficiencies in the last 36 months - flag on a Paris or Tokyo MoU grey or black list, USCG targeting - IACS classification and recent class withdrawals or suspensions - P&I insurance on record - whether the MMSI's Maritime Identification Digits match the flag state Indicators appear as a plain-language section in table output and as an indicators object in JSON and JSON Lines; CSV gains summary columns. Country and MID reference data ship with the package; the MID table is attributed in NOTICE.
Repeated lookups no longer send the same requests to Equasis: regular content pages are stored on disk for 24 hours and reused, which keeps load on Equasis low, makes repeat lookups near-instant, and lets an interrupted batch be re-run without fetching completed items again. - Login, error, and not-found pages are never cached - The cache directory is private to the user because pages contain the account name; its location follows XDG_CACHE_HOME or LOCALAPPDATA and can be set with EQUASIS_CACHE_DIR - --no-cache and --refresh control caching on the command line, and /refresh does the same in the interactive shell - equasis cache [info|clear] and the shell's cache command manage it - Results record when their pages were retrieved; table output shows it and JSON uses it for retrieved_at - Later fleet pages are only served after page 1 in the same Equasis session, so page 1 is reloaded when it came from the cache but the following pages did not Fixes #2
File systems can record a modification time a few microseconds after the in-memory timestamp, which made the comparison fail on Windows.
rhinonix
force-pushed
the
feat/intelligence-and-cache
branch
from
September 16, 2026 18:25
cc63e0d to
cd9db5b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fourth of five pull requests toward v3.0.0. Builds on #21.
Two improvements that make the tool more useful for research, drawing on work from the MARA vessel enrichment pipeline.
Fixes #2
Vessel indicators
A vessel profile now includes a factual summary of signals researchers commonly check. Each indicator comes straight from Equasis data; there is deliberately no composite risk score, because any weighting would be arbitrary.
Table output shows these as plain-language observations, JSON and JSON Lines include an
indicatorsobject, and CSV gains summary columns. Country (ISO 3166) and MID reference data ship with the package; the MID table is attributed inNOTICE(Apache-2.0 source).Example (EVER GIVEN):
Flag is targeted by the US Coast Guard. Example (KAVITA):Flag is on the grey or black list of the Paris MoU and Tokyo MoU,Not classed by an IACS member society,Class withdrawn in the last 36 months (Registro Italiano Navale (IACS)).Page cache (#2)
XDG_CACHE_HOME,LOCALAPPDATA, orEQUASIS_CACHE_DIR)--no-cache,--refresh,equasis cache [info|clear];/refreshandcachein the interactive shellretrieved_atin JSON)Verification
ruff,ruff format --check, and strictmypypassvessel 98110004.3 s, repeat 0.2 s;cache infoshows 3 pages in an owner-only directory;fleet 0152944 --max-pages 2 -o msc.csvwrote 200 vessels