{"id":171502,"name":"confetti","ecosystem":"hackage","description":"See the README on GitHub at https://github.com/aviaviavi/confetti#readme","homepage":"https://github.com/aviaviavi/confetti","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/aviaviavi/confetti","keywords_array":["command-line-tools","library","mit","program","Propose Tags"],"namespace":null,"versions_count":3,"first_release_published_at":"2018-10-13T21:23:26.000Z","latest_release_published_at":"2018-12-12T22:13:43.000Z","latest_release_number":"1.0.0","last_synced_at":"2026-05-29T21:02:12.417Z","created_at":"2022-04-05T18:47:37.381Z","updated_at":"2026-05-29T21:03:18.038Z","registry_url":"https://hackage.haskell.org/package/confetti","install_command":"cabal install confetti","documentation_url":null,"metadata":{},"repo_metadata":{"id":59151816,"uuid":"96604460","full_name":"aviaviavi/confetti","owner":"aviaviavi","description":"Small CLI tool for configuration file management and swapping","archived":false,"fork":false,"pushed_at":"2019-12-17T19:20:30.000Z","size":47,"stargazers_count":33,"open_issues_count":4,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-12-29T22:01:57.089Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Haskell","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/aviaviavi.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2017-07-08T07:52:43.000Z","updated_at":"2022-12-10T20:01:04.000Z","dependencies_parsed_at":"2022-09-13T10:50:20.220Z","dependency_job_id":null,"html_url":"https://github.com/aviaviavi/confetti","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/aviaviavi/confetti","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aviaviavi","download_url":"https://codeload.github.com/aviaviavi/confetti/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33670212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"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":"aviaviavi","name":"Avi Press","uuid":"1388071","kind":"user","description":"","email":"","website":"avi.press","location":"Oakland, California","twitter":"avi_press","company":"@scarf-sh","icon_url":"https://avatars.githubusercontent.com/u/1388071?u=3236297ed55b1018b87ab95f29f4b9dc969e0b7e\u0026v=4","repositories_count":22,"last_synced_at":"2023-03-27T17:23:54.090Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/aviaviavi","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-04T03:12:00.167Z","updated_at":"2023-03-27T17:23:54.200Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aviaviavi","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aviaviavi/repositories"},"tags":[{"name":"1.0.3","sha":"54910e4064fd0e6a64a774adfc2dd55b8e9644d3","kind":"commit","published_at":"2019-12-17T19:19:09.000Z","download_url":"https://codeload.github.com/aviaviavi/confetti/tar.gz/1.0.3","html_url":"https://github.com/aviaviavi/confetti/releases/tag/1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/aviaviavi/confetti@1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/1.0.3/manifests"},{"name":"1.0.1","sha":"474fa0e29d341bc5e0958d1a3f4be62c54713068","kind":"commit","published_at":"2018-12-28T19:59:57.000Z","download_url":"https://codeload.github.com/aviaviavi/confetti/tar.gz/1.0.1","html_url":"https://github.com/aviaviavi/confetti/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/aviaviavi/confetti@1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"d89e9f0b269b2484cfa6d5f2281e88e487c224ef","kind":"commit","published_at":"2018-12-12T22:12:07.000Z","download_url":"https://codeload.github.com/aviaviavi/confetti/tar.gz/1.0.0","html_url":"https://github.com/aviaviavi/confetti/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/aviaviavi/confetti@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/1.0.0/manifests"},{"name":"0.3.1","sha":"9f6d401d499b671062754aebfb020ca1fdeb6b8b","kind":"commit","published_at":"2018-08-24T23:07:09.000Z","download_url":"https://codeload.github.com/aviaviavi/confetti/tar.gz/0.3.1","html_url":"https://github.com/aviaviavi/confetti/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/aviaviavi/confetti@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/0.3.1/manifests"},{"name":"0.3","sha":"318f22fe28e3977cb18d534ba397343008373fca","kind":"commit","published_at":"2017-07-19T16:48:00.000Z","download_url":"https://codeload.github.com/aviaviavi/confetti/tar.gz/0.3","html_url":"https://github.com/aviaviavi/confetti/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/aviaviavi/confetti@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/0.3/manifests"},{"name":"0.0.2","sha":"f784bf6f7a7181f739012947f5996532ac355f16","kind":"commit","published_at":"2017-07-17T16:56:33.000Z","download_url":"https://codeload.github.com/aviaviavi/confetti/tar.gz/0.0.2","html_url":"https://github.com/aviaviavi/confetti/releases/tag/0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/aviaviavi/confetti@0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/0.0.2/manifests"},{"name":"0.0.1","sha":"0882ce78aa5d1dc8d07977c59bda116a92b518ce","kind":"commit","published_at":"2017-07-09T23:04:42.000Z","download_url":"https://codeload.github.com/aviaviavi/confetti/tar.gz/0.0.1","html_url":"https://github.com/aviaviavi/confetti/releases/tag/0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/aviaviavi/confetti@0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/0.0.1/manifests"},{"name":"0.0.1-test","sha":"158d6492138838d29086204958f240c1556afaf0","kind":"commit","published_at":"2017-07-09T22:23:39.000Z","download_url":"https://codeload.github.com/aviaviavi/confetti/tar.gz/0.0.1-test","html_url":"https://github.com/aviaviavi/confetti/releases/tag/0.0.1-test","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/aviaviavi/confetti@0.0.1-test","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/0.0.1-test","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aviaviavi%2Fconfetti/tags/0.0.1-test/manifests"}]},"repo_metadata_updated_at":"2026-05-29T21:03:18.038Z","dependent_packages_count":0,"downloads":1890,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":62.678246581773365,"dependent_repos_count":55.143477495452146,"dependent_packages_count":12.217592864268529,"stargazers_count":12.176515462707588,"forks_count":16.45443342526847,"average":31.73405316589402},"purl":"pkg:hackage/confetti","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/hackage/confetti","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/hackage/confetti","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/hackage/confetti/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-17T05:08:16.472Z","issues_count":9,"pull_requests_count":6,"avg_time_to_close_issue":1678490.6,"avg_time_to_close_pull_request":13147.333333333332,"issues_closed_count":5,"pull_requests_closed_count":6,"pull_request_authors_count":2,"issue_authors_count":4,"avg_comments_per_issue":1.6666666666666667,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":6,"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/aviaviavi%2Fconfetti/issues","maintainers":[{"login":"aviaviavi","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aviaviavi"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/confetti/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/confetti/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/confetti/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/confetti/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/confetti/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/confetti/codemeta","maintainers":[{"uuid":"aviaviavi","login":"aviaviavi","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://hackage.haskell.org/user/aviaviavi","role":null,"created_at":"2022-11-14T17:07:03.397Z","updated_at":"2022-11-14T17:07:03.397Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/aviaviavi/packages"}]}