Releases: mcb77/movebank-mirror
v0.0.2
movebank-mirror 0.0.2.
A CLI + Java library that pulls Movebank studies to a local
file/folder structure and keeps them in sync. Per-study JSON
metadata, per-(tag, sensor type) CSVs.
What changed since 0.0.1
Two fixes to the event-data downloader, both already on master since
May 6 but never released:
-
event_idis now requested explicitly on every event-data
download (540f9bc
followed byb73d353).
Withoutevent_id, you can't reconcile retroactive updates against
earlier chunks — the same row can appear in both an "initial
catch-up" CSV and an "update" CSV with no way to dedupe. -
The other join columns (
tag_id,individual_id,
deployment_id) are NOT downloaded — those are reconstructable
on read fromsensor_id+ the deployment-window metadata. Saves
bandwidth and disk on large studies; the initial draft over-eagerly
pulled them, the corrective commit walked it back.
Net effect: large multi-million-row studies download ~25% less data
and the mirror is forward-compatible with the deletion-detection /
update-reconciliation work tracked in TODO.md §2 and §4.
Install
Library (Maven Central)
<dependency>
<groupId>de.firetail.compat.movebank</groupId>
<artifactId>movebank-mirror</artifactId>
<version>0.0.2</version>
</dependency>Or Gradle:
implementation 'de.firetail.compat.movebank:movebank-mirror:0.0.2'CLI (download from this release)
Requires JDK 21.
tar -xf movebank-mirror-0.0.2.tar
./movebank-mirror-0.0.2/bin/movebank-mirror sync -d /var/lib/movebank-mirror(.zip available too if you prefer.)
Pairs with the rest of the family
movebank-api-client— Java client for the live Movebank REST APImovebank-mirror-api— replay server that serves a mirror through Movebank's REST APImovebank-rocker— pinned R environment that pairs withmovebank-mirror-apifor offline R workflows
Known gaps
Tracked transparently in TODO.md. Headlines for users
choosing whether to mirror today vs. waiting:
- Metadata refresh on demand — currently each study's metadata is
fetched once and never re-fetched. Upstream curation changes
(added/edited deployments, new sensor types) silently miss. - Retroactive event-row edits —
event_idis downloaded as of
this release; the per-tag reconciliation pass that uses it to
dedupe updates is planned for a future version. - Event-row deletion detection — Movebank deletes silently
(no tombstone signal). Detection + on-deletion policy is the
hardest gap; design tracked inTODO.md§4.
License
LGPL-2.1.