pyronear / pyronear/pyro-annotator

chore: remove orphaned data-transfer scripts left behind by retired Make targets

Open
#203 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
0
Forks
1
Avg merge
1d 2h
Merged PRs (30d)
2

Description

Context

#190 (PR #202) slimmed annotation_api/Makefile down to essential commands but deliberately kept the underlying scripts runnable via uv run python -m scripts.data_transfer.... A dependency audit of scripts/data_transfer/ingestion/alert_api/ shows several of those scripts now have no remaining callers — no Makefile target, no imports from other code, no doc references. Git history preserves everything, so deletion is cheap to undo.

Audit (as of PR #202)

Script Lines What it is Recommendation
import_yolo_sequence.py 614 One-off importer from the sdis-77 migration; only caller is batch_import_local_yolo.py Delete
batch_import_local_yolo.py 305 Batch wrapper around the above (sdis-77 defaults baked in) Delete
export_annotations.py 194 Export sequences+annotations to a JSON backup — half of the retired file-based push-annotations sync Delete
import_annotations.py 471 Restore annotations from that JSON backup — other half of the retired sync Delete
update_annotation_stage.py 151 Admin escape hatch for moving annotation stages (update-stage-* targets removed in #190) Delete once in-app detection review covers stage transitions — or keep deliberately as an admin tool
cleanup_sequences.py 129 Ad-hoc admin utility: delete partial/duplicate sequences before re-imports Decide: still used ad-hoc?
cleanup_duplicate_images.py 256 Ad-hoc admin utility: delete READY_TO_ANNOTATE sequences with frozen/duplicate frames Decide: still used ad-hoc?

~2,100 lines total if all seven go.

Out of scope

Library modules in the same package (client.py, shared.py, object_split.py, object_clustering.py, annotation_management.py, sequence_fetching.py, progress_management.py, worker_config.py, utils.py) are all still imported by import.py, export_dataset.py, or the test suite — they stay.

Notes

  • Do this after #202 merges so the Makefile and scripts don't churn in the same diff.
  • When deleting, sweep docs for stale mentions (currently none outside historical docs/specs/ records).
  • Follows the repo's retirement pattern: FiftyOne pipelines (#179) removed targets first, code second.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start after PR #202 merges by reviewing the seven scripts under scripts/data_transfer/ingestion/alert_api/ and searching the repository for callers, imports, Make targets, and documentation references. Delete only the confirmed orphaned scripts, decide whether the three admin utilities remain needed, and verify that retained modules and historical docs are unaffected.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.