{"id":243202,"name":"trifecta","ecosystem":"hackage","description":"A modern parser combinator library with slicing and Clang-style colored diagnostics\n\nFor example:","homepage":"http://github.com/ekmett/trifecta/","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/ekmett/trifecta","keywords_array":["bsd3","diagnostics","library","logging","parsing","pretty-printer","text","Propose Tags"],"namespace":null,"versions_count":93,"first_release_published_at":"2011-08-05T04:28:13.000Z","latest_release_published_at":"2024-02-07T15:52:11.000Z","latest_release_number":"2.1.4","latest_published_release_number":null,"last_synced_at":"2026-10-19T19:52:31.071Z","created_at":"2022-04-06T03:01:15.530Z","updated_at":"2026-10-19T19:52:55.289Z","registry_url":"https://hackage.haskell.org/package/trifecta","install_command":"cabal install trifecta","documentation_url":null,"metadata":{},"repo_metadata":{"id":46208800,"uuid":"2157751","full_name":"ekmett/trifecta","owner":"ekmett","description":"Parser combinators with highlighting, slicing, layout, literate comments, Clang-style diagnostics and the kitchen sink","archived":false,"fork":false,"pushed_at":"2025-03-03T12:19:22.000Z","size":1038,"stargazers_count":303,"open_issues_count":12,"forks_count":48,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-10-15T18:00:58.874Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://ekmett.github.com/trifecta/","language":"Haskell","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/ekmett.png","metadata":{"files":{"readme":"README.markdown","changelog":"CHANGELOG.markdown","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,"publiccode":null,"codemeta":null}},"created_at":"2011-08-04T23:59:03.000Z","updated_at":"2026-09-08T10:28:08.000Z","dependencies_parsed_at":"2025-03-18T07:10:24.572Z","dependency_job_id":null,"html_url":"https://github.com/ekmett/trifecta","commit_stats":{"total_commits":390,"total_committers":36,"mean_commits":"10.833333333333334","dds":0.441025641025641,"last_synced_commit":"ef7a96ad3b0651e721526f7c187eab8a51dacd97"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/ekmett/trifecta","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekmett","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/sbom","scorecard":{"id":370707,"data":{"date":"2025-08-11","repo":{"name":"github.com/ekmett/trifecta","commit":"281880d97796b71410ab0d3b2abb0c6c2d109a09"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 2/29 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":"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":"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":"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":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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":"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":"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":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: HaskellPropertyBasedTesting integration found: tests/QuickCheck.hs:11","Info: HaskellPropertyBasedTesting integration found: tests/QuickCheck.hs:11"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/haskell-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":"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/haskell-ci.yml:195: update your workflow using https://app.stepsecurity.io/secureworkflow/ekmett/trifecta/haskell-ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/haskell-ci.yml:237: update your workflow using https://app.stepsecurity.io/secureworkflow/ekmett/trifecta/haskell-ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/haskell-ci.yml:267: update your workflow using https://app.stepsecurity.io/secureworkflow/ekmett/trifecta/haskell-ci.yml/master?enable=pin","Info:   0 out of   3 GitHub-owned 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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 6 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-18T12:51:16.404Z","repository_id":46208800,"created_at":"2025-08-18T12:51:16.404Z","updated_at":"2025-08-18T12:51:16.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38368956,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-19T02:00:06.414Z","response_time":53,"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":"ekmett","name":"Edward Kmett","uuid":"304657","kind":"user","description":"I write a lot of Haskell.","email":"","website":"http://comonad.com","location":"Farmington Hills, MI","twitter":"kmett","company":"Groq","icon_url":"https://avatars.githubusercontent.com/u/304657?v=4","repositories_count":298,"last_synced_at":"2023-04-10T02:32:00.294Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ekmett","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T16:37:43.210Z","updated_at":"2023-04-10T02:32:01.377Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekmett","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekmett/repositories"},"tags":[{"name":"v2.1.4","sha":"c341f43621b10f37ee8194586ef0d31de65e76bf","kind":"commit","published_at":"2024-02-07T15:45:00.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v2.1.4","html_url":"https://github.com/ekmett/trifecta/releases/tag/v2.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v2.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2.1.4/manifests"},{"name":"v2.1.3","sha":"117f7301585fd4eb633ee9204cc6a8710e4dac8b","kind":"commit","published_at":"2023-08-07T12:45:28.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v2.1.3","html_url":"https://github.com/ekmett/trifecta/releases/tag/v2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v2.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2.1.3/manifests"},{"name":"v2.1.2","sha":"69089ecf77eb8be0b98867de41e87964960a4c65","kind":"commit","published_at":"2021-11-16T11:52:33.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v2.1.2","html_url":"https://github.com/ekmett/trifecta/releases/tag/v2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v2.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2.1.2/manifests"},{"name":"v2.1.1","sha":"654679a49d8f3ea818a7f351cca03fd9ca0d727a","kind":"commit","published_at":"2021-02-18T12:14:27.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v2.1.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2.1.1/manifests"},{"name":"v2.1","sha":"d90fa85ea489a9c6f9b9e794897fc1776b232156","kind":"commit","published_at":"2019-09-07T00:01:00.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v2.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2.1/manifests"},{"name":"v2","sha":"c89be798e839ad12d7f29394e3654375dc6cf948","kind":"commit","published_at":"2018-07-03T22:39:48.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v2","html_url":"https://github.com/ekmett/trifecta/releases/tag/v2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v2/manifests"},{"name":"v1.7.1.1","sha":"cac94c63ad28eb471e6ad0f1fea467fbf1ce926e","kind":"commit","published_at":"2017-08-03T07:25:04.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.7.1.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.7.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.7.1.1/manifests"},{"name":"v1.7.1","sha":"239548f8699b6d556b146296d5a8bcb277ce77ac","kind":"commit","published_at":"2017-07-28T21:45:09.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.7.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.7.1/manifests"},{"name":"v1.7","sha":"ea93f257e18e14699f8872a88bfd444c73df9155","kind":"commit","published_at":"2017-06-03T23:49:25.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.7","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.7/manifests"},{"name":"v1.6.2.1","sha":"7747f8e34591c589a4180942085ba83c2d87b3c5","kind":"commit","published_at":"2017-01-30T20:15:27.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.6.2.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.6.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.6.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.6.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.6.2.1/manifests"},{"name":"v1.6.2","sha":"35235c345253a781561a81817ef336c364ad84f8","kind":"commit","published_at":"2017-01-30T19:56:44.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.6.2","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"df2c4cbdcb2771effe1b0505f82a30966c812b1a","kind":"commit","published_at":"2016-11-23T18:42:25.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.6.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.6.1/manifests"},{"name":"v1.6","sha":"302d7f045db8a453c5c2f25513ba352e4f0f58bb","kind":"commit","published_at":"2016-07-03T03:59:29.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.6","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.6/manifests"},{"name":"v1.5.2","sha":"f21c9c3a4ce0d0504c712f657ae75a166fccb757","kind":"tag","published_at":"2015-09-16T17:25:02.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.5.2","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5.2/manifests"},{"name":"v1.5.1.3","sha":"931d15142f669450a03d8a992d9cd20856778ab8","kind":"tag","published_at":"2015-02-20T19:36:51.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.5.1.3","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.5.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.5.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5.1.3/manifests"},{"name":"v1.5.1.2","sha":"a21cf11cfa898c8dea5c2429e8b7769eb68a2dda","kind":"tag","published_at":"2015-02-04T00:50:23.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.5.1.2","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.5.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.5.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5.1.2/manifests"},{"name":"v1.5.1.1","sha":"2dd780e3f25b02d0f1efae7266a09b9a0c9db472","kind":"tag","published_at":"2015-02-01T09:58:42.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.5.1.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.5.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5.1.1/manifests"},{"name":"v1.5.1","sha":"ad429dae0df6b640985118059b5e987ef322059c","kind":"tag","published_at":"2014-07-25T13:29:27.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.5.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5.1/manifests"},{"name":"v1.5","sha":"894117240f0a14e065d9dc22f032a32b6e255877","kind":"tag","published_at":"2014-07-25T12:43:01.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.5","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.5/manifests"},{"name":"v1.4.3","sha":"4724f6b06436b4042f2ceb00d1b106d4d686be44","kind":"tag","published_at":"2014-07-21T06:06:24.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.4.3","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.4.3/manifests"},{"name":"v1.4.2","sha":"4f2e395908e933c41dd978faf20552e98cb889e9","kind":"tag","published_at":"2014-04-03T18:22:18.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.4.2","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"80c20d5b307f7d0b29b38b1a5ee43871080efd35","kind":"tag","published_at":"2014-03-06T19:50:07.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.4.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.4.1/manifests"},{"name":"v1.4","sha":"2721fe6a9c0bce9f4936c896a11b8aeb71d78c22","kind":"tag","published_at":"2014-01-29T18:49:34.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.4","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.4/manifests"},{"name":"v1.2.1.1","sha":"541635a3f34367d25c24916981bbb519201ccb32","kind":"tag","published_at":"2013-10-13T14:50:57.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.2.1.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.2.1.1/manifests"},{"name":"v1.2.1","sha":"957ee33b42e330dad123468e047d4e6f245ddaa6","kind":"tag","published_at":"2013-10-01T15:48:28.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.2.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.2.1/manifests"},{"name":"v1.2","sha":"938342288126bc4b2d7074026197e00bbe562492","kind":"tag","published_at":"2013-09-30T03:18:41.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.2","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.2/manifests"},{"name":"v1.1","sha":"5e69226f170537ba7496c79fe8b15db3119b0a38","kind":"tag","published_at":"2013-04-03T19:43:24.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.1","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.1/manifests"},{"name":"v1.0","sha":"d700778224fb09177b55e6d5d9b6f25a740f5a54","kind":"tag","published_at":"2013-01-26T07:52:10.000Z","download_url":"https://codeload.github.com/ekmett/trifecta/tar.gz/v1.0","html_url":"https://github.com/ekmett/trifecta/releases/tag/v1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ekmett/trifecta@v1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekmett%2Ftrifecta/tags/v1.0/manifests"}]},"repo_metadata_updated_at":"2026-10-19T19:52:55.289Z","dependent_packages_count":13,"downloads":126171,"downloads_period":"total","dependent_repos_count":220,"rankings":{"downloads":1.0737496467928793,"dependent_repos_count":1.893190166713761,"dependent_packages_count":2.040124328906471,"stargazers_count":3.961571065272676,"forks_count":5.549590279740039,"docker_downloads_count":null,"average":2.9036450974851653},"purl":"pkg:hackage/trifecta","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/hackage/trifecta","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/hackage/trifecta","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/hackage/trifecta/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-10-19T19:52:55.046Z","issues_count":45,"pull_requests_count":52,"avg_time_to_close_issue":14959348.484848484,"avg_time_to_close_pull_request":1462341.0961538462,"issues_closed_count":33,"pull_requests_closed_count":52,"pull_request_authors_count":34,"issue_authors_count":33,"avg_comments_per_issue":3.577777777777778,"avg_comments_per_pull_request":1.9807692307692308,"merged_pull_requests_count":46,"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/ekmett%2Ftrifecta/issues","maintainers":[{"login":"nwf","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nwf"},{"login":"phadej","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/phadej"},{"login":"RyanGlScott","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/RyanGlScott"},{"login":"ekmett","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ekmett"},{"login":"istathar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/istathar"},{"login":"thoughtpolice","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thoughtpolice"},{"login":"statusfailed","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/statusfailed"},{"login":"ivan-m","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ivan-m"},{"login":"larskuhtz","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/larskuhtz"},{"login":"quchen","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/quchen"},{"login":"wilcoxjay","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wilcoxjay"},{"login":"sopvop","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sopvop"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/trifecta/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/trifecta/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/trifecta/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/trifecta/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/trifecta/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/trifecta/codemeta","maintainers":[{"uuid":"ryanglscott","login":"ryanglscott","name":null,"email":null,"url":null,"packages_count":153,"html_url":"https://hackage.haskell.org/user/ryanglscott","role":null,"created_at":"2022-11-14T20:12:12.587Z","updated_at":"2022-11-14T20:12:12.587Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/ryanglscott/packages"},{"uuid":"EricMertens","login":"EricMertens","name":null,"email":null,"url":null,"packages_count":96,"html_url":"https://hackage.haskell.org/user/EricMertens","role":null,"created_at":"2022-11-14T20:12:12.514Z","updated_at":"2022-11-14T20:12:12.514Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/EricMertens/packages"},{"uuid":"EdwardKmett","login":"EdwardKmett","name":null,"email":null,"url":null,"packages_count":136,"html_url":"https://hackage.haskell.org/user/EdwardKmett","role":null,"created_at":"2022-11-14T20:12:12.461Z","updated_at":"2022-11-14T20:12:12.461Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/EdwardKmett/packages"},{"uuid":"quchen","login":"quchen","name":null,"email":null,"url":null,"packages_count":13,"html_url":"https://hackage.haskell.org/user/quchen","role":null,"created_at":"2022-11-14T20:12:12.576Z","updated_at":"2022-11-14T20:12:12.576Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/quchen/packages"}]}