pearmut 0.2.4__py3-none-any.whl → 0.2.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -66,4 +66,4 @@
66
66
  direction: rtl;
67
67
  width: 16px;
68
68
  height: 200px;
69
- }</style><script defer="defer" src="pointwise.bundle.js"></script></head><body><div style="max-width: 1600px; min-width: 900px; margin-left: auto; margin-right: auto; margin-top: 20px; padding-left: 10px;"><div class="white-box" style="margin-right: 30px; background-color: #e7e2cf; padding: 5px 15px 5px 5px;"><span id="instructions_global" style="display: inline-block; font-size: 11pt; width: calc(100% - 170px);"><ul><li id="instructions_spans">Error spans:<ul><li><strong>Click</strong> on the start of an error, then <strong>click</strong> on the end to mark an error span.</li><li><strong>Click</strong> on an existing highlight to change error severity (minor/major) or remove it.</li></ul>Error severity:<ul><li><span class="instruction_sev" id="instruction_sev_minor">Minor:</span> Style, grammar, or word choice could be better.</li><li><span class="instruction_sev" id="instruction_sev_major">Major:</span> Meaning is significantly changed or is hard to understand.</li></ul><strong>Tip</strong>: Mark the general area of the error (doesn't need to be exact). Use separate highlights for different errors.<br></li><li id="instructions_score">Score the translation: Please use the slider and set an overall score based on meaning preservation and general quality:</li><ul><li>0: <strong>No meaning preserved</strong>: most information is lost.</li><li>33%: <strong>Some meaning preserved</strong>: major gaps and narrative issues.</li><li>66%: <strong>Most meaning preserved</strong>: minor issues with grammar or consistency.</li><li>100%: <strong>Perfect</strong>: meaning and grammar align completely with the source.</li></ul><li id="instructions_categories">Error types: After highlighting an error fragment, you will be asked to select the specific error type (main category and subcategory). If you are unsure about which errors fall under which categories, please consult the <a href="https://themqm.org/the-mqm-typology/" style="font-weight: bold; text-decoration: none; color: black;">typology definitions</a>.</li></ul></span><div style="width: 170px; display: inline-block; vertical-align: top; text-align: right; padding-top: 5px;"><span id="time" style="width: 135px; text-align: left; display: inline-block; font-size: 11pt;" title="Approximation of total annotation time.">Time: 0m</span> <input type="button" value="⚙️" id="button_settings" style="height: 1.5em; width: 30px;"><br><br><div id="progress" style="text-align: center;"></div><br><br><input type="button" value="Next 🛠️" id="button_next" disabled="disabled" style="width: 170px; height: 2.5em;" title="Finish annotating all examples first."> <input type="button" value="skip tutorial" id="button_skip_tutorial" style="width: 170px; font-size: 11pt; height: 30px; margin-top: 10px; display: none;" title="Skip tutorial only if you completed it already."></div></div><div id="settings_div" class="white-box" style="margin-right: 20px; margin-top: 10px; display: none; background-color: #e7e2cf; font-size: 11pt;"><input type="checkbox" id="settings_approximate_alignment"> <label for="settings_approximate_alignment">Show approximate alignment</label></div><div id="output_div" style="margin-top: 100px;"></div><br><br><br></div></body></html>
69
+ }</style><script defer="defer" src="pointwise.bundle.js"></script></head><body><div style="max-width: 1600px; min-width: 900px; margin-left: auto; margin-right: auto; margin-top: 20px; padding-left: 10px;"><div class="white-box" style="margin-right: 30px; background-color: #e7e2cf; padding: 5px 15px 5px 5px;"><span id="instructions_global" style="display: inline-block; font-size: 11pt; width: calc(100% - 170px);"><ul><li id="instructions_spans">Error spans:<ul><li><strong>Click</strong> on the start of an error, then <strong>click</strong> on the end to mark an error span.</li><li><strong>Click</strong> on an existing highlight to change error severity (minor/major) or remove it.</li></ul>Error severity:<ul><li><span class="instruction_sev" id="instruction_sev_minor">Minor:</span> Style, grammar, or word choice could be better.</li><li><span class="instruction_sev" id="instruction_sev_major">Major:</span> Meaning is significantly changed or is hard to understand.</li></ul><strong>Tip</strong>: Mark the general area of the error (doesn't need to be exact). Use separate highlights for different errors. Use <code>[missing]</code> at the end of a sentence for omitted content.<br></li><li id="instructions_score">Score the translation: Please use the slider and set an overall score based on meaning preservation and general quality:</li><ul><li>0: <strong>Nonsense</strong>: most information is lost.</li><li>33%: <strong>Broken</strong>: major gaps and narrative issues.</li><li>66%: <strong>Middling</strong>: minor issues with grammar or consistency.</li><li>100%: <strong>Perfect</strong>: meaning and grammar align completely with the source.</li></ul><li id="instructions_categories">Error types: After highlighting an error fragment, you will be asked to select the specific error type (main category and subcategory). If you are unsure about which errors fall under which categories, please consult the <a href="https://themqm.org/the-mqm-typology/" style="font-weight: bold; text-decoration: none; color: black;">typology definitions</a>.</li></ul></span><div style="width: 170px; display: inline-block; vertical-align: top; text-align: right; padding-top: 5px;"><span id="time" style="width: 135px; text-align: left; display: inline-block; font-size: 11pt;" title="Approximation of total annotation time.">Time: 0m</span> <input type="button" value="⚙️" id="button_settings" style="height: 1.5em; width: 30px;"><br><br><div id="progress" style="text-align: center;"></div><br><br><input type="button" value="Next 🛠️" id="button_next" disabled="disabled" style="width: 170px; height: 2.5em;" title="Finish annotating all examples first."> <input type="button" value="skip tutorial" id="button_skip_tutorial" style="width: 170px; font-size: 11pt; height: 30px; margin-top: 10px; display: none;" title="Skip tutorial only if you completed it already."></div></div><div id="settings_div" class="white-box" style="margin-right: 20px; margin-top: 10px; display: none; background-color: #e7e2cf; font-size: 11pt;"><input type="checkbox" id="settings_approximate_alignment"> <label for="settings_approximate_alignment">Show approximate alignment</label><br><input type="checkbox" id="settings_word_level"> <label for="settings_word_level">Word-level selection</label></div><div id="output_div" style="margin-top: 100px;"></div><br><br><br></div></body></html>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pearmut
3
- Version: 0.2.4
3
+ Version: 0.2.6
4
4
  Summary: A tool for evaluation of model outputs, primarily MT.
5
5
  Author-email: Vilém Zouhar <vilem.zouhar@gmail.com>
6
6
  License: apache-2.0
@@ -67,7 +67,6 @@ One of the simplest ones, where each user has a pre-defined list of tasks (`task
67
67
  "protocol_score": true, # we want scores [0...100] for each segment
68
68
  "protocol_error_spans": true, # we want error spans
69
69
  "protocol_error_categories": false, # we do not want error span categories
70
- "instructions": "Evaluate translation from en to cs_CZ", # message to show to users
71
70
  },
72
71
  "campaign_id": "wmt25_#_en-cs_CZ",
73
72
  "data": [
@@ -76,6 +75,7 @@ One of the simplest ones, where each user has a pre-defined list of tasks (`task
76
75
  [
77
76
  # each evaluation item is a document
78
77
  {
78
+ "instructions": "Evaluate translation from en to cs_CZ", # message to show to users above the first item
79
79
  "src": "This will be the year that Guinness loses its cool. Cheers to that!",
80
80
  "tgt": "Nevím přesně, kdy jsem to poprvé zaznamenal. Možná to bylo ve chvíli, ..."
81
81
  },
@@ -288,22 +288,25 @@ Pearmut provides the following commands:
288
288
 
289
289
  ## Hosting Assets
290
290
 
291
- If you need to host local assets (e.g., audio files, images, videos) via Pearmut, you can use the `assets` key in your campaign file.
292
- When present, this directory is symlinked to the `static/` directory so its contents become accessible from the server.
291
+ To host local assets (e.g., audio files, images, videos), use the `assets` key in your campaign file:
293
292
 
294
293
  ```python
295
294
  {
296
295
  "campaign_id": "my_campaign",
297
296
  "info": {
298
- "assets": "videos", # path to directory containing assets
297
+ "assets": {
298
+ "source": "videos", # path to directory containing assets
299
+ "destination": "assets/my_videos" # where to mount (must start with "assets/")
300
+ },
299
301
  ...
300
302
  },
301
303
  "data": [ ... ]
302
304
  }
303
305
  ```
304
306
 
305
- For example, if `videos` contains `audio.mp3`, it will be accessible at `localhost:8001/assets/videos/audio.mp3`.
306
- The path can be absolute or relative to your current working directory.
307
+ Files in `videos/` become accessible at `localhost:8001/assets/my_videos/`.
308
+ This creates a symlink, so the source directory must exist throughout the annotation period.
309
+ If another campaign already uses the destination path, the add command will fail.
307
310
 
308
311
  ## Development
309
312
 
@@ -333,6 +336,8 @@ The `pearmut run` also accepts `--port` (default 8001).
333
336
  If you wish to create a new protocol (referenceable from `info->template`), simply create a new HTML and TS file in `web/src` and add a rule to `webpack.config.js` so that your template gets built.
334
337
  A template can call the server for data etc (see [web/src/pointwise.ts](web/src/pointwise.ts) as an exmple).
335
338
 
339
+ To run the platform, you need to run this on some publicly-facing server, or run it locally and tunnel your port to a public IP/domain.
340
+
336
341
  ## Citation
337
342
 
338
343
  If you use this work in your paper, please cite as:
@@ -0,0 +1,19 @@
1
+ pearmut/app.py,sha256=Q-DDm5zR42hA2YS0_lej6L4DDVV1cSEbYsp66ykBrss,8261
2
+ pearmut/assignment.py,sha256=GvulwsPEguA_rNZB58bDKYy1wVZX9j4vnmbrKH4m0Mo,10963
3
+ pearmut/cli.py,sha256=pXPuLeu1ow557SrpPvLR-5jc1de1rBY5bR5PmiFMJyc,17975
4
+ pearmut/utils.py,sha256=TWcbdTehg4CNwCpc5FuEOszpQM464LY0IQHHE_Sq1Zg,5293
5
+ pearmut/static/dashboard.bundle.js,sha256=GGg5lNwwgzejCi1ZAI-p2HKp-oI8DWAgfytAoTL8fNE,91782
6
+ pearmut/static/dashboard.html,sha256=fN-B0jyeezMZP4qisGA7lmQem-FqvfDP1i5ziErQK2M,2120
7
+ pearmut/static/index.html,sha256=SC5M-NSTnJh1UNHCC5VOP0TKkmhNn6MHlY6L4GDacpA,849
8
+ pearmut/static/listwise.bundle.js,sha256=Q5bGsvUE2dD9Rzm-1ED_F5oNjx2TW733rAJ3yusEg0o,106742
9
+ pearmut/static/listwise.html,sha256=4A0a_GMVIjJmqT3lhJMT9huqvwgvrRfztt0KA0lJxKI,5308
10
+ pearmut/static/pointwise.bundle.js,sha256=4iAhWIuyLK53BOr98ntWvJtKO00hNcgdCDuUviM_uK4,108818
11
+ pearmut/static/pointwise.html,sha256=2NZYyjpznXP2b4GMeDcrjRYI5hZ45l7QgI-RQjkRUqs,5024
12
+ pearmut/static/assets/favicon.svg,sha256=gVPxdBlyfyJVkiMfh8WLaiSyH4lpwmKZs8UiOeX8YW4,7347
13
+ pearmut/static/assets/style.css,sha256=BrPnXTDr8hQ0M8T-EJlExddChzIFotlerBYMx2B8GDk,4136
14
+ pearmut-0.2.6.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
15
+ pearmut-0.2.6.dist-info/METADATA,sha256=-bVVeR4r6Ah0hMwjzfMR9oGKFY2X3A2_v2RUaHW8sCc,14587
16
+ pearmut-0.2.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
+ pearmut-0.2.6.dist-info/entry_points.txt,sha256=eEA9LVWsS3neQbMvL_nMvEw8I0oFudw8nQa1iqxOiWM,45
18
+ pearmut-0.2.6.dist-info/top_level.txt,sha256=CdgtUM-SKQDt6o5g0QreO-_7XTBP9_wnHMS1P-Rl5Go,8
19
+ pearmut-0.2.6.dist-info/RECORD,,
@@ -1,19 +0,0 @@
1
- pearmut/app.py,sha256=6dswjMC_YN6-3WHPSl8qhin6Qb2IsHXCveX9MKen-O0,8466
2
- pearmut/assignment.py,sha256=2dWuFacXCg65xjiEiqNPSXn4_4Z4fy5OgBolmCqgtUE,11181
3
- pearmut/cli.py,sha256=ff3UdCToXP_U1iKLHTAuHo9eDsK5G6d8ToVmSZ-6wYI,12582
4
- pearmut/utils.py,sha256=TWcbdTehg4CNwCpc5FuEOszpQM464LY0IQHHE_Sq1Zg,5293
5
- pearmut/static/dashboard.bundle.js,sha256=3i4o4VOZi2g2EsC6rzwz2pYO_YwncCIjnI0Gxz57Z44,91471
6
- pearmut/static/dashboard.html,sha256=aCYNhRZUHsVF_CXzKmzdBptEAnRTI3J5NKT4trxAots,1966
7
- pearmut/static/index.html,sha256=SC5M-NSTnJh1UNHCC5VOP0TKkmhNn6MHlY6L4GDacpA,849
8
- pearmut/static/listwise.bundle.js,sha256=kkXvg4F-xnNH8UzhuiAl1MqatwzAcs2h5r22jhnYvqE,105235
9
- pearmut/static/listwise.html,sha256=YZKQtB_TOt1gQKjJdwjEkcHAOiZoW2WlIFhpSr4kCo0,5163
10
- pearmut/static/pointwise.bundle.js,sha256=xVvarH95pYeZUqjfoXufyLzdISqkoJ4DcBshy-94WOw,107298
11
- pearmut/static/pointwise.html,sha256=7pf7HcyvM6t-Jze7tFYjfwTEu1C5Az1sg4e_SUbBFl0,4879
12
- pearmut/static/assets/favicon.svg,sha256=gVPxdBlyfyJVkiMfh8WLaiSyH4lpwmKZs8UiOeX8YW4,7347
13
- pearmut/static/assets/style.css,sha256=BrPnXTDr8hQ0M8T-EJlExddChzIFotlerBYMx2B8GDk,4136
14
- pearmut-0.2.4.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
15
- pearmut-0.2.4.dist-info/METADATA,sha256=C8cZZDhSGEYnQOosPieoAeCoY_lb5iM8hc_7SHK4H4o,14381
16
- pearmut-0.2.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
- pearmut-0.2.4.dist-info/entry_points.txt,sha256=eEA9LVWsS3neQbMvL_nMvEw8I0oFudw8nQa1iqxOiWM,45
18
- pearmut-0.2.4.dist-info/top_level.txt,sha256=CdgtUM-SKQDt6o5g0QreO-_7XTBP9_wnHMS1P-Rl5Go,8
19
- pearmut-0.2.4.dist-info/RECORD,,