{"id":4259286,"name":"reducer","ecosystem":"cargo","description":"A predictable reactive framework for Rust apps","homepage":null,"licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/brunocodutra/reducer","keywords_array":["redux","flux","state","reactive"],"namespace":null,"versions_count":15,"first_release_published_at":"2019-01-05T16:36:40.989Z","latest_release_published_at":"2022-04-12T21:11:47.859Z","latest_release_number":"3.0.1","last_synced_at":"2026-07-21T17:06:15.735Z","created_at":"2022-04-13T00:44:18.800Z","updated_at":"2026-07-21T17:06:15.735Z","registry_url":"https://crates.io/crates/reducer/","install_command":"cargo install reducer","documentation_url":"https://docs.rs/reducer/","metadata":{"categories":["gui","asynchronous"]},"repo_metadata":{"id":33962463,"uuid":"148380859","full_name":"brunocodutra/reducer","owner":"brunocodutra","description":"A predictable reactive framework for Rust apps inspired by Redux","archived":false,"fork":false,"pushed_at":"2024-09-28T03:30:58.000Z","size":298,"stargazers_count":59,"open_issues_count":6,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-01T02:50:58.056Z","etag":null,"topics":["flux-architecture","reactive-programming"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/reducer","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brunocodutra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"publiccode":null,"codemeta":null}},"created_at":"2018-09-11T21:11:31.000Z","updated_at":"2025-02-19T02:00:50.000Z","dependencies_parsed_at":"2024-01-20T18:04:27.498Z","dependency_job_id":"f4263187-73d0-4a1b-abc0-332834cbade7","html_url":"https://github.com/brunocodutra/reducer","commit_stats":{"total_commits":274,"total_committers":3,"mean_commits":91.33333333333333,"dds":0.08759124087591241,"last_synced_commit":"ae3548e5fd1fdd175ccb082ac327ee05b901c167"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/brunocodutra/reducer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brunocodutra","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/sbom","scorecard":{"id":255302,"data":{"date":"2025-08-11","repo":{"name":"github.com/brunocodutra/reducer","commit":"ae3548e5fd1fdd175ccb082ac327ee05b901c167"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/15 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/cd.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cd.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/cd.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:102: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:115: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:116: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:118: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:84: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/brunocodutra/reducer/ci.yml/master?enable=pin","Info:   0 out of  11 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  12 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/cd.yml:1","Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T09:33:37.130Z","repository_id":33962463,"created_at":"2025-08-17T09:33:37.130Z","updated_at":"2025-08-17T09:33:37.130Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277851890,"owners_count":25888542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-01T02:00:09.286Z","response_time":88,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"brunocodutra","name":"Bruno Dutra","uuid":"4043663","kind":"user","description":"","email":"","website":null,"location":"Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/4043663?u=718cfaf6560b585eabd5ce73302883b2e39aaa21\u0026v=4","repositories_count":14,"last_synced_at":"2024-04-19T18:59:35.184Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/brunocodutra","funding_links":[],"total_stars":581,"followers":43,"following":11,"created_at":"2022-11-03T08:59:27.887Z","updated_at":"2024-04-19T18:59:38.646Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brunocodutra","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brunocodutra/repositories"},"tags":[{"name":"v3.0.1","sha":"01104e9be7adfd282b04c88d2d829440b465d0fa","kind":"commit","published_at":"2022-04-12T21:06:07.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v3.0.1","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"33bb903fb20d38399af96ff56d59f97d7f4e827a","kind":"commit","published_at":"2021-08-22T15:46:32.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v3.0.0","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v3.0.0/manifests"},{"name":"v2.1.1","sha":"940512cc9a251e16d37e5e91f04a07bbefab4e48","kind":"commit","published_at":"2020-05-23T14:35:13.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v2.1.1","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"febcd712ff87e93674d3a26caf7c9618b7bbc77a","kind":"commit","published_at":"2020-05-23T11:17:47.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v2.1.0","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"a72a0d8d05f021518a6ec74f9079fb34b87f0288","kind":"commit","published_at":"2020-01-12T22:45:20.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v2.0.0","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.0.0/manifests"},{"name":"v2.0.0-beta.1","sha":"4706d76d1d69e600c6f318e6187f8f374f584c31","kind":"commit","published_at":"2020-01-05T17:58:16.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v2.0.0-beta.1","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v2.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v2.0.0-beta.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.0.0-beta.1/manifests"},{"name":"v2.0.0-alpha.3","sha":"e56d17f37b8a243a6176162112b83011c2a85639","kind":"commit","published_at":"2019-09-28T14:11:17.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v2.0.0-alpha.3","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v2.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v2.0.0-alpha.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.0.0-alpha.3/manifests"},{"name":"v2.0.0-alpha.2","sha":"7f445e59ddf1ce60834d9c7662d9d6d8e43f922c","kind":"commit","published_at":"2019-08-03T18:45:46.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v2.0.0-alpha.2","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v2.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v2.0.0-alpha.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.0.0-alpha.2/manifests"},{"name":"v1.3.0","sha":"c24b8af8cd07801d0c4bbd24c9a7d4da7757feb4","kind":"commit","published_at":"2019-07-04T20:16:15.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v1.3.0","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.3.0/manifests"},{"name":"v2.0.0-alpha.1","sha":"faf4f9c4d4f0efffcb1ec00b02cac10356b6d834","kind":"commit","published_at":"2019-06-30T21:38:43.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v2.0.0-alpha.1","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v2.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v2.0.0-alpha.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v2.0.0-alpha.1/manifests"},{"name":"v1.2.1","sha":"f39d7e35e777869fed20a166e67a528a3d414af6","kind":"commit","published_at":"2019-06-14T21:08:33.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v1.2.1","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"ba8f82984f13e1dc5f167f9e87a85008cc1563f3","kind":"commit","published_at":"2019-06-02T15:16:03.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v1.2.0","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"9c66af612ca6992fba2e1390cd8a1b00d8e44bab","kind":"commit","published_at":"2019-02-05T22:50:31.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v1.1.1","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"28d949ea196e623385d8f843b5c1a569a4b0e27a","kind":"commit","published_at":"2019-01-30T22:48:42.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v1.1.0","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"49ddc67d77dc579b7b8718d19927f07a11ff814f","kind":"commit","published_at":"2019-01-05T16:34:15.000Z","download_url":"https://codeload.github.com/brunocodutra/reducer/tar.gz/v1.0.0","html_url":"https://github.com/brunocodutra/reducer/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brunocodutra/reducer@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2026-04-07T10:33:49.238Z","dependent_packages_count":0,"downloads":20787,"downloads_period":"total","dependent_repos_count":1,"rankings":{"downloads":19.562075498543496,"dependent_repos_count":16.5689116609362,"dependent_packages_count":36.17459568379814,"stargazers_count":16.455449697405477,"forks_count":30.774761819162322,"docker_downloads_count":null,"average":23.907158871969127},"purl":"pkg:cargo/reducer","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/cargo/reducer","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/cargo/reducer","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/cargo/reducer/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-01T02:37:54.868Z","issues_count":12,"pull_requests_count":107,"avg_time_to_close_issue":17293000.5,"avg_time_to_close_pull_request":2530030.4174757283,"issues_closed_count":10,"pull_requests_closed_count":103,"pull_request_authors_count":3,"issue_authors_count":3,"avg_comments_per_issue":1.75,"avg_comments_per_pull_request":1.1401869158878506,"merged_pull_requests_count":57,"bot_issues_count":10,"bot_pull_requests_count":66,"past_year_issues_count":0,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":7255885.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.6,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":5,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/brunocodutra%2Freducer/issues","maintainers":[{"login":"brunocodutra","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/brunocodutra"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/reducer/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/reducer/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/reducer/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/reducer/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/reducer/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/reducer/codemeta","maintainers":[{"uuid":"28335","login":"brunocodutra","name":"Bruno Dutra","email":null,"url":"https://github.com/brunocodutra","packages_count":3,"html_url":"https://crates.io/users/brunocodutra","role":null,"created_at":"2022-11-07T23:46:20.391Z","updated_at":"2022-11-07T23:46:20.391Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/maintainers/brunocodutra/packages"}]}