{"id":161,"name":null,"description":"open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.","url":"https://github.com/ahoward/open4","last_synced_at":"2026-04-30T16:30:21.493Z","repository":{"id":586819,"uuid":"220679","full_name":"ahoward/open4","owner":"ahoward","description":"open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.","archived":false,"fork":false,"pushed_at":"2023-11-28T22:45:47.000Z","size":349,"stargazers_count":190,"open_issues_count":12,"forks_count":27,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-04-29T16:00:16.518Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/ahoward.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2009-06-07T04:23:26.000Z","updated_at":"2026-02-20T11:19:42.000Z","dependencies_parsed_at":"2024-02-26T01:46:54.935Z","dependency_job_id":"d76262b0-c5c5-4f69-84eb-f50754dfa916","html_url":"https://github.com/ahoward/open4","commit_stats":{"total_commits":30,"total_committers":9,"mean_commits":"3.3333333333333335","dds":0.5333333333333333,"last_synced_commit":"2bc378285dcec9c88613fd4def57a58606c0680b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahoward/open4","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward","download_url":"https://codeload.github.com/ahoward/open4/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32469363,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: 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":"ahoward","name":"ara.t.howard","uuid":"6094","kind":"user","description":"program computers.  run around in mountains.  repeat.","email":"","website":"https://www.instagram.com/drawohara/","location":"Palmer, Alaska","twitter":"drawohara","company":"https://www.matanuskafrontiertrek.com/","icon_url":"https://avatars.githubusercontent.com/u/6094?v=4","repositories_count":162,"last_synced_at":"2023-04-09T05:11:03.110Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ahoward","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T16:20:35.854Z","updated_at":"2023-04-09T05:11:03.984Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward/repositories"},"packages":[{"id":267191,"name":"open4","ecosystem":"rubygems","description":"open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.","homepage":"https://github.com/ahoward/open4","licenses":"Ruby","normalized_licenses":["Ruby"],"repository_url":"https://github.com/ahoward/open4","keywords_array":[],"namespace":null,"versions_count":23,"first_release_published_at":"2009-07-25T18:04:01.000Z","latest_release_published_at":"2014-05-15T05:57:24.703Z","latest_release_number":"1.3.4","last_synced_at":"2026-04-28T16:32:06.775Z","created_at":"2022-04-06T06:11:14.711Z","updated_at":"2026-04-28T16:34:18.523Z","registry_url":"https://rubygems.org/gems/open4","install_command":"gem install open4 -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/open4/","metadata":{"funding":null},"repo_metadata":{"id":586819,"uuid":"220679","full_name":"ahoward/open4","owner":"ahoward","description":"open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.","archived":false,"fork":false,"pushed_at":"2023-11-28T22:45:47.000Z","size":349,"stargazers_count":190,"open_issues_count":12,"forks_count":27,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-03-30T23:05:16.532Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/ahoward.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2009-06-07T04:23:26.000Z","updated_at":"2026-02-20T11:19:42.000Z","dependencies_parsed_at":"2024-02-26T01:46:54.935Z","dependency_job_id":"d76262b0-c5c5-4f69-84eb-f50754dfa916","html_url":"https://github.com/ahoward/open4","commit_stats":{"total_commits":30,"total_committers":9,"mean_commits":"3.3333333333333335","dds":0.5333333333333333,"last_synced_commit":"2bc378285dcec9c88613fd4def57a58606c0680b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahoward/open4","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward","download_url":"https://codeload.github.com/ahoward/open4/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31491097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"last_error":"SSL_read: 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_record":{"login":"ahoward","name":"ara.t.howard","uuid":"6094","kind":"user","description":"program computers.  run around in mountains.  repeat.","email":"","website":"https://www.instagram.com/drawohara/","location":"Palmer, Alaska","twitter":"drawohara","company":"https://www.matanuskafrontiertrek.com/","icon_url":"https://avatars.githubusercontent.com/u/6094?v=4","repositories_count":162,"last_synced_at":"2023-04-09T05:11:03.110Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ahoward","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T16:20:35.854Z","updated_at":"2023-04-09T05:11:03.984Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-04-28T16:34:18.495Z","dependent_packages_count":365,"downloads":142252342,"downloads_period":"total","dependent_repos_count":13437,"rankings":{"downloads":0.18677311805176125,"dependent_repos_count":0.29883698888281796,"dependent_packages_count":0.12209944135324093,"stargazers_count":4.034299349918043,"forks_count":5.172221540794594,"docker_downloads_count":0.2854562281865724,"average":1.6832811111978383},"purl":"pkg:gem/open4","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/open4","docker_dependents_count":361,"docker_downloads_count":498808215,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/open4/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-14T12:20:17.359Z","issues_count":17,"pull_requests_count":15,"avg_time_to_close_issue":69278978.1,"avg_time_to_close_pull_request":50175418.6,"issues_closed_count":10,"pull_requests_closed_count":10,"pull_request_authors_count":14,"issue_authors_count":17,"avg_comments_per_issue":1.5882352941176472,"avg_comments_per_pull_request":1.0,"merged_pull_requests_count":7,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/issues","maintainers":[{"login":"zenspider","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zenspider"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/open4/codemeta","maintainers":[{"uuid":"207","login":"tenderlove","name":null,"email":null,"url":null,"packages_count":189,"html_url":"https://rubygems.org/profiles/tenderlove","role":null,"created_at":"2022-11-09T09:43:58.393Z","updated_at":"2022-11-09T09:43:58.393Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/tenderlove/packages"},{"uuid":"3215","login":"tarcieri","name":null,"email":null,"url":null,"packages_count":128,"html_url":"https://rubygems.org/profiles/tarcieri","role":null,"created_at":"2022-11-09T09:43:58.380Z","updated_at":"2022-11-09T09:43:58.380Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/tarcieri/packages"},{"uuid":"41522","login":"bbazzarrakk","name":null,"email":null,"url":null,"packages_count":58,"html_url":"https://rubygems.org/profiles/bbazzarrakk","role":null,"created_at":"2022-11-09T09:43:58.398Z","updated_at":"2022-11-09T09:43:58.398Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/bbazzarrakk/packages"},{"uuid":"36299","login":"shreeve","name":null,"email":null,"url":null,"packages_count":79,"html_url":"https://rubygems.org/profiles/shreeve","role":null,"created_at":"2022-11-09T09:43:58.403Z","updated_at":"2022-11-09T09:43:58.403Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/shreeve/packages"},{"uuid":"24379","login":"nwitmer","name":null,"email":null,"url":null,"packages_count":51,"html_url":"https://rubygems.org/profiles/nwitmer","role":null,"created_at":"2022-11-09T09:43:58.409Z","updated_at":"2022-11-09T09:43:58.409Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/nwitmer/packages"},{"uuid":"1882","login":"mikel","name":null,"email":null,"url":null,"packages_count":57,"html_url":"https://rubygems.org/profiles/mikel","role":null,"created_at":"2022-11-09T09:43:58.414Z","updated_at":"2022-11-09T09:43:58.414Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/mikel/packages"},{"uuid":"16104","login":"science","name":null,"email":null,"url":null,"packages_count":52,"html_url":"https://rubygems.org/profiles/science","role":null,"created_at":"2022-11-09T09:43:58.421Z","updated_at":"2022-11-09T09:43:58.421Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/science/packages"},{"uuid":"77801","login":"tcopeland","name":null,"email":null,"url":null,"packages_count":61,"html_url":"https://rubygems.org/profiles/tcopeland","role":null,"created_at":"2022-11-09T09:43:58.426Z","updated_at":"2022-11-09T09:43:58.426Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/tcopeland/packages"},{"uuid":"45069","login":"ahoward","name":null,"email":null,"url":null,"packages_count":103,"html_url":"https://rubygems.org/profiles/ahoward","role":null,"created_at":"2022-11-09T09:43:58.431Z","updated_at":"2022-11-09T09:43:58.431Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/ahoward/packages"},{"uuid":"2966","login":"zenspider","name":null,"email":null,"url":null,"packages_count":104,"html_url":"https://rubygems.org/profiles/zenspider","role":null,"created_at":"2022-11-09T09:43:58.437Z","updated_at":"2022-11-09T09:43:58.437Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/zenspider/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205536,"maintainers_count":68468,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":13804931,"name":"ruby-open4","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/ahoward/open4","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/ahoward/open4","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:28:11.730Z","latest_release_published_at":"2026-02-13T18:28:11.730Z","latest_release_number":"1.3.4-2","last_synced_at":"2026-03-13T19:24:10.217Z","created_at":"2026-02-13T18:28:11.560Z","updated_at":"2026-03-13T19:24:10.217Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-open4","install_command":"apt-get install ruby-open4","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-open4","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T18:28:12.266Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-open4?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-open4/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.10","url":"https://launchpad.net/ubuntu/mantic","ecosystem":"ubuntu","default":false,"packages_count":36642,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-04-27T18:20:38.051Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/namespaces"}},{"id":13751481,"name":"ruby-open4","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/ahoward/open4","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/ahoward/open4","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T07:19:20.643Z","latest_release_published_at":"2026-02-13T07:19:20.643Z","latest_release_number":"1.3.4-1","last_synced_at":"2026-03-13T20:24:54.684Z","created_at":"2026-02-13T07:19:20.459Z","updated_at":"2026-03-13T20:24:54.685Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-open4","install_command":"apt-get install ruby-open4","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-open4","standards_version":"3.9.5","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 7.0.50~), gem2deb (\u003e= 0.3.0~)","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T07:19:21.284Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-open4?arch=source\u0026distro=ubuntu-20.04\u0026repository_url=https://launchpad.net/ubuntu/focal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-open4/codemeta","maintainers":[],"registry":{"name":"ubuntu-20.04","url":"https://launchpad.net/ubuntu/focal","ecosystem":"ubuntu","default":false,"packages_count":30789,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"focal"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:47.233Z","updated_at":"2026-04-27T18:20:36.874Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/namespaces"}},{"id":13605865,"name":"ruby-open4","ecosystem":"debian","description":null,"homepage":"https://github.com/ahoward/open4","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/ahoward/open4","keywords_array":["ruby"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-11T11:24:32.900Z","latest_release_published_at":"2026-02-11T11:24:32.900Z","latest_release_number":"1.3.4-1","last_synced_at":"2026-03-13T19:05:00.390Z","created_at":"2026-02-11T11:24:32.714Z","updated_at":"2026-03-13T19:05:00.390Z","registry_url":"https://tracker.debian.org/pkg/ruby-open4","install_command":"apt-get install ruby-open4","documentation_url":"https://packages.debian.org/buster/ruby-open4","metadata":{"component":"main","architecture":"all","priority":"source","binary":"ruby-open4","standards_version":"3.9.5","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 7.0.50~), gem2deb (\u003e= 0.3.0~)","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T15:15:14.553Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-open4?arch=source\u0026distro=debian-10\u0026repository_url=https://packages.debian.org/buster","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-open4/codemeta","maintainers":[],"registry":{"name":"debian-10","url":"https://packages.debian.org/buster","ecosystem":"debian","default":false,"packages_count":28836,"maintainers_count":0,"namespaces_count":3,"keywords_count":915,"github":"debian","metadata":{"codename":"buster","mirror":"http://archive.debian.org/debian"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.156Z","updated_at":"2026-04-27T18:20:39.693Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/namespaces"}},{"id":13566887,"name":"ruby-open4","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/ahoward/open4","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/ahoward/open4","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:45:52.444Z","latest_release_published_at":"2026-02-11T06:45:52.444Z","latest_release_number":"1.3.4-2","last_synced_at":"2026-03-11T14:11:29.157Z","created_at":"2026-02-11T06:45:52.233Z","updated_at":"2026-03-11T14:11:29.158Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-open4","install_command":"apt-get install ruby-open4","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-open4","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:57:04.645Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-open4?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-open4/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.04","url":"https://launchpad.net/ubuntu/lunar","ecosystem":"ubuntu","default":false,"packages_count":36116,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-04-27T18:20:38.741Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/namespaces"}},{"id":13779435,"name":"ruby-open4","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/ahoward/open4","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/ahoward/open4","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T13:22:13.941Z","latest_release_published_at":"2026-02-13T13:22:13.941Z","latest_release_number":"1.3.4-1.1","last_synced_at":"2026-03-13T22:39:29.129Z","created_at":"2026-02-13T13:22:13.761Z","updated_at":"2026-03-13T22:39:29.129Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-open4","install_command":"apt-get install ruby-open4","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-open4","standards_version":"3.9.5","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 7.0.50~), gem2deb (\u003e= 0.3.0~)","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T13:22:14.568Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-open4?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-open4/codemeta","maintainers":[],"registry":{"name":"ubuntu-22.04","url":"https://launchpad.net/ubuntu/jammy","ecosystem":"ubuntu","default":false,"packages_count":34289,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"jammy"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-04-27T18:20:36.155Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/namespaces"}},{"id":13712948,"name":"ruby-open4","ecosystem":"debian","description":null,"homepage":"https://github.com/ahoward/open4","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/ahoward/open4","keywords_array":["ruby"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:36:59.846Z","latest_release_published_at":"2026-02-12T23:36:59.846Z","latest_release_number":"1.3.4-2","last_synced_at":"2026-03-13T23:43:41.295Z","created_at":"2026-02-12T23:36:59.667Z","updated_at":"2026-03-14T00:02:29.455Z","registry_url":"https://tracker.debian.org/pkg/ruby-open4","install_command":"apt-get install ruby-open4","documentation_url":"https://packages.debian.org/bookworm/ruby-open4","metadata":{"component":"main","architecture":"all","priority":"source","binary":"ruby-open4","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T23:37:00.433Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-open4?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-open4/codemeta","maintainers":[],"registry":{"name":"debian-12","url":"https://packages.debian.org/bookworm","ecosystem":"debian","default":true,"packages_count":34734,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"bookworm"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-04-27T18:20:38.992Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/namespaces"}},{"id":13530716,"name":"ruby-open4","ecosystem":"debian","description":null,"homepage":"https://github.com/ahoward/open4","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/ahoward/open4","keywords_array":["ruby"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-10T23:35:42.422Z","latest_release_published_at":"2026-02-10T23:35:42.422Z","latest_release_number":"1.3.4-1.1","last_synced_at":"2026-03-14T07:16:54.946Z","created_at":"2026-02-10T23:35:42.240Z","updated_at":"2026-03-14T07:16:54.947Z","registry_url":"https://tracker.debian.org/pkg/ruby-open4","install_command":"apt-get install ruby-open4","documentation_url":"https://packages.debian.org/bullseye/ruby-open4","metadata":{"component":"main","architecture":"all","priority":"source","binary":"ruby-open4","standards_version":"3.9.5","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 7.0.50~), gem2deb (\u003e= 0.3.0~)","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:26:43.882Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-open4?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-open4/codemeta","maintainers":[],"registry":{"name":"debian-11","url":"https://packages.debian.org/bullseye","ecosystem":"debian","default":false,"packages_count":31268,"maintainers_count":0,"namespaces_count":3,"keywords_count":0,"github":"debian","metadata":{"codename":"bullseye"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-04-27T18:20:39.352Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/namespaces"}},{"id":12287705,"name":"open4","ecosystem":"rubygems","description":"open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.","homepage":"https://github.com/ahoward/open4","licenses":"Ruby","normalized_licenses":["Ruby"],"repository_url":"https://github.com/ahoward/open4","keywords_array":[],"namespace":null,"versions_count":23,"first_release_published_at":"2009-07-25T18:04:01.000Z","latest_release_published_at":"2014-05-15T05:57:24.703Z","latest_release_number":"1.3.4","last_synced_at":"2026-04-29T15:48:36.088Z","created_at":"2025-10-07T04:44:28.890Z","updated_at":"2026-04-29T15:48:36.088Z","registry_url":"https://gem.coop/gems/open4","install_command":"gem install open4 -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/open4/","metadata":{"funding":null},"repo_metadata":{"id":586819,"uuid":"220679","full_name":"ahoward/open4","owner":"ahoward","description":"open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.","archived":false,"fork":false,"pushed_at":"2023-11-28T22:45:47.000Z","size":349,"stargazers_count":190,"open_issues_count":12,"forks_count":27,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-03-30T23:05:16.532Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/ahoward.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2009-06-07T04:23:26.000Z","updated_at":"2026-02-20T11:19:42.000Z","dependencies_parsed_at":"2024-02-26T01:46:54.935Z","dependency_job_id":"d76262b0-c5c5-4f69-84eb-f50754dfa916","html_url":"https://github.com/ahoward/open4","commit_stats":{"total_commits":30,"total_committers":9,"mean_commits":"3.3333333333333335","dds":0.5333333333333333,"last_synced_commit":"2bc378285dcec9c88613fd4def57a58606c0680b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahoward/open4","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward","download_url":"https://codeload.github.com/ahoward/open4/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31491097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"last_error":"SSL_read: 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_record":{"login":"ahoward","name":"ara.t.howard","uuid":"6094","kind":"user","description":"program computers.  run around in mountains.  repeat.","email":"","website":"https://www.instagram.com/drawohara/","location":"Palmer, Alaska","twitter":"drawohara","company":"https://www.matanuskafrontiertrek.com/","icon_url":"https://avatars.githubusercontent.com/u/6094?v=4","repositories_count":162,"last_synced_at":"2023-04-09T05:11:03.110Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ahoward","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T16:20:35.854Z","updated_at":"2023-04-09T05:11:03.984Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-04-27T14:10:56.262Z","dependent_packages_count":0,"downloads":142322689,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.17517111622927953,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.19841913474119005,"average":0.0933975627426174},"purl":"pkg:gem/open4?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/open4","docker_dependents_count":361,"docker_downloads_count":498808215,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-14T12:20:17.359Z","issues_count":17,"pull_requests_count":15,"avg_time_to_close_issue":69278978.1,"avg_time_to_close_pull_request":50175418.6,"issues_closed_count":10,"pull_requests_closed_count":10,"pull_request_authors_count":14,"issue_authors_count":17,"avg_comments_per_issue":1.5882352941176472,"avg_comments_per_pull_request":1.0,"merged_pull_requests_count":7,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/issues","maintainers":[{"login":"zenspider","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zenspider"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/open4/codemeta","maintainers":[{"uuid":"207","login":"tenderlove","name":null,"email":null,"url":null,"packages_count":190,"html_url":"https://gem.coop/profiles/tenderlove","role":null,"created_at":"2025-10-08T01:18:47.105Z","updated_at":"2025-10-08T01:18:47.105Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/tenderlove/packages"},{"uuid":"3215","login":"tarcieri","name":null,"email":null,"url":null,"packages_count":126,"html_url":"https://gem.coop/profiles/tarcieri","role":null,"created_at":"2025-10-08T01:18:47.068Z","updated_at":"2025-10-08T01:18:47.068Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/tarcieri/packages"},{"uuid":"41522","login":"bbazzarrakk","name":null,"email":null,"url":null,"packages_count":58,"html_url":"https://gem.coop/profiles/bbazzarrakk","role":null,"created_at":"2025-10-08T01:18:47.145Z","updated_at":"2025-10-08T01:18:47.145Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/bbazzarrakk/packages"},{"uuid":"36299","login":"shreeve","name":null,"email":null,"url":null,"packages_count":79,"html_url":"https://gem.coop/profiles/shreeve","role":null,"created_at":"2025-10-08T01:18:47.199Z","updated_at":"2025-10-08T01:18:47.199Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/shreeve/packages"},{"uuid":"24379","login":"nwitmer","name":null,"email":null,"url":null,"packages_count":51,"html_url":"https://gem.coop/profiles/nwitmer","role":null,"created_at":"2025-10-08T01:18:47.235Z","updated_at":"2025-10-08T01:18:47.235Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/nwitmer/packages"},{"uuid":"1882","login":"mikel","name":null,"email":null,"url":null,"packages_count":57,"html_url":"https://gem.coop/profiles/mikel","role":null,"created_at":"2025-10-08T01:18:47.271Z","updated_at":"2025-10-08T01:18:47.271Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/mikel/packages"},{"uuid":"16104","login":"science","name":null,"email":null,"url":null,"packages_count":52,"html_url":"https://gem.coop/profiles/science","role":null,"created_at":"2025-10-08T01:18:47.307Z","updated_at":"2025-10-08T01:18:47.307Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/science/packages"},{"uuid":"77801","login":"tcopeland","name":null,"email":null,"url":null,"packages_count":61,"html_url":"https://gem.coop/profiles/tcopeland","role":null,"created_at":"2025-10-08T01:18:47.343Z","updated_at":"2025-10-08T01:18:47.343Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/tcopeland/packages"},{"uuid":"45069","login":"ahoward","name":null,"email":null,"url":null,"packages_count":102,"html_url":"https://gem.coop/profiles/ahoward","role":null,"created_at":"2025-10-08T01:18:47.382Z","updated_at":"2025-10-08T01:18:47.382Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/ahoward/packages"},{"uuid":"2966","login":"zenspider","name":null,"email":null,"url":null,"packages_count":103,"html_url":"https://gem.coop/profiles/zenspider","role":null,"created_at":"2025-10-08T01:18:47.422Z","updated_at":"2025-10-08T01:18:47.422Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/zenspider/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190389,"maintainers_count":67476,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":13761593,"name":"ruby-open4","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/ahoward/open4","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/ahoward/open4","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T09:53:56.920Z","latest_release_published_at":"2026-02-13T09:53:56.920Z","latest_release_number":"1.3.4-2","last_synced_at":"2026-03-13T12:14:53.658Z","created_at":"2026-02-13T09:53:56.662Z","updated_at":"2026-03-13T12:31:15.483Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-open4","install_command":"apt-get install ruby-open4","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-open4","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T09:53:57.478Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-open4?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-open4/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-04-27T18:20:37.303Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/namespaces"}},{"id":13950285,"name":"ruby-open4","ecosystem":"guix","description":"Open child processes from Ruby and manage them easily","homepage":"https://github.com/ahoward/open4","licenses":"ruby","normalized_licenses":["Ruby"],"repository_url":"https://github.com/ahoward/open4","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T18:54:17.998Z","latest_release_published_at":"2026-03-02T18:54:17.998Z","latest_release_number":"1.3.4","last_synced_at":"2026-04-27T16:19:50.305Z","created_at":"2026-03-02T18:54:17.816Z","updated_at":"2026-04-27T16:19:50.306Z","registry_url":"https://packages.guix.gnu.org/packages/ruby-open4/1.3.4/","install_command":"guix install ruby-open4","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ruby-xyz.scm#n2604","metadata":{"location":"gnu/packages/ruby-xyz.scm:2604","variable_name":"ruby-open4"},"repo_metadata":{},"repo_metadata_updated_at":"2026-04-03T00:24:29.910Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:guix/ruby-open4","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/ruby-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/ruby-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/ruby-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-open4/codemeta","maintainers":[],"registry":{"name":"guix","url":"https://guix.gnu.org","ecosystem":"guix","default":true,"packages_count":31189,"maintainers_count":0,"namespaces_count":0,"keywords_count":0,"github":"guix-mirror","metadata":{"funded_packages_count":286},"icon_url":"https://github.com/guix-mirror.png","created_at":"2026-03-02T16:23:46.981Z","updated_at":"2026-04-03T06:23:21.396Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/guix/namespaces"}},{"id":12179744,"name":"ahoward-open4","ecosystem":"rubygems","description":"open4","homepage":"http://github.com/ahoward/open4/tree/master","licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/ahoward/open4","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2014-08-11T08:38:11.684Z","latest_release_published_at":"2014-08-11T08:38:11.684Z","latest_release_number":"1.0.0","last_synced_at":"2026-04-27T15:00:43.522Z","created_at":"2025-10-06T23:52:27.388Z","updated_at":"2026-04-27T15:00:43.522Z","registry_url":"https://gem.coop/gems/ahoward-open4","install_command":"gem install ahoward-open4 -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/ahoward-open4/","metadata":{"funding":null},"repo_metadata":{"id":586819,"uuid":"220679","full_name":"ahoward/open4","owner":"ahoward","description":"open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.","archived":false,"fork":false,"pushed_at":"2023-11-28T22:45:47.000Z","size":349,"stargazers_count":190,"open_issues_count":12,"forks_count":27,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-03-30T23:05:16.532Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/ahoward.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2009-06-07T04:23:26.000Z","updated_at":"2026-02-20T11:19:42.000Z","dependencies_parsed_at":"2024-02-26T01:46:54.935Z","dependency_job_id":"d76262b0-c5c5-4f69-84eb-f50754dfa916","html_url":"https://github.com/ahoward/open4","commit_stats":{"total_commits":30,"total_committers":9,"mean_commits":"3.3333333333333335","dds":0.5333333333333333,"last_synced_commit":"2bc378285dcec9c88613fd4def57a58606c0680b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahoward/open4","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward","download_url":"https://codeload.github.com/ahoward/open4/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31491097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"last_error":"SSL_read: 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_record":{"login":"ahoward","name":"ara.t.howard","uuid":"6094","kind":"user","description":"program computers.  run around in mountains.  repeat.","email":"","website":"https://www.instagram.com/drawohara/","location":"Palmer, Alaska","twitter":"drawohara","company":"https://www.matanuskafrontiertrek.com/","icon_url":"https://avatars.githubusercontent.com/u/6094?v=4","repositories_count":162,"last_synced_at":"2023-04-09T05:11:03.110Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ahoward","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T16:20:35.854Z","updated_at":"2023-04-09T05:11:03.984Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-04-25T14:06:24.029Z","dependent_packages_count":0,"downloads":4637,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":81.02971027864919,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":27.009903426216397},"purl":"pkg:gem/ahoward-open4?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/ahoward-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/ahoward-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/ahoward-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-14T12:20:17.359Z","issues_count":17,"pull_requests_count":15,"avg_time_to_close_issue":69278978.1,"avg_time_to_close_pull_request":50175418.6,"issues_closed_count":10,"pull_requests_closed_count":10,"pull_request_authors_count":14,"issue_authors_count":17,"avg_comments_per_issue":1.5882352941176472,"avg_comments_per_pull_request":1.0,"merged_pull_requests_count":7,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/issues","maintainers":[{"login":"zenspider","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zenspider"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/ahoward-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/ahoward-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/ahoward-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/ahoward-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/ahoward-open4/codemeta","maintainers":[],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190389,"maintainers_count":67476,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":152603,"name":"ahoward-open4","ecosystem":"rubygems","description":"open4","homepage":"http://github.com/ahoward/open4/tree/master","licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/ahoward/open4","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2014-08-11T08:38:11.684Z","latest_release_published_at":"2014-08-11T08:38:11.684Z","latest_release_number":"1.0.0","last_synced_at":"2026-04-27T15:01:07.707Z","created_at":"2022-04-05T16:47:53.113Z","updated_at":"2026-04-27T15:01:07.707Z","registry_url":"https://rubygems.org/gems/ahoward-open4","install_command":"gem install ahoward-open4 -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/ahoward-open4/","metadata":{"funding":null},"repo_metadata":{"id":586819,"uuid":"220679","full_name":"ahoward/open4","owner":"ahoward","description":"open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.","archived":false,"fork":false,"pushed_at":"2023-11-28T22:45:47.000Z","size":349,"stargazers_count":190,"open_issues_count":12,"forks_count":27,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-03-30T23:05:16.532Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/ahoward.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2009-06-07T04:23:26.000Z","updated_at":"2026-02-20T11:19:42.000Z","dependencies_parsed_at":"2024-02-26T01:46:54.935Z","dependency_job_id":"d76262b0-c5c5-4f69-84eb-f50754dfa916","html_url":"https://github.com/ahoward/open4","commit_stats":{"total_commits":30,"total_committers":9,"mean_commits":"3.3333333333333335","dds":0.5333333333333333,"last_synced_commit":"2bc378285dcec9c88613fd4def57a58606c0680b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahoward/open4","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward","download_url":"https://codeload.github.com/ahoward/open4/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31491097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"last_error":"SSL_read: 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_record":{"login":"ahoward","name":"ara.t.howard","uuid":"6094","kind":"user","description":"program computers.  run around in mountains.  repeat.","email":"","website":"https://www.instagram.com/drawohara/","location":"Palmer, Alaska","twitter":"drawohara","company":"https://www.matanuskafrontiertrek.com/","icon_url":"https://avatars.githubusercontent.com/u/6094?v=4","repositories_count":162,"last_synced_at":"2023-04-09T05:11:03.110Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ahoward","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T16:20:35.854Z","updated_at":"2023-04-09T05:11:03.984Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahoward/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-04-25T23:24:15.337Z","dependent_packages_count":0,"downloads":4637,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":72.53969163753081,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":3.69003267037313,"forks_count":4.931506849315069,"average":28.729824597801148},"purl":"pkg:gem/ahoward-open4","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/ahoward-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/ahoward-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/ahoward-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-14T12:20:17.359Z","issues_count":17,"pull_requests_count":15,"avg_time_to_close_issue":69278978.1,"avg_time_to_close_pull_request":50175418.6,"issues_closed_count":10,"pull_requests_closed_count":10,"pull_request_authors_count":14,"issue_authors_count":17,"avg_comments_per_issue":1.5882352941176472,"avg_comments_per_pull_request":1.0,"merged_pull_requests_count":7,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/issues","maintainers":[{"login":"zenspider","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zenspider"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ahoward-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ahoward-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ahoward-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ahoward-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ahoward-open4/codemeta","maintainers":[],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205536,"maintainers_count":68468,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":13407053,"name":"ruby-open4","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/ahoward/open4","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/ahoward/open4","keywords_array":["universe/ruby"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-06T15:42:34.984Z","latest_release_published_at":"2026-02-06T15:42:34.984Z","latest_release_number":"1.3.4-2","last_synced_at":"2026-03-06T16:02:58.795Z","created_at":"2026-02-06T15:42:34.617Z","updated_at":"2026-03-06T16:02:58.795Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-open4","install_command":"apt-get install ruby-open4","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-open4","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:deb/ubuntu/ruby-open4?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-open4/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"noble"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-27T18:20:35.701Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/namespaces"}},{"id":13669297,"name":"ruby-open4","ecosystem":"debian","description":null,"homepage":"https://github.com/ahoward/open4","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/ahoward/open4","keywords_array":["ruby"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:35:37.392Z","latest_release_published_at":"2026-02-12T12:35:37.392Z","latest_release_number":"1.3.4-3","last_synced_at":"2026-03-14T18:10:50.589Z","created_at":"2026-02-12T12:35:36.857Z","updated_at":"2026-03-14T18:10:50.589Z","registry_url":"https://tracker.debian.org/pkg/ruby-open4","install_command":"apt-get install ruby-open4","documentation_url":"https://packages.debian.org/trixie/ruby-open4","metadata":{"component":"main","architecture":"all","priority":"source","binary":"ruby-open4","standards_version":"4.7.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T12:38:56.026Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-open4?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-open4","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-open4","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-open4/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-open4/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-open4/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-open4/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-open4/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-open4/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"trixie"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-04-27T18:20:39.853Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}}],"commits":{"id":19358,"full_name":"ahoward/open4","default_branch":"master","total_commits":30,"total_committers":9,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":3.3333333333333335,"dds":0.5333333333333333,"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-04-27T15:04:05.583Z","last_synced_commit":"2bc378285dcec9c88613fd4def57a58606c0680b","created_at":"2023-03-07T11:40:51.948Z","updated_at":"2026-04-27T15:03:38.229Z","committers":[{"name":"ara.t.howard","email":"ara.t.howard@gmail.com","login":"ahoward","count":14},{"name":"Tuomas Kareinen","email":"tkareine@gmail.com","login":"tkareine","count":5},{"name":"Ram Ranganathan","email":"ramr@redhat.com","login":null,"count":3},{"name":"Ryan Davis","email":"ryand-ruby@zenspider.com","login":"zenspider","count":2},{"name":"Ronald Tschalär","email":"ronald@innovation.ch","login":"roadrunner2","count":2},{"name":"SHIBATA Hiroshi","email":"shibata.hiroshi@gmail.com","login":"hsbt","count":1},{"name":"Eric Lindvall","email":"eric@5stops.com","login":"eric","count":1},{"name":"Dan Peterson","email":"dpiddy@gmail.com","login":"danp","count":1},{"name":"Danish Khan","email":"danishkhan@danishkhan.org","login":null,"count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-28T00:00:07.369Z","repositories_count":6220948,"commits_count":899916406,"contributors_count":34884604,"owners_count":1146659,"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":"ahoward/open4","html_url":"https://github.com/ahoward/open4","last_synced_at":"2026-04-14T12:20:17.359Z","status":"error","issues_count":17,"pull_requests_count":15,"avg_time_to_close_issue":69278978.1,"avg_time_to_close_pull_request":50175418.6,"issues_closed_count":10,"pull_requests_closed_count":10,"pull_request_authors_count":14,"issue_authors_count":17,"avg_comments_per_issue":1.5882352941176472,"avg_comments_per_pull_request":1.0,"merged_pull_requests_count":7,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-12T07:36:19.809Z","updated_at":"2026-04-14T12:20:17.359Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahoward%2Fopen4/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":17},"pull_request_author_associations_count":{"NONE":10,"CONTRIBUTOR":4,"COLLABORATOR":1},"issue_authors":{"bkabrda":1,"sjuxax":1,"kwerle":1,"m-o-e":1,"Hanmac":1,"astrostl":1,"chrisvroberts":1,"nirvdrum":1,"scycheng":1,"x-yuri":1,"poulh":1,"stnoonan":1,"hongbin":1,"paulvt":1,"Praveen-s":1,"ralfebert":1,"zimbatm":1},"pull_request_authors":{"roadrunner2":2,"Nucc":1,"micwoj92":1,"meanphil":1,"ramr":1,"simonista":1,"mtasaka":1,"sferik":1,"segiddins":1,"danishkhan":1,"tkareine":1,"zenspider":1,"hsbt":1,"ToadJamb":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-19T00:00:13.985Z","repositories_count":14325257,"issues_count":34519107,"pull_requests_count":112900485,"authors_count":11238487,"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":"zenspider","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zenspider"}],"active_maintainers":[]},"events":{"total":{},"last_year":{}},"keywords":[],"dependencies":[{"ecosystem":"rubygems","filepath":"open4.gemspec","sha":null,"kind":"manifest","created_at":"2024-02-26T01:46:54.874Z","updated_at":"2024-02-26T01:46:54.874Z","repository_link":"https://github.com/ahoward/open4/blob/master/open4.gemspec","dependencies":[]}],"score":28.47734737262257,"created_at":"2024-12-15T21:38:07.157Z","updated_at":"2026-04-30T16:30:21.497Z","avatar_url":"https://github.com/ahoward.png","language":"Ruby","monthly_downloads":0,"readme":"URIS\n\n  http://rubyforge.org/projects/codeforpeople/\n  http://www.codeforpeople.com/lib/ruby/\n\nSYNOPSIS\n\n  open child process with handles on pid, stdin, stdout, and stderr: manage\n  child processes and their io handles easily.\n\nINSTALL\n\n  ~\u003e gem install open4\n\nSAMPLES\n\n  ----------------------------------------------------------------------------\n  simple usage\n  ----------------------------------------------------------------------------\n\n    harp: \u003e cat sample/simple.rb\n    require \"open4\"\n\n    pid, stdin, stdout, stderr = Open4::popen4 \"sh\"\n\n    stdin.puts \"echo 42.out\"\n    stdin.puts \"echo 42.err 1\u003e\u00262\"\n    stdin.close\n\n    ignored, status = Process::waitpid2 pid\n\n    puts \"pid        : #{ pid }\"\n    puts \"stdout     : #{ stdout.read.strip }\"\n    puts \"stderr     : #{ stderr.read.strip }\"\n    puts \"status     : #{ status.inspect }\"\n    puts \"exitstatus : #{ status.exitstatus }\"\n\n\n    harp: \u003e ruby sample/simple.rb\n    pid        : 17273\n    stdout     : 42.out\n    stderr     : 42.err\n    status     : #\u003cProcess::Status: pid=17273,exited(0)\u003e\n    exitstatus : 0\n\n\n  ----------------------------------------------------------------------------\n  in block form - the child process is automatically waited for\n  ----------------------------------------------------------------------------\n\n    harp: \u003e cat sample/block.rb\n    require 'open4'\n\n    status =\n      Open4::popen4(\"sh\") do |pid, stdin, stdout, stderr|\n        stdin.puts \"echo 42.out\"\n        stdin.puts \"echo 42.err 1\u003e\u00262\"\n        stdin.close\n\n        puts \"pid        : #{ pid }\"\n        puts \"stdout     : #{ stdout.read.strip }\"\n        puts \"stderr     : #{ stderr.read.strip }\"\n      end\n\n        puts \"status     : #{ status.inspect }\"\n        puts \"exitstatus : #{ status.exitstatus }\"\n\n\n    harp: \u003e ruby sample/block.rb\n    pid        : 17295\n    stdout     : 42.out\n    stderr     : 42.err\n    status     : #\u003cProcess::Status: pid=17295,exited(0)\u003e\n    exitstatus : 0\n\n  ----------------------------------------------------------------------------\n  exceptions are marshaled from child to parent if fork/exec fails\n  ----------------------------------------------------------------------------\n\n    harp: \u003e cat sample/exception.rb\n    require \"open4\"\n    Open4::popen4 \"noexist\"\n\n\n    harp: \u003e ruby sample/exception.rb\n    /dmsp/reference/ruby-1.8.1//lib/ruby/site_ruby/open4.rb:100:in `popen4': No such file or directory - noexist (Errno::ENOENT)\n            from sample/exception.rb:3\n\n  ----------------------------------------------------------------------------\n  the spawn method provides and even more convenient method of running a\n  process, allowing any object that supports 'each', 'read', or 'to_s' to be\n  given as stdin and any objects that support '\u003c\u003c' to be given as\n  stdout/stderr.  an exception is thrown if the exec'd cmd fails (nonzero\n  exitstatus) unless the option 'raise'=\u003efalse is given\n  ----------------------------------------------------------------------------\n  \n    harp: \u003e cat sample/spawn.rb\n    require 'open4'\n    include Open4\n\n    cat = '  ruby -e\"  ARGF.each{|line| STDOUT \u003c\u003c line}  \"  '\n\n    stdout, stderr = '', ''\n    status = spawn cat, 'stdin' =\u003e '42', 'stdout' =\u003e stdout, 'stderr' =\u003e stderr\n    p status\n    p stdout\n    p stderr\n\n    stdout, stderr = '', ''\n    status = spawn cat, 0=\u003e'42', 1=\u003estdout, 2=\u003estderr\n    p status\n    p stdout\n    p stderr\n\n\n    harp: \u003e RUBYLIB=lib ruby sample/spawn.rb\n    0\n    \"42\"\n    \"\"\n    0\n    \"42\"\n    \"\"\n\n\n  ----------------------------------------------------------------------------\n  the bg/background method is similar to spawn, but the process is\n  automatically set running in a thread.  the returned thread has several\n  methods added dynamically which return the pid and blocking calls to the\n  exitstatus.\n  ----------------------------------------------------------------------------\n\n    harp: \u003e cat sample/bg.rb\n    require 'yaml'\n    require 'open4'\n    include Open4\n\n    stdin = '42'\n    stdout = ''\n    stderr = ''\n\n    t = bg 'ruby -e\"sleep 4; puts ARGF.read\"', 0=\u003estdin, 1=\u003estdout, 2=\u003estderr\n\n    waiter = Thread.new{ y t.pid =\u003e t.exitstatus } # t.exitstatus is a blocking call!\n\n    while((status = t.status))\n      y \"status\" =\u003e status\n      sleep 1\n    end\n\n    waiter.join\n\n    y \"stdout\" =\u003e stdout\n\n\n    harp: \u003e ruby sample/bg.rb\n    ---\n    status: run\n    ---\n    status: sleep\n    ---\n    status: sleep\n    ---\n    status: sleep\n    ---\n    21357: 0\n    ---\n    stdout: \"42\\n\"\n\n  ----------------------------------------------------------------------------\n  the timeout methods can be used to ensure execution is preceding at the\n  desired interval.  note also how to setup a 'pipeline'\n  ----------------------------------------------------------------------------\n\n    harp: \u003e cat sample/stdin_timeout.rb\n    require 'open4'\n\n    producer = 'ruby -e\" STDOUT.sync = true; loop{sleep(rand+rand) and puts 42} \"'\n\n    consumer = 'ruby -e\" STDOUT.sync = true; STDIN.each{|line| puts line} \"'\n\n    open4(producer) do |pid, i, o, e|\n\n      open4.spawn consumer, :stdin=\u003eo, :stdout=\u003eSTDOUT, :stdin_timeout =\u003e 1.4\n\n    end\n\n\n    harp: \u003e ruby sample/stdin_timeout.rb\n    42\n    42\n    42\n    42\n    42\n    /dmsp/reference/ruby-1.8.1//lib/ruby/1.8/timeout.rb:42:in `relay': execution expired (Timeout::Error)\n\n  ----------------------------------------------------------------------------\n  pfork4 is similar to popen4, but instead of executing a command, it runs\n  ruby code in a child process. if the child process raises an exception, it\n  propagates to the parent.\n  ----------------------------------------------------------------------------\n\n    harp: \u003e cat sample/pfork4.rb\n    require 'open4'\n\n    echo = lambda do\n      $stdout.write $stdin.read\n      raise 'finish implementing me'\n    end\n\n    org_message = \"hello, world!\"\n    got_message = nil\n    exception   = nil\n\n    begin\n      Open4.pfork4(echo) do |cid, stdin, stdout, stderr|\n        stdin.write org_message\n        stdin.close\n        got_message = stdout.read\n      end\n    rescue RuntimeError =\u003e e\n      exception = e.to_s\n    end\n\n    puts \"org_message: #{org_message}\"\n    puts \"got_message: #{got_message}\"\n    puts \"exception  : #{exception}\"\n\n\n    harp: \u003e ruby sample/pfork4.rb\n    org_message: hello, world!\n    got_message: hello, world!\n    exception  : finish implementing me\n\nHISTORY\n  1.0.0\n    - added ability for spawn to take a proc (respond_to?(:call))\n\n      cmd = ' ruby -e\" 42.times{ puts 0b101010 } \" '\n      include Open4\n      spawn cmd, :stdout =\u003e lambda{|buf| puts buf} \n\n\n  0.9.5:\n    - another patch from Corey Jewett, this time dealing with ruby's handling\n      of chdir and threads.  basically the 'cwd' keyword to open4 cannot work\n      with multiple threads (aka background) because ruby cannot cause green\n      threads to have an actuall different working dir.  the moral is that the\n      :cwd/'cwd' keyword to spawn will work with 0 or 1 threads in effect.\n  \n  0.9.4:\n    - patch to #background from Corey Jewett\n\n\n  0.9.3:\n    - removed some debugging output accidentally left in 0.9.2.  arggh!\n\n  0.9.2:\n    - fixed a descriptor leak.  thanks Andre Nathan.\n\n  0.9.1:\n    - fixed warning with '-w' : @cid not initialized.  thanks blaise tarr.\n\n  0.9.0:\n    - added the ability for open4.spawn to take either an array of arguments\n      or multiple arguments in order to specify the argv for the command run.\n      for example\n\n        open4.spawn ['touch', 'difficult to \"quote\"'], :stdout=\u003eSTDOUT\n\n      same thing\n\n        open4.spawn 'touch', 'difficult to \"quote\"', :stdout=\u003eSTDOUT\n\n      thanks to jordan breeding for this suggestion\n\n\n    - added 'cwd'/:cwd keyword.  usage is pretty obivous\n\n        open4.spawn 'pwd', 1=\u003eSTDOUT, :cwd=\u003e'/tmp'   #=\u003e /tmp\n\n      this one also from jordan\n\n  0.8.0:\n\n    - fixed a critical bug whereby a process producing tons of stdout, but for\n      which the stdout was not handled, would cause the child process to\n      become blocked/hung writing to the pipe.  eg, this command would cause a\n      hang\n\n        include Open4\n\n        spawn 'ruby -e\"  puts Array.new(65536){ 42 }  \"'\n\n      whereas this one would not\n\n        include Open4\n\n        spawn 'ruby -e\"  puts Array.new(65536){ 42 }  \"', :stdout=\u003eStringIO.new\n\n      this version handles the former by spawning a 'null' thread which reads,\n      but does not process stdout/stderr.  that way commands which generate\n      tons of output will never become blocked.\n\n  0.7.0:\n    - merged functionality of exitstatus/status keywords:\n\n        include Open4\n\n        spawn 'ruby -e \"exit 42\"'                 # raises \n        spawn 'ruby -e \"exit 42\"', :status=\u003etrue  # ok, returns status\n        spawn 'ruby -e \"exit 42\"', :status=\u003e42    # raises if status != 42\n        spawn 'ruby -e \"exit 42\"', :status=\u003e0,42  # raises if status != 0||42\n\n    - the 0.6.0 was broken on rubyforge... this release fixes that (somehow!?)\n\n  0.6.0:\n    - added feature for exitstatus to be list of acceptable exit statuses\n\n        Open4.spawn 'ruby -e \"exit 42\"'                      # raises\n        Open4.spawn 'ruby -e \"exit 42\"', :exitstatus=\u003e[0,42] # ok\n\n    - added :status switch, which will always simply return the status (no\n      error thrown for failure)\n\n        Open4.spawn 'ruby -e \"exit 42\"'                          # raises \n        status = Open4.spawn 'ruby -e \"exit 42\"', :status=\u003etrue  # ok \n\n      note, however, that any SpawnError does in fact contain the failed\n      status so, even when they are thrown, error status can be retrieved:\n\n        include Open4\n\n        status =\n          begin\n            spawn 'ruby -e \"exit 42\"'\n          rescue SpawnError =\u003e e\n            warn{ e }\n            e.status\n          end\n\n  0.5.1:\n    - fixes a __critical__ but in ThreadEnsemble class that had a race\n      condition that could cause thread deadlock.  sorry bout that folks.\n\n  0.5.0:\n    - on the suggestion of tim pease (thanks tim!), i added timeout features\n      to open4.  the command run may have an overall timeout and individual\n      timeouts set for each of the io handles.  for example\n\n        cmd = 'command_that_produce_out_at_one_second_intervals'\n\n        open4.spawn cmd, :stdout_timeout =\u003e 2 \n\n      or \n\n        cmd = 'command_that_should_complete_in_about_one_minute'\n\n        open4.spawn cmd, :timeout =\u003e 60\n\n      or\n\n        cmd = 'consumes_input_at_one_line_per_second_rate'\n\n        input = %w( 42 forty-two 42.0 )\n\n        open4.spawn cmd, :stdin=\u003einput, :stdin_timeout=\u003e1\n\n    - added 'open4' alias so one can write\n\n        open4.spawn  vs Open4.spawn\n\n      or even\n\n        open4(cmd) do |pid,i,o,e|\n        end\n\n    - added signal info to SpawnError\n\n  0.4.0:\n    - improved error handling contributed by jordan breeding.\n    - introduction of background/bg method\n\n  0.3.0 :\n    - bug fix from jordan breeding.  general clean up.  added spawn method.\n\n  0.2.0 :\n    - added exception marshaled from child -\u003e parent when exec fails.  thanks\n      to jordan breeding for a patch (yay!) and paul brannan for this most\n      excellent idea.\n\n  0.1.0 :\n    - fixed docs to correctly show return value of popen4 (pid first not last).\n      thanks Stefanie Tellex \u003cstefie10@alum.mit.edu\u003e for catching this. \n  0.0.0 :\n    - initial version\n\nAUTHOR\n\n  ara.t.howard@gmail.com\n\nLICENSE\n\n  ruby's\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["rubygems","activerecord","activejob","mvc","deployment","background-jobs","feature-flag"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/161","html_url":"https://ruby.ecosyste.ms/projects/161"}