{"id":26413020,"url":"https://github.com/mieuxvoter/majority-judgment-library-dart","last_synced_at":"2026-04-26T08:36:30.244Z","repository":{"id":56834346,"uuid":"416410164","full_name":"MieuxVoter/majority-judgment-library-dart","owner":"MieuxVoter","description":"Dart package to rank proposals according to Majority Judgment, using a score-based algorithm for performance and scalability ","archived":false,"fork":false,"pushed_at":"2021-10-14T06:30:13.000Z","size":28,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-14T02:02:46.308Z","etag":null,"topics":["dart","majority-judgment","political-science","polls"],"latest_commit_sha":null,"homepage":"","language":"Dart","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/MieuxVoter.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2021-10-12T16:15:43.000Z","updated_at":"2023-07-18T09:07:33.000Z","dependencies_parsed_at":"2022-09-10T04:16:17.767Z","dependency_job_id":null,"html_url":"https://github.com/MieuxVoter/majority-judgment-library-dart","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/MieuxVoter/majority-judgment-library-dart","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MieuxVoter%2Fmajority-judgment-library-dart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MieuxVoter%2Fmajority-judgment-library-dart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MieuxVoter%2Fmajority-judgment-library-dart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MieuxVoter%2Fmajority-judgment-library-dart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MieuxVoter","download_url":"https://codeload.github.com/MieuxVoter/majority-judgment-library-dart/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MieuxVoter%2Fmajority-judgment-library-dart/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259747215,"owners_count":22905310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dart","majority-judgment","political-science","polls"],"created_at":"2025-03-17T22:53:47.260Z","updated_at":"2026-04-26T08:36:30.200Z","avatar_url":"https://github.com/MieuxVoter.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Majority Judgment for Dart\n\n[![MIT](https://img.shields.io/github/license/MieuxVoter/majority-judgment-library-dart?style=for-the-badge)](LICENSE)\n[![Release](https://img.shields.io/github/v/release/MieuxVoter/majority-judgment-library-dart?include_prereleases\u0026style=for-the-badge)](https://github.com/MieuxVoter/majority-judgment-library-dart/releases)\n[![Build Status](https://img.shields.io/github/workflow/status/MieuxVoter/majority-judgment-library-dart/Dart?style=for-the-badge)](https://github.com/MieuxVoter/majority-judgment-library-dart/actions/workflows/dart.yml)\n[![Code Quality](https://img.shields.io/codefactor/grade/github/MieuxVoter/majority-judgment-library-dart?style=for-the-badge)](https://www.codefactor.io/repository/github/mieuxvoter/majority-judgment-library-dart)\n![LoC](https://img.shields.io/tokei/lines/github/MieuxVoter/majority-judgment-library-dart?style=for-the-badge)\n[![Discord Chat](https://img.shields.io/discord/705322981102190593.svg?style=for-the-badge)](https://discord.gg/rAAQG9S)\n\n\nThis Dart package helps to resolve polls using [Majority Judgment](https://fr.wikipedia.org/wiki/Jugement_majoritaire).\n\n\n## Features\n\n- Efficient Majority Judgment algorithm, scales well to billions of participants\n- Configure whether to favor _adhesion_ or _contestation_ (default)\n- Balance proposal tallies using a static default grade or the median grade[^median_todo]\n- Room for Central Judgment and Usual Judgment\n- Unit-tested (run `dart test`)\n\n\n[^median_todo]: TODO, see #1 ; it's a good first issue if you want to contribute\n\n## Get started\n\n``` dart\n\nimport 'package:majority_judgment/majority_judgment.dart';\n\nvoid main() {\n    \n      final pollTally = PollTally([\n        [1, 2, 4, 2, 1], // Proposal A, from \"worst\" grade to \"best\" grade\n        [1, 2, 4, 1, 2], // Proposal B\n        [3, 1, 3, 1, 2], // Proposal C\n        [1, 2, 4, 2, 1], // Proposal D (equal to A)\n      ]);\n      final mj = MajorityJudgmentResolver();\n      final result = mj.resolve(pollTally);\n\n      print(result.proposalsResults.map((ProposalResult p) =\u003e p.rank));\n      //\u003e (2, 1, 4, 2)\n\n      print(result.sortedProposalsResults.map((ProposalResult p) =\u003e p.index));\n      //\u003e (1, 0, 3, 2)\n    \n}\n\n```\n\n\n## Contribute\n\nUsual git flow: clone, tinker, request a merge.\n\n\n## Authors\n\nThis package was made by [MieuxVoter](https://mieuxvoter.fr/), a french nonprofit.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmieuxvoter%2Fmajority-judgment-library-dart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmieuxvoter%2Fmajority-judgment-library-dart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmieuxvoter%2Fmajority-judgment-library-dart/lists"}