{"id":12060,"name":"OpenRefine-ecology","description":"Data Cleaning with OpenRefine for Ecologists.","url":"https://github.com/datacarpentry/OpenRefine-ecology-lesson","last_synced_at":"2026-10-15T03:00:40.190Z","repository":{"id":29859851,"uuid":"33404830","full_name":"datacarpentry/OpenRefine-ecology-lesson","owner":"datacarpentry","description":"Data Cleaning with OpenRefine for Ecologists","archived":false,"fork":false,"pushed_at":"2026-10-06T00:52:19.000Z","size":23111,"stargazers_count":32,"open_issues_count":8,"forks_count":110,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-10-06T23:14:53.955Z","etag":null,"topics":["carpentries","data-carpentry","data-cleaning","data-management","ecology","english","lesson","open-educational-resources","openrefine","stable"],"latest_commit_sha":null,"homepage":"https://datacarpentry.org/OpenRefine-ecology-lesson/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datacarpentry.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json","notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":["carpentries"],"custom":["https://www.zeffy.com/en-US/donation-form/donate-to-make-a-difference-7497"]}},"created_at":"2015-04-04T12:32:31.000Z","updated_at":"2026-10-06T00:49:03.000Z","dependencies_parsed_at":"2026-10-06T23:00:35.784Z","dependency_job_id":"ec8d5378-dd95-41b8-a03b-dfa5999dc56f","html_url":"https://github.com/datacarpentry/OpenRefine-ecology-lesson","commit_stats":{"total_commits":400,"total_committers":66,"mean_commits":"6.0606060606060606","dds":0.6975,"last_synced_commit":"dc60fee9e26b5ef52307203c6d0ee90ece840ef2"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/datacarpentry/OpenRefine-ecology-lesson","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacarpentry%2FOpenRefine-ecology-lesson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacarpentry%2FOpenRefine-ecology-lesson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacarpentry%2FOpenRefine-ecology-lesson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacarpentry%2FOpenRefine-ecology-lesson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datacarpentry","download_url":"https://codeload.github.com/datacarpentry/OpenRefine-ecology-lesson/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacarpentry%2FOpenRefine-ecology-lesson/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":343170754,"owners_count":38106768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-07T02:00:06.311Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"datacarpentry","name":"Data Carpentry","uuid":"6666450","kind":"organization","description":"Workshops teaching scientists basic skills for retrieving, viewing, managing, and manipulating data in an open and reproducible way.","email":"team@carpentries.org","website":"https://datacarpentry.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6666450?v=4","repositories_count":115,"last_synced_at":"2026-10-09T02:36:25.401Z","metadata":{"has_sponsors_listing":false,"funding":{"github":["carpentries"],"custom":["https://www.zeffy.com/en-US/donation-form/donate-to-make-a-difference-7497"]}},"html_url":"https://github.com/datacarpentry","funding_links":["https://github.com/sponsors/carpentries","https://www.zeffy.com/en-US/donation-form/donate-to-make-a-difference-7497"],"total_stars":2327,"followers":298,"following":0,"created_at":"2022-11-03T05:35:33.263Z","updated_at":"2026-10-09T02:36:25.420Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datacarpentry","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datacarpentry/repositories"},"packages":[],"commits":{"id":1327571,"full_name":"datacarpentry/OpenRefine-ecology-lesson","default_branch":"main","total_commits":415,"total_committers":67,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":6.1940298507462686,"dds":0.708433734939759,"past_year_total_commits":3,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.5,"past_year_dds":0.33333333333333337,"last_synced_at":"2026-10-13T02:02:25.472Z","last_synced_commit":"f8bb34bad7fa66be9b213837c1f8d944856a0360","created_at":"2023-09-11T16:24:07.872Z","updated_at":"2026-10-13T02:02:25.395Z","committers":[{"name":"Luis J. Villanueva","email":"villanueval@si.edu","login":"villanueval","count":121},{"name":"Erin Becker","email":"erinstellabecker@gmail.com","login":"ErinBecker","count":104},{"name":"Debbie Paul","email":"dpaul@fsu.edu","login":"debpaul","count":23},{"name":"Tracy Teal","email":"tracyt@idyll.org","login":"tracykteal","count":20},{"name":"François Michonneau","email":"francois.michonneau@gmail.com","login":"fmichonneau","count":16},{"name":"zkamvar","email":"zkamvar","login":"zkamvar","count":11},{"name":"maneesha","email":"829690+maneesha","login":"maneesha","count":10},{"name":"Dorothea Salo","email":"272370+dsalo","login":"dsalo","count":7},{"name":"Paul R. Pival","email":"ppival@gmail.com","login":"ppival","count":6},{"name":"Brian Yandell","email":"brianyandell@brians-mbp.attlocal.net","login":null,"count":6},{"name":"Kari L. Jordan","email":"kariljordan@me.com","login":null,"count":5},{"name":"Dan Mazur","email":"QEDan","login":"QEDan","count":4},{"name":"Jeanine Finn","email":"jefinn@utexas.edu","login":"jellenf","count":4},{"name":"JoshuaDull","email":"joshualdull@gmail.com","login":"JoshuaDull","count":4},{"name":"Nicola Soranzo","email":"nicola.soranzo@gmail.com","login":"nsoranzo","count":3},{"name":"marijane white","email":"marijane","login":"marijane","count":3},{"name":"Kari L. Jordan","email":"kariljordan@carpentries.org","login":"kariljordan","count":3},{"name":"David LeBauer","email":"dlebauer@gmail.com","login":"dlebauer","count":3},{"name":"Anelda van der Walt","email":"anelda","login":"anelda","count":3},{"name":"kdmclean","email":"38050400+kdmclean","login":"kdmclean","count":2},{"name":"carmi cronje","email":"ccronje","login":"ccronje","count":2},{"name":"Trevor Keller","email":"trevor.keller@nist.gov","login":"tkphd","count":2},{"name":"Toby Hodges","email":"tbyhdgs@gmail.com","login":"tobyhodges","count":2},{"name":"The Carpentries Apprentice (beta)","email":"64428345+carpentries-bot","login":"carpentries-bot","count":2},{"name":"Ross Dickson","email":"ross.dickson@dal.ca","login":"rmdickson","count":2},{"name":"Jeffrey W. Hollister","email":"jeff.w.hollister@gmail.com","login":"jhollist","count":2},{"name":"C. Titus Brown","email":"titus@idyll.org","login":"ctb","count":2},{"name":"Ben Companjen","email":"ben@companjen.name","login":"bencomp","count":2},{"name":"Aleksandra Nenadic","email":"a.nenadic@manchester.ac.uk","login":"anenadic","count":2},{"name":"Phillip Doehle","email":"doehle@okstate.edu","login":null,"count":2},{"name":"Chris Erdmann","email":"chris@carpentries.org","login":null,"count":1},{"name":"David Durden","email":"durden@umd.edu","login":null,"count":1},{"name":"Alex Robillard","email":"52674718+RobillardA","login":"RobillardA","count":1},{"name":"Raniere Silva","email":"raniere@rgaiacs.com","login":"rgaiacs","count":1},{"name":"Robert Davey","email":"robertdavey@carpentries.org","login":"froggleston","count":1},{"name":"Sarah Stevens","email":"sarah.stevens@wisc.edu","login":"sstevens2","count":1},{"name":"Steven Pryor","email":"31045615+troub1","login":"troub1","count":1},{"name":"Tom Klein","email":"twointofive@gmail.com","login":"kleintom","count":1},{"name":"Zack Brym","email":"z.t.brym@gmail.com","login":"brymz","count":1},{"name":"aprovoNYU","email":"alexandra.provo@nyu.edu","login":"aprovoNYU","count":1},{"name":"biblioFile","email":"reicheingrid@gmail.com","login":"IngridReiche","count":1},{"name":"chatvite","email":"chatvite","login":"chatvite","count":1},{"name":"dlstrong","email":"dlstrong@illinois.edu","login":"dlstrong","count":1},{"name":"evanwill","email":"evanpeterw@gmail.com","login":"evanwill","count":1},{"name":"jenniferleeucalgary","email":"33099657+jenniferleeucalgary","login":"jenniferleeucalgary","count":1},{"name":"jwscutt","email":"42784924+jwscutt","login":"jwscutt","count":1},{"name":"petrajanouchova","email":"petra.janouchova@gmail.com","login":"petrifiedvoices","count":1},{"name":"remerjohnson","email":"ryan.emerson.johnson@gmail.com","login":"remerjohnson","count":1},{"name":"trelogan","email":"j.trelogan@austin.utexas.edu","login":"trelogan","count":1},{"name":"wrightaprilm","email":"wright.aprilm@gmail.com","login":"wrightaprilm","count":1},{"name":"Andrew Battista","email":"andrewbattista@gmail.com","login":"andrewbattista","count":1},{"name":"Ariel Deardorff","email":"arieldeardorff","login":"arieldeardorff","count":1},{"name":"Betty Rozum","email":"betty.rozum@gmail.com","login":"b-rozum","count":1},{"name":"Hannah E. Houts","email":"hehouts@ucdavis.edu","login":"hehouts","count":1},{"name":"Hugo Tavares","email":"tavareshugo","login":"tavareshugo","count":1},{"name":"James Mickley","email":"mickley@gmail.com","login":"mickley","count":1},{"name":"Jen Hammock","email":"jen.hammock@gmail.com","login":"jhammock","count":1},{"name":"JenDaub","email":"42603409+JenDaub","login":"JenDaub","count":1},{"name":"Jonah Duckles","email":"jonah@duckles.org","login":"jduckles","count":1},{"name":"Jonathan Stoneman","email":"Stonepeople","login":"Stonepeople","count":1},{"name":"Kelly Barnes","email":"64787509+klbarnes20","login":"klbarnes20","count":1},{"name":"Kelly L. Rowland","email":"kellylynnerowland@gmail.com","login":"kellyrowland","count":1},{"name":"Michele Hayslett","email":"37347550+mhayslett","login":"mhayslett","count":1},{"name":"OOBabalola","email":"olubukola_babalola@yahoo.com","login":"OOBabalola","count":1},{"name":"Peace Ossom Williamson","email":"peace@uta.edu","login":"pow123","count":1},{"name":"Phil Reed","email":"phil.reed@manchester.ac.uk","login":"PhilReedData","count":1},{"name":"Phillip Doehle","email":"pdoehle","login":"pdoehle","count":1}],"past_year_committers":[{"name":"The Carpentries Apprentice (beta)","email":"64428345+carpentries-bot","login":"carpentries-bot","count":2},{"name":"zkamvar","email":"3639446+zkamvar","login":"zkamvar","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacarpentry%2FOpenRefine-ecology-lesson/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-15T00:00:20.579Z","repositories_count":8266418,"commits_count":1260869540,"contributors_count":57570467,"owners_count":1739768,"committers_count":3794069,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"datacarpentry/OpenRefine-ecology-lesson","html_url":"https://github.com/datacarpentry/OpenRefine-ecology-lesson","last_synced_at":"2026-10-14T02:30:51.155Z","status":null,"issues_count":77,"pull_requests_count":70,"avg_time_to_close_issue":98444135.16923077,"avg_time_to_close_pull_request":16243147.016666668,"issues_closed_count":65,"pull_requests_closed_count":60,"pull_request_authors_count":28,"issue_authors_count":44,"avg_comments_per_issue":1.974025974025974,"avg_comments_per_pull_request":0.9428571428571428,"merged_pull_requests_count":52,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":6933.0,"past_year_avg_time_to_close_pull_request":1491997.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":1.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2023-09-11T16:24:39.842Z","updated_at":"2026-10-14T02:30:51.156Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacarpentry%2FOpenRefine-ecology-lesson","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacarpentry%2FOpenRefine-ecology-lesson/issues","issue_labels_count":{"type:enhancement":22,"type:clarification":16,"good first issue":6,"type:template and tools":3,"help wanted":3,"status:in progress":2,"openrefine-3.5.0":1,"type:instructor guide":1,"openrefine-3.4.1":1,"type:discussion":1,"status:refer to cac":1,"type:formatting":1},"pull_request_labels_count":{"type: template and tools":12,"status:in progress":2,"type:enhancement":2,"type:clarification":1,"type: workflows":1,"type: docker version":1,"status:waiting for response":1},"issue_author_associations_count":{"NONE":33,"CONTRIBUTOR":33,"COLLABORATOR":8,"MEMBER":3},"pull_request_author_associations_count":{"CONTRIBUTOR":45,"NONE":23,"MEMBER":2},"issue_authors":{"ErinBecker":11,"tracykteal":8,"maneesha":8,"villanueval":5,"cmacdonell":2,"estregger":2,"anenadic":2,"tobyhodges":2,"cengel":2,"jifar":1,"murraycadzow":1,"mikewallis":1,"annajiat":1,"IngridReiche":1,"RobertBrowder":1,"tpoisot":1,"tadamus":1,"pdoehle":1,"Repositorian":1,"partiecolored":1,"dipietroc":1,"debpaul":1,"kta65":1,"valkcano26":1,"mkweskin":1,"yshorish":1,"raisaionin":1,"nmwolf":1,"bscheffler":1,"MikeTrizna":1,"mksalmon":1,"hollyel":1,"karenword":1,"rgaiacs":1,"deniceadkins":1,"colinquirk":1,"sc3tulok":1,"zkamvar":1,"chillenzer":1,"ywharton":1,"doortop":1,"fmichonneau":1,"nickynicolson":1,"seduke":1},"pull_request_authors":{"carpentries-bot":14,"villanueval":11,"jas58":7,"maneesha":6,"marijane":4,"kleintom":2,"tobyhodges":2,"sstevens2":2,"tajuakins":2,"ppival":2,"jellenf":1,"jwscutt":1,"ErinBecker":1,"zkamvar":1,"dlebauer":1,"anenadic":1,"hehouts":1,"froggleston":1,"kdmclean":1,"lyndamk":1,"aprovoNYU":1,"troub1":1,"pow123":1,"IngridReiche":1,"nsoranzo":1,"dsalo":1,"bencomp":1,"Stonepeople":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-15T00:00:07.288Z","repositories_count":17977569,"issues_count":48218194,"pull_requests_count":149188403,"authors_count":12005985,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"type: docker version":1,"type: template and tools":1,"type: workflows":1},"past_year_issue_author_associations_count":{"NONE":3},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":3,"NONE":1},"past_year_issue_authors":{"estregger":2,"nickynicolson":1},"past_year_pull_request_authors":{"carpentries-bot":3,"sstevens2":1},"maintainers":[{"login":"tracykteal","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tracykteal"},{"login":"tobyhodges","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tobyhodges"},{"login":"fmichonneau","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/fmichonneau"}],"active_maintainers":[]},"events":{"total":{"CreateEvent":10,"DeleteEvent":6,"ForkEvent":3,"IssueCommentEvent":20,"IssuesEvent":4,"PullRequestEvent":16,"PullRequestReviewEvent":1,"PushEvent":82,"WatchEvent":2},"last_year":{"CreateEvent":1,"IssuesEvent":2,"PullRequestEvent":2,"PushEvent":27}},"keywords":["carpentries","data-carpentry","data-cleaning","data-management","ecology","english","lesson","open-educational-resources","openrefine","stable"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/pr-close-signal.yaml","sha":null,"kind":"manifest","created_at":"2023-09-22T08:47:06.877Z","updated_at":"2023-09-22T08:47:06.877Z","repository_link":"https://github.com/datacarpentry/OpenRefine-ecology-lesson/blob/main/.github/workflows/pr-close-signal.yaml","dependencies":[{"id":13870024236,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pr-comment.yaml","sha":null,"kind":"manifest","created_at":"2023-09-22T08:47:08.309Z","updated_at":"2023-09-22T08:47:08.309Z","repository_link":"https://github.com/datacarpentry/OpenRefine-ecology-lesson/blob/main/.github/workflows/pr-comment.yaml","dependencies":[{"id":13870024709,"package_name":"carpentries/actions/download-workflow-artifact","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":13870024710,"package_name":"carpentries/actions/check-valid-pr","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":13870024711,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13870024712,"package_name":"carpentries/actions/comment-diff","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pr-post-remove-branch.yaml","sha":null,"kind":"manifest","created_at":"2023-09-22T08:47:09.940Z","updated_at":"2023-09-22T08:47:09.940Z","repository_link":"https://github.com/datacarpentry/OpenRefine-ecology-lesson/blob/main/.github/workflows/pr-post-remove-branch.yaml","dependencies":[{"id":13870024765,"package_name":"carpentries/actions/download-workflow-artifact","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":13870024766,"package_name":"carpentries/actions/remove-branch","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pr-preflight.yaml","sha":null,"kind":"manifest","created_at":"2023-09-22T08:47:10.593Z","updated_at":"2023-09-22T08:47:10.593Z","repository_link":"https://github.com/datacarpentry/OpenRefine-ecology-lesson/blob/main/.github/workflows/pr-preflight.yaml","dependencies":[{"id":13870024780,"package_name":"carpentries/actions/check-valid-pr","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":13870024781,"package_name":"carpentries/actions/comment-diff","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pr-receive.yaml","sha":null,"kind":"manifest","created_at":"2023-09-22T08:47:11.108Z","updated_at":"2023-09-22T08:47:11.108Z","repository_link":"https://github.com/datacarpentry/OpenRefine-ecology-lesson/blob/main/.github/workflows/pr-receive.yaml","dependencies":[{"id":13870024785,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13870024786,"package_name":"carpentries/actions/check-valid-pr","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":13870024787,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13870024788,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":13870024789,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":13870024790,"package_name":"carpentries/actions/setup-sandpaper","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":13870024791,"package_name":"carpentries/actions/setup-lesson-deps","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/sandpaper-main.yaml","sha":null,"kind":"manifest","created_at":"2023-09-22T08:47:11.829Z","updated_at":"2023-09-22T08:47:11.829Z","repository_link":"https://github.com/datacarpentry/OpenRefine-ecology-lesson/blob/main/.github/workflows/sandpaper-main.yaml","dependencies":[{"id":13870024799,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13870024800,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":13870024801,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":13870024802,"package_name":"carpentries/actions/setup-sandpaper","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":13870024803,"package_name":"carpentries/actions/setup-lesson-deps","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/update-cache.yaml","sha":null,"kind":"manifest","created_at":"2023-09-22T08:47:12.300Z","updated_at":"2023-09-22T08:47:12.300Z","repository_link":"https://github.com/datacarpentry/OpenRefine-ecology-lesson/blob/main/.github/workflows/update-cache.yaml","dependencies":[{"id":13870024804,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13870024805,"package_name":"carpentries/actions/check-valid-credentials","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":13870024806,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":13870024807,"package_name":"carpentries/actions/update-lockfile","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":13870024808,"package_name":"carpentries/create-pull-request","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/update-workflows.yaml","sha":null,"kind":"manifest","created_at":"2023-09-22T08:47:12.591Z","updated_at":"2023-09-22T08:47:12.591Z","repository_link":"https://github.com/datacarpentry/OpenRefine-ecology-lesson/blob/main/.github/workflows/update-workflows.yaml","dependencies":[{"id":13870024812,"package_name":"carpentries/actions/check-valid-credentials","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":13870024813,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13870024814,"package_name":"carpentries/actions/update-workflows","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":13870024815,"package_name":"carpentries/create-pull-request","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/docker_pr_receive.yaml","sha":null,"kind":"manifest","created_at":"2026-09-08T07:44:55.248Z","updated_at":"2026-09-08T07:44:55.248Z","repository_link":"https://github.com/datacarpentry/OpenRefine-ecology-lesson/blob/main/.github/workflows/docker_pr_receive.yaml","dependencies":[{"id":26408503854,"package_name":"carpentries/actions/check-valid-pr","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":26408503855,"package_name":"carpentries/actions/renv-checks","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":26408503852,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":26408503853,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/docker_build_deploy.yaml","sha":null,"kind":"manifest","created_at":"2026-09-08T07:44:55.176Z","updated_at":"2026-09-08T07:44:55.176Z","repository_link":"https://github.com/datacarpentry/OpenRefine-ecology-lesson/blob/main/.github/workflows/docker_build_deploy.yaml","dependencies":[{"id":26408503847,"package_name":"carpentries/actions/build-preflight","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":26408503848,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":26408503849,"package_name":"carpentries/actions/container-version","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":26408503850,"package_name":"carpentries/actions/build-and-deploy","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":26408503851,"package_name":"carpentries/actions/record-container-version","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/docker_apply_cache.yaml","sha":null,"kind":"manifest","created_at":"2026-09-08T07:44:54.890Z","updated_at":"2026-09-08T07:44:54.890Z","repository_link":"https://github.com/datacarpentry/OpenRefine-ecology-lesson/blob/main/.github/workflows/docker_apply_cache.yaml","dependencies":[{"id":26408503840,"package_name":"carpentries/actions/renv-checks","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":26408503841,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":26408503842,"package_name":"carpentries/actions/container-version","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":26408503843,"package_name":"docker/login-action","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":26408503844,"package_name":"carpentries/actions/build-dependency-image","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":26408503845,"package_name":"carpentries/actions/prune-dependency-images","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":26408503846,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false}]}],"score":7.893572073504902,"created_at":"2023-09-11T14:41:06.595Z","updated_at":"2026-10-15T03:00:40.195Z","avatar_url":"https://github.com/datacarpentry.png","language":null,"category":"Sustainable Development","sub_category":"Education","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"[![Create a Slack Account with us](https://img.shields.io/badge/Create_Slack_Account-The_Carpentries-071159.svg)](https://slack-invite.carpentries.org/)\n[![Slack Status](https://img.shields.io/badge/Slack_Channel-dc--ecology--openref-E01563.svg)](https://carpentries.slack.com/messages/C9Y0RDGPQ)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.570048.svg)](https://doi.org/10.5281/zenodo.570048)\n\n# OpenRefine-ecology\n\n**Data Cleaning with OpenRefine for Ecologists** Lesson for [Data Carpentry](https://datacarpentry.org/lessons/#ecology-workshop)\n\n## OpenRefine Version\n\nThe current version has been tested with OpenRefine 3.7.2 on May 2023.\n\n## Data set notes\n\n- This data set is derived from [The Portal Project Long-term desert ecology](https://portal.weecology.org/) project data. [This data file](https://www.esapubs.org/archive/ecol/E090/118/Portal_rodents_19772002.csv) was downloaded and then modified specifically for use with OpenRefine.\n  - Taxon names were put back into the file.\n  - The number of rows was reduced to simplify the reconciliation and URL parsing exercises.\n  - These modifications were made in order to illustrate some features of Open Refine.\n    - Errors were added to the taxon names (`scientificName` field), to demonstrate OpenRefine's ability to find likely mis-entered data.\n    - These errors can be found using clustering algorithms on the `scientificName` column, showing the power of the algorithms to find discrepancies quickly and making it simple to fix all issues found.\n\n## Contributing\n\nWe welcome all contributions to improve the lesson! Maintainers will do their best to help you if you have any questions, concerns, or experience any difficulties along the way.\nWe'd like to ask you to familiarize yourself with our [Contribution Guide](CONTRIBUTING.md).\n\nPlease see the current list of [issues](https://github.com/datacarpentry/OpenRefine-ecology-lesson/issues) for ideas for contributing to this repository. For making your contribution, we use the GitHub flow, which is nicely explained in the chapter [Contributing to a Project](https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project) in Pro Git by Scott Chacon.\n\nLook for the tag ![good\\_first\\_issue](https://img.shields.io/badge/-good%20first%20issue-gold.svg). This indicates that the maintainers will welcome a pull request fixing this issue.\n\n## Maintainers\n\n### Current Maintainers\n\n- Luis J. Villanueva ([villanueval@si.edu](mailto:villanueval@si.edu))\n\n### Past Authors and Maintainers\n\n- Abigail Cabunoc\n- Aleksandra Nenadic\n- April M. Wright\n- Betty Rozum\n- Bill Mills\n- Brian Yandell\n- C. Titus Brown\n- Cam Macdonell\n- Dan Mazur\n- Debbie Paul\n- Erin Becker\n- Francois Michonneau\n- Gabriel A. Devenyi\n- Greg Wilson\n- Hilmar Lapp\n- Hugo Tavares\n- Ian Carroll\n- James Allen\n- James Mickley\n- Jeffrey W. Hollister\n- Jon Pipitone\n- Jonah Duckles\n- Kari L. Jordan\n- Lisa Zilinski\n- Maxim Belkin\n- Michael Hansen\n- Nick Young\n- Piotr Banaszkiewicz\n- Raniere Silva\n- Ross Dickson\n- Ryan E. Johnson\n- Rémi Emonet\n- Timothée Poisot\n- Tracy Teal\n- W. Trevor King\n- Zack Brym\n- dlstrong\n- evanwill\n- trelogan\n\nSee the [Authors](AUTHORS) page for details.\n\n\n","funding_links":["https://github.com/sponsors/carpentries","https://www.zeffy.com/en-US/donation-form/donate-to-make-a-difference-7497"],"readme_doi_urls":["https://doi.org/10.5281/zenodo.570048"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["spreadsheet","data-wrangling","carpentries-incubator","workshop","beta","tidyverse","carpentries-lab","puerto-rico","metagenomics","life-sciences"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/12060","html_url":"https://ost.ecosyste.ms/projects/12060"}