pyronear / pyronear/pyro-annotator
Rebuild annotation-to-annotation sync as a standalone script
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 2
Description
The platform import's clone mode (--source-annotation-url / --clone-processing-stage / --clone-count-only) was removed during the import consolidation (#167) so the importer has a single platform-only path.
Rebuild it as a standalone sync.py + make sync-annotation target: fetch sequences+detections from a source annotation API, post to a target (always via URL — clone records have no platform bucket key), create placeholder annotations (no auto-generation), and mark source sequences under_annotation. Proposed flags: --source-annotation-url, --annotation-api-url, --processing-stage, --count-only, --max-sequences, --dry-run, --max-workers, --loglevel.
Reference implementation: the clone code deleted in the consolidation commit (git log --diff-filter=D / fetch_records_from_annotation_api and friends in import.py's history, removed by "refactor(scripts): remove annotation-clone mode from the platform import"). Until this lands, annotation-to-annotation syncing is unavailable (accepted in the design spec, docs/specs/2026-07-27-consolidate-platform-import-design.md).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading docs/specs/2026-07-27-consolidate-platform-import-design.md and inspect the deleted clone implementation in import.py history, including fetch_records_from_annotation_api. Add sync.py and the make sync-annotation target with the listed flags, API fetch/post behavior, placeholder annotations, source-sequence status updates, count-only, dry-run, limits, and worker controls.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100