{"id":357279,"url":"https://github.com/ropensci/spiro/","last_synced_at":"2026-08-22T07:30:36.390Z","repository":{"id":43172457,"uuid":"354232342","full_name":"ropensci/spiro","owner":"ropensci","description":"Work with data from cardiopulmonary exercise testing","archived":false,"fork":false,"pushed_at":"2026-06-30T09:51:14.000Z","size":6544,"stargazers_count":15,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-07-28T18:05:16.498Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.ropensci.org/spiro/","language":"R","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/ropensci.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-04-03T07:50:40.000Z","updated_at":"2026-06-30T09:51:18.000Z","dependencies_parsed_at":"2024-06-07T10:12:03.000Z","dependency_job_id":"1ede7cb8-d43b-4133-9f36-4ee0905c094c","html_url":"https://github.com/ropensci/spiro","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/ropensci/spiro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci%2Fspiro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci%2Fspiro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci%2Fspiro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci%2Fspiro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ropensci","download_url":"https://codeload.github.com/ropensci/spiro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci%2Fspiro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36088336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-30T02:00:05.956Z","response_time":106,"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":"ropensci","name":"rOpenSci","uuid":"1200269","kind":"organization","description":"","email":"info@ropensci.org","website":"https://ropensci.org/","location":"Berkeley, CA","twitter":"rOpenSci","company":null,"icon_url":"https://avatars.githubusercontent.com/u/1200269?v=4","repositories_count":307,"last_synced_at":"2023-03-10T20:30:59.242Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ropensci","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T19:23:08.224Z","updated_at":"2023-03-10T20:30:59.305Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ropensci","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ropensci/repositories"},"packages":[],"commits":{"id":726292,"full_name":"ropensci/spiro","default_branch":"main","total_commits":386,"total_committers":2,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":193.0,"dds":0.002590673575129543,"past_year_total_commits":5,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":5.0,"past_year_dds":0.0,"last_synced_at":"2026-08-20T06:30:39.670Z","last_synced_commit":"a1f9b3a31517658ab671fec44497258d625922da","created_at":"2023-03-09T13:16:51.132Z","updated_at":"2026-08-20T06:30:39.589Z","committers":[{"name":"Simon Nolte","email":"81624911+smnnlt","login":"smnnlt","count":385},{"name":"Maëlle Salmon","email":"maelle.salmon@yahoo.se","login":"maelle","count":1}],"past_year_committers":[{"name":"Simon Nolte","email":"81624911+smnnlt","login":"smnnlt","count":5}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci%2Fspiro/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-21T00:00:17.498Z","repositories_count":6767814,"commits_count":980893961,"contributors_count":41356474,"owners_count":1362673,"committers_count":3357101,"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":{"table":{"full_name":"ropensci/spiro","html_url":"https://github.com/ropensci/spiro","last_synced_at":"2026-08-21T07:01:06.258Z","status":null,"issues_count":2,"pull_requests_count":17,"avg_time_to_close_issue":2229780.5,"avg_time_to_close_pull_request":290302.64705882355,"issues_closed_count":2,"pull_requests_closed_count":17,"pull_request_authors_count":2,"issue_authors_count":2,"avg_comments_per_issue":2.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":17,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":1396792.0,"past_year_avg_time_to_close_pull_request":1000.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":3.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"created_at":"2023-05-10T23:07:35.742Z","updated_at":"2026-08-21T07:01:06.258Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci%2Fspiro","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci%2Fspiro/issues","issue_labels_count":{"table":{}},"pull_request_labels_count":{"table":{}},"issue_author_associations_count":{"table":{"NONE":2}},"pull_request_author_associations_count":{"table":{"COLLABORATOR":15,"MEMBER":2}},"issue_authors":{"table":{"omarel-edrissi":1,"thomasp85":1}},"pull_request_authors":{"table":{"smnnlt":15,"maelle":2}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-22T00:00:08.916Z","repositories_count":16227029,"issues_count":41911461,"pull_requests_count":133595637,"authors_count":11493031,"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":{"table":{}},"past_year_pull_request_labels_count":{"table":{}},"past_year_issue_author_associations_count":{"table":{"NONE":1}},"past_year_pull_request_author_associations_count":{"table":{"COLLABORATOR":2}},"past_year_issue_authors":{"table":{"omarel-edrissi":1}},"past_year_pull_request_authors":{"table":{"smnnlt":2}},"maintainers":[{"table":{"login":"smnnlt","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/smnnlt"}},{"table":{"login":"maelle","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/maelle"}}],"active_maintainers":[{"table":{"login":"smnnlt","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/smnnlt"}}]}},"events":{"total":{"ReleaseEvent":2,"DeleteEvent":2,"PullRequestEvent":5,"WatchEvent":2,"PushEvent":7,"CreateEvent":3},"last_year":{"DeleteEvent":1,"PullRequestEvent":3,"PushEvent":3}},"keywords":[],"dependencies":[{"ecosystem":"cran","filepath":"DESCRIPTION","sha":null,"kind":"manifest","created_at":"2022-08-12T10:20:58.640Z","updated_at":"2022-08-12T10:20:58.640Z","repository_link":"https://github.com/ropensci/spiro/blob/main/DESCRIPTION","dependencies":[{"id":1315292588,"package_name":"ggplot2","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1315292589,"package_name":"xml2","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1315292590,"package_name":"readxl","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1315292591,"package_name":"knitr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1315292592,"package_name":"cowplot","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1315292593,"package_name":"digest","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1315292594,"package_name":"signal","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":1315292595,"package_name":"testthat","ecosystem":"cran","requirements":"\u003e= 3.0.0","direct":true,"kind":"suggests","optional":false},{"id":1315292596,"package_name":"rmarkdown","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":1315292597,"package_name":"ggborderline","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/R-CMD-check.yaml","sha":null,"kind":"manifest","created_at":"2023-02-01T03:30:25.139Z","updated_at":"2023-02-01T03:30:25.139Z","repository_link":"https://github.com/ropensci/spiro/blob/main/.github/workflows/R-CMD-check.yaml","dependencies":[{"id":7288210371,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7288210372,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7288210373,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7288210374,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7288210375,"package_name":"r-lib/actions/check-r-package","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-coverage.yaml","sha":null,"kind":"manifest","created_at":"2023-02-01T03:30:25.204Z","updated_at":"2023-02-01T03:30:25.204Z","repository_link":"https://github.com/ropensci/spiro/blob/main/.github/workflows/test-coverage.yaml","dependencies":[{"id":7288210578,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7288210579,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7288210580,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7288210581,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]}],"score":3.4011973816621555,"created_at":"2025-04-11T10:19:24.812Z","updated_at":"2026-08-22T07:30:36.390Z","avatar_url":"https://github.com/ropensci.png","language":"R","codemeta":{"@context":"https://doi.org/10.5063/schema/codemeta-2.0","@type":"SoftwareSourceCode","identifier":"spiro","description":"Import, process, summarize and visualize raw data from metabolic carts. See Robergs, Dwyer, and Astorino (2010) \u003cdoi:10.2165/11319670-000000000-00000\u003e for more details on data processing. ","name":"spiro: Manage Data from Cardiopulmonary Exercise Testing","relatedLink":["https://docs.ropensci.org/spiro/","https://CRAN.R-project.org/package=spiro"],"codeRepository":"https://github.com/ropensci/spiro","issueTracker":"https://github.com/ropensci/spiro/issues","license":"https://spdx.org/licenses/MIT","version":"0.2.4.9000","programmingLanguage":{"@type":"ComputerLanguage","name":"R","url":"https://r-project.org"},"runtimePlatform":"R version 4.6.1 Patched (2026-06-24 r90191 ucrt)","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"author":[{"@type":"Person","givenName":"Simon","familyName":"Nolte","email":"s.nolte@dshs-koeln.de","@id":"https://orcid.org/0000-0003-1643-1860"}],"maintainer":[{"@type":"Person","givenName":"Simon","familyName":"Nolte","email":"s.nolte@dshs-koeln.de","@id":"https://orcid.org/0000-0003-1643-1860"}],"softwareSuggestions":[{"@type":"SoftwareApplication","identifier":"testthat","name":"testthat","version":"\u003e= 3.0.0","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"sameAs":"https://CRAN.R-project.org/package=testthat"},{"@type":"SoftwareApplication","identifier":"vdiffr","name":"vdiffr","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"sameAs":"https://CRAN.R-project.org/package=vdiffr"},{"@type":"SoftwareApplication","identifier":"rmarkdown","name":"rmarkdown","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"sameAs":"https://CRAN.R-project.org/package=rmarkdown"},{"@type":"SoftwareApplication","identifier":"ggborderline","name":"ggborderline","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"sameAs":"https://CRAN.R-project.org/package=ggborderline"}],"softwareRequirements":{"1":{"@type":"SoftwareApplication","identifier":"ggplot2","name":"ggplot2","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"sameAs":"https://CRAN.R-project.org/package=ggplot2"},"2":{"@type":"SoftwareApplication","identifier":"xml2","name":"xml2","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"sameAs":"https://CRAN.R-project.org/package=xml2"},"3":{"@type":"SoftwareApplication","identifier":"readxl","name":"readxl","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"sameAs":"https://CRAN.R-project.org/package=readxl"},"4":{"@type":"SoftwareApplication","identifier":"knitr","name":"knitr","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"sameAs":"https://CRAN.R-project.org/package=knitr"},"5":{"@type":"SoftwareApplication","identifier":"cowplot","name":"cowplot","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"sameAs":"https://CRAN.R-project.org/package=cowplot"},"6":{"@type":"SoftwareApplication","identifier":"digest","name":"digest","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"sameAs":"https://CRAN.R-project.org/package=digest"},"7":{"@type":"SoftwareApplication","identifier":"signal","name":"signal","provider":{"@id":"https://cran.r-project.org","@type":"Organization","name":"Comprehensive R Archive Network (CRAN)","url":"https://cran.r-project.org"},"sameAs":"https://CRAN.R-project.org/package=signal"},"SystemRequirements":null},"fileSize":"0KB","citation":[{"@type":"ScholarlyArticle","datePublished":"2023","author":[{"@type":"Person","givenName":"Simon","familyName":"Nolte"}],"name":"spiro: An R package for analyzing data from cardiopulmonary exercise testing","identifier":"10.21105/joss.05089","url":"https://joss.theoj.org/papers/10.21105/joss.05089","pagination":"5089","@id":"https://doi.org/10.21105/joss.05089","sameAs":"https://doi.org/10.21105/joss.05089","isPartOf":{"@type":"PublicationIssue","issueNumber":"81","datePublished":"2023","isPartOf":{"@type":["PublicationVolume","Periodical"],"volumeNumber":"8","name":"Journal of Open Source Software"}}}],"releaseNotes":"https://github.com/ropensci/spiro/blob/main/NEWS.md","readme":"https://github.com/ropensci/spiro/blob/main/README.md","contIntegration":["https://github.com/ropensci/spiro/actions","https://app.codecov.io/gh/ropensci/spiro"],"developmentStatus":"https://www.repostatus.org/#active","review":{"@type":"Review","url":"https://github.com/ropensci/software-review/issues/541","provider":"https://ropensci.org"}},"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/357279","html_url":"https://summary.ecosyste.ms/projects/357279"}