Skip to content

Commit 332a9eb

Browse files
thompsonmjegrace479Copilot
authored
Change set required for functionality with Cornell Birds CSV (#40)
* Handle issues with image name column data string types and extensions to match URL image data * Extension mismatch strategy to log mismatches * Add exponential back-off retry condition * Fix examples to have consistent extensions; update README examples * Increment version info to v1.0.1 --------- Co-authored-by: Elizabeth Campolongo <38985481+egrace479@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 5487a1a commit 332a9eb

File tree

9 files changed

+432
-89
lines changed

9 files changed

+432
-89
lines changed

.zenodo.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@
3535
"license": {
3636
"id": "MIT"
3737
},
38-
"publication_date": "2025-04-03",
38+
"publication_date": "2025-09-25",
3939
"title": "Cautious Robot",
40-
"version": "1.0.0",
40+
"version": "1.1.0",
4141
"grants": [
4242
{
4343
"id": "021nxhr62::2118240"

CITATION.cff

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ authors:
1313
given-names: "Hilmar"
1414
orcid: "https://orcid.org/0000-0001-9107-0714"
1515
cff-version: 1.2.0
16-
date-released: "2025-04-03"
16+
date-released: "2025-09-25"
1717
identifiers:
18-
- description: "The GitHub release URL of tag v1.0.0."
18+
- description: "The GitHub release URL of tag v1.1.0."
1919
type: url
20-
value: "https://github.com/Imageomics/cautious-robot/releases/tag/v1.0.0"
21-
- description: "The GitHub URL of the commit tagged with v1.0.0."
20+
value: "https://github.com/Imageomics/cautious-robot/releases/tag/v1.1.0"
21+
- description: "The GitHub URL of the commit tagged with v1.1.0."
2222
type: url
23-
value: "https://github.com/Imageomics/cautious-robot/tree/e7d6718ce33fb4c1d71fd4e4bc1b7b809d5133b0"
23+
value: "https://github.com/Imageomics/cautious-robot/tree/<commit-hash>" # update on release
2424
keywords:
2525
- imageomics
2626
- metadata
@@ -37,6 +37,6 @@ license: MIT
3737
message: "If you use this software, please cite it using the metadata from this file."
3838
repository-code: "https://github.com/Imageomics/cautious-robot"
3939
title: "Cautious Robot"
40-
version: "1.0.0"
40+
version: "1.1.0"
4141
doi: "10.5281/zenodo.15133580"
4242
type: software

README.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,14 @@ head -n 9 examples/HCGSD_testNA_checksums.csv
8686
> Output:
8787
> ```console
8888
> filepath,filename,md5
89-
> examples/test_images/10429021_V_lowres.jpg,10429021_V_lowres.jpg,c6aeb9d2f6db412ff5be0eb0b5435b83
90-
> examples/test_images/10428595_D_lowres.jpg,10428595_D_lowres.jpg,55882a0f3fdf8a68579c07254395653b
91-
> examples/test_images/10428972_V_lowres.jpg,10428972_V_lowres.jpg,0047e7454ce444f67fee1c90cc3ba9cb
92-
> examples/test_images/10428803_D_lowres.jpg,10428803_D_lowres.jpg,d8bfb73f2d3556390de04aa98822b815
93-
> examples/test_images/10428169_V_lowres.jpg,10428169_V_lowres.jpg,042c9dc294d589ce3f140f14ddab0166
94-
> examples/test_images/10428321_D_lowres.jpg,10428321_D_lowres.jpg,fbeeed30274e424831b06360b587ceb3
95-
> examples/test_images/10428140_V_lowres.jpg,10428140_V_lowres.jpg,c11538f2de5a5e2d6013fc800848d43a
96-
> examples/test_images/10428250_V_lowres.jpg,10428250_V_lowres.jpg,14ac99b1a9913a9d420f21b94d6136d6
89+
> examples/test_images/10429021_V_lowres.png,10429021_V_lowres.png,c6aeb9d2f6db412ff5be0eb0b5435b83
90+
> examples/test_images/10428595_D_lowres.png,10428595_D_lowres.png,55882a0f3fdf8a68579c07254395653b
91+
> examples/test_images/10428321_D_lowres.png,10428321_D_lowres.png,fbeeed30274e424831b06360b587ceb3
92+
> examples/test_images/10428250_V_lowres.png,10428250_V_lowres.png,14ac99b1a9913a9d420f21b94d6136d6
93+
> examples/test_images/10428140_V_lowres.png,10428140_V_lowres.png,c11538f2de5a5e2d6013fc800848d43a
94+
> examples/test_images/10428803_D_lowres.png,10428803_D_lowres.png,d8bfb73f2d3556390de04aa98822b815
95+
> examples/test_images/10428169_V_lowres.png,10428169_V_lowres.png,042c9dc294d589ce3f140f14ddab0166
96+
> examples/test_images/10428972_V_lowres.png,10428972_V_lowres.png,0047e7454ce444f67fee1c90cc3ba9cb
9797
> ```
9898
9999
- **Download Images to Subfolders Based on Column Value:**
@@ -110,7 +110,7 @@ cautious-robot -i examples/HCGSD_testNA.csv -o examples/test_images_subdirs --su
110110
> 8 images were downloaded to examples/test_images_subdirs of the 8 expected.
111111
> ```
112112
```
113-
ls examples/test_images
113+
ls examples/test_images_subdirs
114114
```
115115
> Output:
116116
> ```console
@@ -123,14 +123,14 @@ head -n 9 examples/HCGSD_testNA_checksums.csv
123123
> Output:
124124
> ```console
125125
> filepath,filename,md5
126-
> examples/test_images_subdirs/erato/10429021_V_lowres.jpg,10429021_V_lowres.jpg,c6aeb9d2f6db412ff5be0eb0b5435b83
127-
> examples/test_images_subdirs/erato/10428595_D_lowres.jpg,10428595_D_lowres.jpg,55882a0f3fdf8a68579c07254395653b
128-
> examples/test_images_subdirs/erato/10428972_V_lowres.jpg,10428972_V_lowres.jpg,0047e7454ce444f67fee1c90cc3ba9cb
129-
> examples/test_images_subdirs/erato/10428803_D_lowres.jpg,10428803_D_lowres.jpg,d8bfb73f2d3556390de04aa98822b815
130-
> examples/test_images_subdirs/melpomene/10428169_V_lowres.jpg,10428169_V_lowres.jpg,042c9dc294d589ce3f140f14ddab0166
131-
> examples/test_images_subdirs/melpomene/10428321_D_lowres.jpg,10428321_D_lowres.jpg,fbeeed30274e424831b06360b587ceb3
132-
> examples/test_images_subdirs/melpomene/10428140_V_lowres.jpg,10428140_V_lowres.jpg,c11538f2de5a5e2d6013fc800848d43a
133-
> examples/test_images_subdirs/melpomene/10428250_V_lowres.jpg,10428250_V_lowres.jpg,14ac99b1a9913a9d420f21b94d6136d6
126+
> examples/test_images_subdirs/melpomene/10428321_D_lowres.png,10428321_D_lowres.png,fbeeed30274e424831b06360b587ceb3
127+
> examples/test_images_subdirs/melpomene/10428250_V_lowres.png,10428250_V_lowres.png,14ac99b1a9913a9d420f21b94d6136d6
128+
> examples/test_images_subdirs/melpomene/10428140_V_lowres.png,10428140_V_lowres.png,c11538f2de5a5e2d6013fc800848d43a
129+
> examples/test_images_subdirs/melpomene/10428169_V_lowres.png,10428169_V_lowres.png,042c9dc294d589ce3f140f14ddab0166
130+
> examples/test_images_subdirs/erato/10429021_V_lowres.png,10429021_V_lowres.png,c6aeb9d2f6db412ff5be0eb0b5435b83
131+
> examples/test_images_subdirs/erato/10428595_D_lowres.png,10428595_D_lowres.png,55882a0f3fdf8a68579c07254395653b
132+
> examples/test_images_subdirs/erato/10428803_D_lowres.png,10428803_D_lowres.png,d8bfb73f2d3556390de04aa98822b815
133+
> examples/test_images_subdirs/erato/10428972_V_lowres.png,10428972_V_lowres.png,0047e7454ce444f67fee1c90cc3ba9cb
134134
> ```
135135
136136
- **Image Checksum Mismatch:** one value is intentionally altered in the source CSV
@@ -154,7 +154,7 @@ head -n 2 examples/HCGSD_test_MD5_mismatch_missing.csv
154154
> Output:
155155
> ```console
156156
> nhm_specimen,species,subspecies,sex,file_url,filename,md5
157-
> 10428972,erato,petiverana,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428972_V_lowres.png,10428972_V_lowres.jpg,mismatch
157+
> 10428972,erato,petiverana,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428972_V_lowres.png,10428972_V_lowres.png,mismatch
158158
> ```
159159
160160
## Development

examples/HCGSD_testNA.csv

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
NHM_Specimen,Species,Subspecies,Sex,file_url,filename
2-
10429021,erato,notabilis,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10429021_V_lowres.png,10429021_V_lowres.jpg
3-
10428972,erato,petiverana,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428972_V_lowres.png,10428972_V_lowres.jpg
2+
10429021,erato,notabilis,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10429021_V_lowres.png,10429021_V_lowres.png
3+
10428972,erato,petiverana,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428972_V_lowres.png,10428972_V_lowres.png
44
10429172,erato,petiverana,male,,
5-
10428595,erato,phyllis,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428595_D_lowres.png,10428595_D_lowres.jpg
6-
10428140,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428140_V_lowres.png,10428140_V_lowres.jpg
7-
10428250,melpomene,schunkei,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428250_V_lowres.png,10428250_V_lowres.jpg
5+
10428595,erato,phyllis,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428595_D_lowres.png,10428595_D_lowres.png
6+
10428140,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428140_V_lowres.png,10428140_V_lowres.png
7+
10428250,melpomene,schunkei,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428250_V_lowres.png,10428250_V_lowres.png
88
10427979,melpomene,rosina_S,male,,
9-
10428803,erato,guarica,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428803_D_lowres.png,10428803_D_lowres.jpg
10-
10428169,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428169_V_lowres.png,10428169_V_lowres.jpg
11-
10428321,melpomene,nanna,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428321_D_lowres.png,10428321_D_lowres.jpg
9+
10428803,erato,guarica,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428803_D_lowres.png,10428803_D_lowres.png
10+
10428169,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428169_V_lowres.png,10428169_V_lowres.png
11+
10428321,melpomene,nanna,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428321_D_lowres.png,10428321_D_lowres.png

examples/HCGSD_testNA_wMD5.csv

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
NHM_Specimen,Species,Subspecies,Sex,file_url,filename,md5
2-
10429021,erato,notabilis,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10429021_V_lowres.png,10429021_V_lowres.jpg,c6aeb9d2f6db412ff5be0eb0b5435b83
3-
10428972,erato,petiverana,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428972_V_lowres.png,10428972_V_lowres.jpg,0047e7454ce444f67fee1c90cc3ba9cb
2+
10429021,erato,notabilis,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10429021_V_lowres.png,10429021_V_lowres.png,c6aeb9d2f6db412ff5be0eb0b5435b83
3+
10428972,erato,petiverana,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428972_V_lowres.png,10428972_V_lowres.png,0047e7454ce444f67fee1c90cc3ba9cb
44
10429172,erato,petiverana,male,,,
5-
10428595,erato,phyllis,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428595_D_lowres.png,10428595_D_lowres.jpg,55882a0f3fdf8a68579c07254395653b
6-
10428140,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428140_V_lowres.png,10428140_V_lowres.jpg,c11538f2de5a5e2d6013fc800848d43a
7-
10428250,melpomene,schunkei,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428250_V_lowres.png,10428250_V_lowres.jpg,14ac99b1a9913a9d420f21b94d6136d6
5+
10428595,erato,phyllis,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428595_D_lowres.png,10428595_D_lowres.png,55882a0f3fdf8a68579c07254395653b
6+
10428140,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428140_V_lowres.png,10428140_V_lowres.png,c11538f2de5a5e2d6013fc800848d43a
7+
10428250,melpomene,schunkei,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428250_V_lowres.png,10428250_V_lowres.png,14ac99b1a9913a9d420f21b94d6136d6
88
10427979,melpomene,rosina_S,male,,,
9-
10428803,erato,guarica,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428803_D_lowres.png,10428803_D_lowres.jpg,d8bfb73f2d3556390de04aa98822b815
10-
10428169,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428169_V_lowres.png,10428169_V_lowres.jpg,042c9dc294d589ce3f140f14ddab0166
11-
10428321,melpomene,nanna,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428321_D_lowres.png,10428321_D_lowres.jpg,fbeeed30274e424831b06360b587ceb3
9+
10428803,erato,guarica,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428803_D_lowres.png,10428803_D_lowres.png,d8bfb73f2d3556390de04aa98822b815
10+
10428169,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428169_V_lowres.png,10428169_V_lowres.png,042c9dc294d589ce3f140f14ddab0166
11+
10428321,melpomene,nanna,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428321_D_lowres.png,10428321_D_lowres.png,fbeeed30274e424831b06360b587ceb3
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
NHM_Specimen,Species,Subspecies,Sex,file_url,filename,md5
2-
10429021,erato,notabilis,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10429021_V_lowres.png,10429021_V_lowres.jpg,c6aeb9d2f6db412ff5be0eb0b5435b83
3-
10428972,erato,petiverana,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428972_V_lowres.png,10428972_V_lowres.jpg,mismatch
2+
10429021,erato,notabilis,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10429021_V_lowres.png,10429021_V_lowres.png,c6aeb9d2f6db412ff5be0eb0b5435b83
3+
10428972,erato,petiverana,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428972_V_lowres.png,10428972_V_lowres.png,mismatch
44
10429172,erato,petiverana,male,,,
5-
10428595,erato,phyllis,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428595_D_lowres.png,10428595_D_lowres.jpg,55882a0f3fdf8a68579c07254395653b
6-
10428140,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428140_V_lowres.png,10428140_V_lowres.jpg,c11538f2de5a5e2d6013fc800848d43a
7-
10428250,melpomene,schunkei,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428250_V_lowres.png,10428250_V_lowres.jpg,14ac99b1a9913a9d420f21b94d6136d6
5+
10428595,erato,phyllis,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428595_D_lowres.png,10428595_D_lowres.png,55882a0f3fdf8a68579c07254395653b
6+
10428140,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428140_V_lowres.png,10428140_V_lowres.png,c11538f2de5a5e2d6013fc800848d43a
7+
10428250,melpomene,schunkei,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428250_V_lowres.png,10428250_V_lowres.png,14ac99b1a9913a9d420f21b94d6136d6
88
10427979,melpomene,rosina_S,male,,,
9-
10428803,erato,guarica,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428803_D_lowres.png,10428803_D_lowres.jpg,d8bfb73f2d3556390de04aa98822b815
10-
10428169,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428169_V_lowres.png,10428169_V_lowres.jpg,042c9dc294d589ce3f140f14ddab0166
11-
10428321,melpomene,nanna,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428321_D_lowres.png,10428321_D_lowres.jpg,fbeeed30274e424831b06360b587ceb3
9+
10428803,erato,guarica,female,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428803_D_lowres.png,10428803_D_lowres.png,d8bfb73f2d3556390de04aa98822b815
10+
10428169,melpomene,plesseni,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/ventral_images/10428169_V_lowres.png,10428169_V_lowres.png,042c9dc294d589ce3f140f14ddab0166
11+
10428321,melpomene,nanna,male,https://github.com/Imageomics/dashboard-prototype/raw/main/test_data/images/dorsal_images/10428321_D_lowres.png,10428321_D_lowres.png,fbeeed30274e424831b06360b587ceb3

src/cautiousrobot/__about__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "1.0.0"
1+
__version__ = "1.1.0"

0 commit comments

Comments
 (0)