{"id":20161,"name":"cyclestreets","description":"The goal of cyclestreets is to provide a simple R interface to the CycleStreets routing service.","url":"https://github.com/cyclestreets/cyclestreets-r","last_synced_at":"2026-04-11T16:30:31.830Z","repository":{"id":37251908,"uuid":"131250277","full_name":"cyclestreets/cyclestreets-r","owner":"cyclestreets","description":"An R interface to cyclestreets.net APIs","archived":false,"fork":false,"pushed_at":"2024-12-04T12:07:43.000Z","size":4106,"stargazers_count":27,"open_issues_count":6,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-31T19:31:49.508Z","etag":null,"topics":["cycling","r","routing","transport","transportation-planning"],"latest_commit_sha":null,"homepage":"https://rpackage.cyclestreets.net/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cyclestreets.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-27T05:38:21.000Z","updated_at":"2025-10-06T09:24:18.000Z","dependencies_parsed_at":"2023-09-21T19:57:05.840Z","dependency_job_id":"6ec89941-34c9-4a1d-9a0a-6226ce80e8f8","html_url":"https://github.com/cyclestreets/cyclestreets-r","commit_stats":{"total_commits":256,"total_committers":5,"mean_commits":51.2,"dds":0.16015625,"last_synced_commit":"f4146f5c6cbc41f1b892c683fc9d994c1315762d"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/cyclestreets/cyclestreets-r","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyclestreets","download_url":"https://codeload.github.com/cyclestreets/cyclestreets-r/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29191989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T07:37:03.739Z","status":"ssl_error","status_checked_at":"2026-02-07T07:37:03.029Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"cyclestreets","name":"CycleStreets","uuid":"361419","kind":"organization","description":"Cycle journey planning and tools, for cyclists, by cyclists","email":null,"website":"https://www.cyclestreets.org/","location":"Cambridge, UK","twitter":"cyclestreets","company":null,"icon_url":"https://avatars.githubusercontent.com/u/361419?v=4","repositories_count":34,"last_synced_at":"2024-03-26T00:06:31.540Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/cyclestreets","funding_links":[],"total_stars":598,"followers":20,"following":0,"created_at":"2022-11-02T22:25:29.353Z","updated_at":"2024-03-26T00:06:32.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyclestreets","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyclestreets/repositories"},"packages":[{"id":11729431,"name":"github.com/cyclestreets/cyclestreets-r","ecosystem":"go","description":null,"homepage":null,"licenses":"gpl-3.0","normalized_licenses":["GPL-3.0"],"repository_url":"https://github.com/cyclestreets/cyclestreets-r","keywords_array":[],"namespace":null,"versions_count":4,"first_release_published_at":"2021-06-22T06:28:22.000Z","latest_release_published_at":"2023-08-13T12:15:08.000Z","latest_release_number":"v1.0.0","last_synced_at":"2026-02-03T22:26:15.851Z","created_at":"2025-06-04T10:54:47.919Z","updated_at":"2026-02-03T22:26:15.852Z","registry_url":"https://pkg.go.dev/github.com/cyclestreets/cyclestreets-r","install_command":"go get github.com/cyclestreets/cyclestreets-r","documentation_url":"https://pkg.go.dev/github.com/cyclestreets/cyclestreets-r#section-documentation","metadata":{},"repo_metadata":{"id":37251908,"uuid":"131250277","full_name":"cyclestreets/cyclestreets-r","owner":"cyclestreets","description":"An R interface to cyclestreets.net APIs","archived":false,"fork":false,"pushed_at":"2024-12-04T12:07:43.000Z","size":4106,"stargazers_count":27,"open_issues_count":6,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-31T15:53:40.897Z","etag":null,"topics":["cycling","r","routing","transport","transportation-planning"],"latest_commit_sha":null,"homepage":"https://rpackage.cyclestreets.net/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cyclestreets.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-27T05:38:21.000Z","updated_at":"2024-12-04T11:27:47.000Z","dependencies_parsed_at":"2023-09-21T19:57:05.840Z","dependency_job_id":"6ec89941-34c9-4a1d-9a0a-6226ce80e8f8","html_url":"https://github.com/cyclestreets/cyclestreets-r","commit_stats":{"total_commits":256,"total_committers":5,"mean_commits":51.2,"dds":0.16015625,"last_synced_commit":"f4146f5c6cbc41f1b892c683fc9d994c1315762d"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyclestreets","download_url":"https://codeload.github.com/cyclestreets/cyclestreets-r/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":257921529,"owners_count":22623419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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"}},"repo_metadata_updated_at":"2025-06-04T11:05:31.712Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.764254255794306,"dependent_packages_count":5.401293307900869,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.582773781847587},"purl":"pkg:golang/github.com/cyclestreets/cyclestreets-r","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/cyclestreets/cyclestreets-r","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/cyclestreets/cyclestreets-r","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/cyclestreets/cyclestreets-r/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-06-04T07:34:18.999Z","issues_count":61,"pull_requests_count":36,"avg_time_to_close_issue":12102891.568965517,"avg_time_to_close_pull_request":305432.3333333333,"issues_closed_count":58,"pull_requests_closed_count":33,"pull_request_authors_count":6,"issue_authors_count":4,"avg_comments_per_issue":3.6885245901639343,"avg_comments_per_pull_request":1.6944444444444444,"merged_pull_requests_count":30,"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":294.3333333333333,"past_year_avg_time_to_close_pull_request":40317.75,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.3333333333333333,"past_year_avg_comments_per_pull_request":1.75,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/issues","maintainers":[{"login":"Robinlovelace","count":75,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Robinlovelace"},{"login":"mvl22","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mvl22"}],"active_maintainers":[{"login":"Robinlovelace","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Robinlovelace"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fcyclestreets%2Fcyclestreets-r/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fcyclestreets%2Fcyclestreets-r/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fcyclestreets%2Fcyclestreets-r/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fcyclestreets%2Fcyclestreets-r/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fcyclestreets%2Fcyclestreets-r/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2033877,"maintainers_count":0,"namespaces_count":763140,"keywords_count":112100,"github":"golang","metadata":{"funded_packages_count":52902},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-01-25T06:36:26.509Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":427790,"name":"cyclestreets","ecosystem":"cran","description":"Cycle Routing and Data for Cycling Advocacy","homepage":"https://rpackage.cyclestreets.net/","licenses":"GPL-3","normalized_licenses":["GPL-3.0"],"repository_url":"https://github.com/cyclestreets/cyclestreets-r","keywords_array":[],"namespace":null,"versions_count":11,"first_release_published_at":"2018-05-03T14:28:00.000Z","latest_release_published_at":"2024-12-04T00:00:00.000Z","latest_release_number":"1.0.3","last_synced_at":"2026-02-03T22:26:31.565Z","created_at":"2022-04-06T19:44:56.047Z","updated_at":"2026-02-03T22:26:31.565Z","registry_url":"https://cran.r-project.org/package=cyclestreets","install_command":null,"documentation_url":"http://cran.r-project.org/web/packages/cyclestreets/cyclestreets.pdf","metadata":{},"repo_metadata":{"uuid":"131250277","full_name":"cyclestreets/cyclestreets-r","owner":"cyclestreets","description":"An R interface to cyclestreets.net APIs","archived":false,"fork":false,"pushed_at":"2023-11-14T03:51:02.000Z","size":4067,"stargazers_count":27,"open_issues_count":4,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-12-10T06:36:58.904Z","etag":null,"topics":["cycling","r","routing","transport","transportation-planning"],"latest_commit_sha":null,"homepage":"https://rpackage.cyclestreets.net/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cyclestreets.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-04-27T05:38:21.000Z","updated_at":"2023-12-04T10:22:37.000Z","dependencies_parsed_at":"2023-09-21T19:57:05.840Z","dependency_job_id":"6ec89941-34c9-4a1d-9a0a-6226ce80e8f8","html_url":"https://github.com/cyclestreets/cyclestreets-r","commit_stats":{"total_commits":252,"total_committers":5,"mean_commits":50.4,"dds":"0.16269841269841268","last_synced_commit":"0aca7ef9bc09f6d28319f12f3298dca45e8c1c7c"},"previous_names":[],"tags_count":5,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyclestreets","download_url":"https://codeload.github.com/cyclestreets/cyclestreets-r/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":176841324,"owners_count":10456285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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_record":{"login":"cyclestreets","name":"CycleStreets","uuid":"361419","kind":"organization","description":"Cycle journey planning and tools, for cyclists, by cyclists","email":null,"website":"https://www.cyclestreets.org/","location":"Cambridge, UK","twitter":"cyclestreets","company":null,"icon_url":"https://avatars.githubusercontent.com/u/361419?v=4","repositories_count":23,"last_synced_at":"2023-03-11T08:40:18.631Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/cyclestreets","created_at":"2022-11-02T22:25:29.353Z","updated_at":"2023-03-11T08:40:18.639Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyclestreets","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyclestreets/repositories"},"tags":[{"name":"v1.0.0","sha":"5dba151852d8336360bc4d4e8d488be14d8a730c","kind":"commit","published_at":"2023-08-13T12:15:08.000Z","download_url":"https://codeload.github.com/cyclestreets/cyclestreets-r/tar.gz/v1.0.0","html_url":"https://github.com/cyclestreets/cyclestreets-r/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags/v1.0.0/manifests"},{"name":"v0.6.0","sha":"d78b07450676a6cc0b296e6104d66617ff04a3d8","kind":"commit","published_at":"2023-02-17T22:11:17.000Z","download_url":"https://codeload.github.com/cyclestreets/cyclestreets-r/tar.gz/v0.6.0","html_url":"https://github.com/cyclestreets/cyclestreets-r/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags/v0.6.0/manifests"},{"name":"v0.5.3","sha":"2050ebf6f2b0ef98ce546ae868086361d386a39c","kind":"commit","published_at":"2022-01-04T22:51:47.000Z","download_url":"https://codeload.github.com/cyclestreets/cyclestreets-r/tar.gz/v0.5.3","html_url":"https://github.com/cyclestreets/cyclestreets-r/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags/v0.5.3/manifests"},{"name":"v0.4.0","sha":"09908afd618459edbf64307f23600cd7d0790b8c","kind":"commit","published_at":"2021-06-22T06:28:22.000Z","download_url":"https://codeload.github.com/cyclestreets/cyclestreets-r/tar.gz/v0.4.0","html_url":"https://github.com/cyclestreets/cyclestreets-r/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags/v0.4.0/manifests"},{"name":"0.1.5","sha":"01559c63c9f0ce56fc04827f7bc1cf2866710a58","kind":"commit","published_at":"2018-05-03T11:50:55.000Z","download_url":"https://codeload.github.com/cyclestreets/cyclestreets-r/tar.gz/0.1.5","html_url":"https://github.com/cyclestreets/cyclestreets-r/releases/tag/0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags/0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/tags/0.1.5/manifests"}]},"repo_metadata_updated_at":"2023-12-18T04:58:13.351Z","dependent_packages_count":1,"downloads":526,"downloads_period":"last-month","dependent_repos_count":3,"rankings":{"downloads":21.55223071012069,"dependent_repos_count":16.810559146589522,"dependent_packages_count":17.655833295665143,"stargazers_count":10.47326311983004,"forks_count":9.772634814446505,"docker_downloads_count":null,"average":15.252904217330379},"purl":"pkg:cran/cyclestreets","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/cran/cyclestreets","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/cran/cyclestreets","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/cran/cyclestreets/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2023-12-18T03:41:49.331Z","issues_count":57,"pull_requests_count":31,"avg_time_to_close_issue":12763033.236363636,"avg_time_to_close_pull_request":341999.8620689655,"issues_closed_count":55,"pull_requests_closed_count":29,"pull_request_authors_count":5,"issue_authors_count":4,"avg_comments_per_issue":3.8771929824561404,"avg_comments_per_pull_request":1.5161290322580645,"merged_pull_requests_count":27,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":26,"past_year_pull_requests_count":20,"past_year_avg_time_to_close_issue":1333141.88,"past_year_avg_time_to_close_pull_request":478240.4210526316,"past_year_issues_closed_count":25,"past_year_pull_requests_closed_count":19,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":3.1153846153846154,"past_year_avg_comments_per_pull_request":1.25,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":19,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/issues"},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/cyclestreets/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/cyclestreets/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/cyclestreets/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/cyclestreets/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/cyclestreets/codemeta","maintainers":[{"uuid":"rob00x@gmail.com","login":null,"name":"Robin Lovelace","email":"rob00x@gmail.com","url":null,"packages_count":10,"html_url":null,"role":null,"created_at":"2022-11-14T17:16:30.088Z","updated_at":"2022-11-14T17:16:30.088Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/maintainers/rob00x@gmail.com/packages"}],"registry":{"name":"cran.r-project.org","url":"https://cran.r-project.org","ecosystem":"cran","default":true,"packages_count":27155,"maintainers_count":14827,"namespaces_count":0,"keywords_count":8459,"github":"r-project-org","metadata":{"icon_url":"https://cran.r-project.org/CRANlogo.png"},"icon_url":"https://cran.r-project.org/CRANlogo.png","created_at":"2022-04-06T16:32:25.637Z","updated_at":"2026-02-01T07:04:19.843Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/namespaces"}}],"commits":{"id":1254151,"full_name":"cyclestreets/cyclestreets-r","default_branch":"master","total_commits":271,"total_committers":6,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":45.166666666666664,"dds":0.17712177121771222,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-02-03T17:17:13.895Z","last_synced_commit":"aeaac3070551fdf5bd6f5ac3c87653fb8b9ab566","created_at":"2023-03-27T10:58:55.651Z","updated_at":"2026-02-03T17:17:13.778Z","committers":[{"name":"Robin Lovelace","email":"rob00x@gmail.com","login":"Robinlovelace","count":223},{"name":"Malcolm Morgan","email":"mem48","login":"mem48","count":23},{"name":"Atum Scott","email":"atumscot@gmail.com","login":"atumscott","count":14},{"name":"wangzhao0217","email":"74598734+wangzhao0217","login":"wangzhao0217","count":7},{"name":"mvl22","email":"martin@lucas-smith.co.uk","login":"mvl22","count":3},{"name":"joeytalbot","email":"joeytalbot85@gmail.com","login":"joeytalbot","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-02-04T00:00:11.828Z","repositories_count":6166232,"commits_count":928914125,"contributors_count":36095026,"owners_count":1139453,"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":"cyclestreets/cyclestreets-r","html_url":"https://github.com/cyclestreets/cyclestreets-r","last_synced_at":"2026-01-31T07:02:39.705Z","status":"error","issues_count":60,"pull_requests_count":36,"avg_time_to_close_issue":12315216.842105264,"avg_time_to_close_pull_request":305432.3333333333,"issues_closed_count":57,"pull_requests_closed_count":33,"pull_request_authors_count":6,"issue_authors_count":4,"avg_comments_per_issue":3.75,"avg_comments_per_pull_request":1.6944444444444444,"merged_pull_requests_count":30,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":266.0,"past_year_avg_time_to_close_pull_request":40317.75,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":1.75,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"created_at":"2023-05-09T10:34:58.271Z","updated_at":"2026-01-31T07:02:39.705Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclestreets%2Fcyclestreets-r/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"COLLABORATOR":47,"MEMBER":6,"CONTRIBUTOR":4},"pull_request_author_associations_count":{"COLLABORATOR":27,"CONTRIBUTOR":7,"MEMBER":4,"NONE":2},"issue_authors":{"Robinlovelace":47,"mvl22":6,"joeytalbot":2,"mem48":2},"pull_request_authors":{"Robinlovelace":27,"mvl22":4,"wangzhao0217":4,"mem48":3,"joeytalbot":1,"atumscott":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-02-07T00:00:09.758Z","repositories_count":13129182,"issues_count":35574989,"pull_requests_count":115237264,"authors_count":11148241,"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":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"Robinlovelace","count":74,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Robinlovelace"},{"login":"mvl22","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mvl22"}],"active_maintainers":[]},"events":{"total":{"IssuesEvent":2,"DeleteEvent":2,"IssueCommentEvent":13,"PushEvent":13,"PullRequestReviewCommentEvent":2,"PullRequestReviewEvent":5,"PullRequestEvent":8,"ForkEvent":1,"CreateEvent":3},"last_year":{}},"keywords":["cycling","r","routing","transport","transportation-planning"],"dependencies":[{"ecosystem":"cran","filepath":"DESCRIPTION","sha":null,"kind":"manifest","created_at":"2022-07-12T04:31:04.321Z","updated_at":"2022-07-12T04:31:04.321Z","repository_link":"https://github.com/cyclestreets/cyclestreets-r/blob/master/DESCRIPTION","dependencies":[{"id":151655565,"package_name":"purrr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":151655559,"package_name":"R","ecosystem":"cran","requirements":"\u003e= 3.6.0","direct":true,"kind":"depends","optional":false},{"id":151655560,"package_name":"geodist","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":151655561,"package_name":"geojsonsf","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":151655562,"package_name":"httr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":151655563,"package_name":"jsonlite","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":151655564,"package_name":"magrittr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":151655566,"package_name":"R.utils","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":151655567,"package_name":"sf","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":151655568,"package_name":"stringr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":151655569,"package_name":"covr","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":151655570,"package_name":"od","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":151655571,"package_name":"stplanr","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-09T16:30:16.177Z","updated_at":"2023-02-09T16:30:16.177Z","repository_link":"https://github.com/cyclestreets/cyclestreets-r/blob/master/.github/workflows/R-CMD-check.yaml","dependencies":[{"id":7498419237,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7498419239,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7498419241,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7498419243,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7498419245,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pkgdown.yaml","sha":null,"kind":"manifest","created_at":"2023-02-09T16:30:16.201Z","updated_at":"2023-02-09T16:30:16.201Z","repository_link":"https://github.com/cyclestreets/cyclestreets-r/blob/master/.github/workflows/pkgdown.yaml","dependencies":[{"id":7498419368,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7498419369,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7498419370,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7498419371,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pr-commands.yaml","sha":null,"kind":"manifest","created_at":"2023-02-09T16:30:16.222Z","updated_at":"2023-02-09T16:30:16.222Z","repository_link":"https://github.com/cyclestreets/cyclestreets-r/blob/master/.github/workflows/pr-commands.yaml","dependencies":[{"id":7498419374,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7498419375,"package_name":"r-lib/actions/pr-fetch","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7498419376,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":7498419377,"package_name":"r-lib/actions/pr-push","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]}],"score":11.563029051936475,"created_at":"2023-09-11T14:52:10.280Z","updated_at":"2026-04-11T16:30:31.835Z","avatar_url":"https://github.com/cyclestreets.png","language":"R","category":"Consumption","sub_category":"Mobility and Transportation","monthly_downloads":526,"total_dependent_repos":3,"total_dependent_packages":1,"readme":"---\noutput: github_document\n---\n\n\u003c!-- badges: start --\u003e\n\n[![R-CMD-check](https://github.com/cyclestreets/cyclestreets-r/workflows/R-CMD-check/badge.svg)](https://github.com/cyclestreets/cyclestreets-r/actions) [![CRAN status](https://www.r-pkg.org/badges/version/cyclestreets)](https://CRAN.R-project.org/package=cyclestreets)\n[![R-CMD-check](https://github.com/cyclestreets/cyclestreets-r/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/cyclestreets/cyclestreets-r/actions/workflows/R-CMD-check.yaml)\n\u003c!-- badges: end --\u003e\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r setup, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# cyclestreets\n\nThe goal of cyclestreets is to provide a simple R interface to the CycleStreets routing service.\n\nIt was split-out from **stplanr** for modularity.\n\n## Installation\n\nYou can install the released version of cyclestreets from [CRAN](https://CRAN.R-project.org) with:\n\n```{r install, eval=FALSE}\ninstall.packages(\"cyclestreets\")\n```\n\nInstall the development version with **devtools** as follows:\n\n```{r installdev, eval=FALSE}\n# install.packages(\"devtools\")\ndevtools::install_github(\"cyclestreets/cyclestreets-r\")\n```\n\n## Example\n\nA common need is to get from A to B:\n\n```{r example}\nlibrary (\"cyclestreets\")\n# stplanr::geo_code (\"leeds rail station\") \nfrom = c(-1.544, 53.794)\n# stplanr::geo_code (\"leeds university\") \nto = c(-1.551, 53.807)\nr = cyclestreets::journey(from, to, \"balanced\")\nsf:::plot.sf(r)\n```\n\nTo get a key go to \u003chttps://www.cyclestreets.net/api/apply/\u003e\n\nSave the key as an environment varible using `export CYCLESTREETS=your_key_here` by adding `CYCLESTREETS=your_key_here` as a new line in your `.Renviron` file, e.g. with the following command:\n\n```{r, eval=FALSE}\nusethis::edit_r_environ()\n```\n\nCheck the map is good with leaflet:\n\n```{r, eval=FALSE}\nlibrary(leaflet)\np = colorNumeric(\"RdYlBu\", domain = r$quietness, reverse = TRUE)\nleaflet(r) %\u003e% \n  addTiles() %\u003e% \n  addPolylines(color = ~p(quietness), weight = 20, opacity = 0.9) %\u003e% \n  addLegend(pal = p, values = ~quietness)\n```\n\nOr **tmap**, highlighting the recently added 'quietness' variable:\n\n```{r, eval=FALSE}\nlibrary(tmap)\ntmap_mode(\"view\")\ntm_shape(r) + tm_lines(\"quietness\", palette = \"RdYlBu\", lwd = 3)\n```\n\n```{r, echo=FALSE}\nlibrary(tmap)\ntmap_mode(\"view\")\nm = tm_shape(r) + tm_lines(\"quietness\", palette = \"RdYlBu\", lwd = 3)\ntmap_save(m, \"m.html\")\nwebshot2::webshot(\"m.html\")\n```\n\n\nSee an interactive version of this map, showing all variables per segment, [here](https://rpubs.com/RobinLovelace/784236).\n\nOr **mapview**:\n\n```{r, eval=FALSE}\nmapview::mapview(r)\n```\n\nRoute types available are: fastest, quietest, balanced.\nSee help pages such as `?journey` and \u003chttps://www.cyclestreets.net/api/\u003e for details.\n\nYou can also get streets by LTN status.\n\n```{r}\nnetwork_ltns = ltns(r)\nplot(network_ltns)\n```\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["transportation","walking","biking","cycle","desire-lines","origin-destination","pubic-transport","route-network","routes","transport-planning"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20161","html_url":"https://ost.ecosyste.ms/projects/20161"}