glitchlings 0.4.3__cp310-cp310-macosx_11_0_universal2.whl → 0.4.5__cp310-cp310-macosx_11_0_universal2.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.

Potentially problematic release.


This version of glitchlings might be problematic. Click here for more details.

Files changed (39) hide show
  1. glitchlings/__init__.py +4 -0
  2. glitchlings/_zoo_rust.cpython-310-darwin.so +0 -0
  3. glitchlings/compat.py +2 -4
  4. glitchlings/config.py +2 -4
  5. glitchlings/data/__init__.py +1 -0
  6. glitchlings/data/hokey_assets.json +193 -0
  7. glitchlings/dlc/_shared.py +86 -1
  8. glitchlings/dlc/huggingface.py +6 -6
  9. glitchlings/dlc/prime.py +1 -1
  10. glitchlings/dlc/pytorch.py +9 -59
  11. glitchlings/dlc/pytorch_lightning.py +10 -34
  12. glitchlings/lexicon/__init__.py +5 -1
  13. glitchlings/lexicon/_cache.py +3 -5
  14. glitchlings/lexicon/vector.py +6 -5
  15. glitchlings/lexicon/wordnet.py +4 -8
  16. glitchlings/util/hokey_generator.py +144 -0
  17. glitchlings/util/stretch_locator.py +140 -0
  18. glitchlings/util/stretchability.py +375 -0
  19. glitchlings/zoo/__init__.py +5 -1
  20. glitchlings/zoo/_rate.py +114 -1
  21. glitchlings/zoo/_rust_extensions.py +143 -0
  22. glitchlings/zoo/adjax.py +3 -4
  23. glitchlings/zoo/apostrofae.py +3 -4
  24. glitchlings/zoo/core.py +21 -9
  25. glitchlings/zoo/hokey.py +173 -0
  26. glitchlings/zoo/jargoyle.py +6 -2
  27. glitchlings/zoo/redactyl.py +4 -5
  28. glitchlings/zoo/reduple.py +3 -4
  29. glitchlings/zoo/rushmore.py +3 -4
  30. glitchlings/zoo/scannequin.py +3 -4
  31. glitchlings/zoo/typogre.py +3 -4
  32. glitchlings/zoo/zeedub.py +3 -4
  33. {glitchlings-0.4.3.dist-info → glitchlings-0.4.5.dist-info}/METADATA +32 -8
  34. glitchlings-0.4.5.dist-info/RECORD +53 -0
  35. glitchlings-0.4.3.dist-info/RECORD +0 -46
  36. {glitchlings-0.4.3.dist-info → glitchlings-0.4.5.dist-info}/WHEEL +0 -0
  37. {glitchlings-0.4.3.dist-info → glitchlings-0.4.5.dist-info}/entry_points.txt +0 -0
  38. {glitchlings-0.4.3.dist-info → glitchlings-0.4.5.dist-info}/licenses/LICENSE +0 -0
  39. {glitchlings-0.4.3.dist-info → glitchlings-0.4.5.dist-info}/top_level.txt +0 -0
glitchlings/zoo/zeedub.py CHANGED
@@ -6,12 +6,11 @@ from collections.abc import Sequence
6
6
  from typing import Any, cast
7
7
 
8
8
  from ._rate import resolve_rate
9
+ from ._rust_extensions import get_rust_operation
9
10
  from .core import AttackOrder, AttackWave, Glitchling
10
11
 
11
- try:
12
- from glitchlings._zoo_rust import inject_zero_widths as _inject_zero_widths_rust
13
- except ImportError: # pragma: no cover - compiled extension not present
14
- _inject_zero_widths_rust = None
12
+ # Load Rust-accelerated operation if available
13
+ _inject_zero_widths_rust = get_rust_operation("inject_zero_widths")
15
14
 
16
15
  _DEFAULT_ZERO_WIDTH_CHARACTERS: tuple[str, ...] = (
17
16
  "\u200b", # ZERO WIDTH SPACE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: glitchlings
3
- Version: 0.4.3
3
+ Version: 0.4.5
4
4
  Summary: Monsters for your language games.
5
5
  Author: osoleve
6
6
  License: Apache License
@@ -217,6 +217,7 @@ Classifier: Programming Language :: Python :: 3
217
217
  Classifier: Programming Language :: Python :: 3.10
218
218
  Classifier: Programming Language :: Python :: 3.11
219
219
  Classifier: Programming Language :: Python :: 3.12
220
+ Classifier: Programming Language :: Python :: 3.13
220
221
  Classifier: Programming Language :: Rust
221
222
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
222
223
  Classifier: Topic :: Software Development :: Testing
@@ -237,9 +238,10 @@ Requires-Dist: mkdocs-material>=9.5.0; extra == "all"
237
238
  Requires-Dist: mkdocstrings[python]>=0.24.0; extra == "all"
238
239
  Requires-Dist: mkdocstrings-python>=1.10.0; extra == "all"
239
240
  Requires-Dist: mypy>=1.8.0; extra == "all"
240
- Requires-Dist: numpy<=2.0,>=1.24; extra == "all"
241
+ Requires-Dist: numpy<3.0,>=1.24; extra == "all"
241
242
  Requires-Dist: pre-commit>=3.8.0; extra == "all"
242
243
  Requires-Dist: pytest>=8.0.0; extra == "all"
244
+ Requires-Dist: pytest-cov>=4.1.0; extra == "all"
243
245
  Requires-Dist: ruff>=0.6.0; extra == "all"
244
246
  Requires-Dist: verifiers>=0.1.3.post0; extra == "all"
245
247
  Provides-Extra: hf
@@ -247,7 +249,7 @@ Requires-Dist: datasets>=4.0.0; extra == "hf"
247
249
  Provides-Extra: lightning
248
250
  Requires-Dist: pytorch_lightning>=2.0.0; extra == "lightning"
249
251
  Provides-Extra: vectors
250
- Requires-Dist: numpy<=2.0,>=1.24; extra == "vectors"
252
+ Requires-Dist: numpy<3.0,>=1.24; extra == "vectors"
251
253
  Requires-Dist: spacy>=3.7.2; extra == "vectors"
252
254
  Requires-Dist: gensim>=4.3.2; extra == "vectors"
253
255
  Provides-Extra: st
@@ -259,8 +261,9 @@ Provides-Extra: torch
259
261
  Requires-Dist: torch>=2.0.0; extra == "torch"
260
262
  Provides-Extra: dev
261
263
  Requires-Dist: pytest>=8.0.0; extra == "dev"
264
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
262
265
  Requires-Dist: hypothesis>=6.140.0; extra == "dev"
263
- Requires-Dist: numpy<=2.0,>=1.24; extra == "dev"
266
+ Requires-Dist: numpy<3.0,>=1.24; extra == "dev"
264
267
  Requires-Dist: mkdocs>=1.6.0; extra == "dev"
265
268
  Requires-Dist: mkdocstrings[python]>=0.24.0; extra == "dev"
266
269
  Requires-Dist: mkdocs-material>=9.5.0; extra == "dev"
@@ -291,6 +294,12 @@ Dynamic: license-file
291
294
  Every language game breeds monsters.
292
295
  ```
293
296
 
297
+ [![PyPI version](https://img.shields.io/pypi/v/glitchlings.svg)](https://pypi.org/project/glitchlings/)
298
+ [![PyPI Status](https://github.com/osoleve/glitchlings/actions/workflows/publish.yml/badge.svg)](https://github.com/osoleve/glitchlings/actions/workflows/publish.yml)
299
+ [![Lint and Type](https://github.com/osoleve/glitchlings/actions/workflows/ci.yml/badge.svg)](https://github.com/osoleve/glitchlings/actions/workflows/ci.yml)
300
+ [![Website status](https://img.shields.io/website-up-down-green-red/https/osoleve.github.io/glitchlings)](https://osoleve.github.io/glitchlings/)
301
+ [![License](https://img.shields.io/github/license/osoleve/glitchlings.svg)](https://github.com/osoleve/glitchlings/blob/main/LICENSE)
302
+
294
303
  `Glitchlings` are **utilities for corrupting the text inputs to your language models in deterministic, _linguistically principled_** ways.
295
304
  Each embodies a different way that documents can be compromised in the wild.
296
305
 
@@ -379,6 +388,7 @@ glitchlings --list
379
388
  ```text
380
389
  Typogre — scope: Character, order: early
381
390
  Apostrofae — scope: Character, order: normal
391
+ Hokey — scope: Character, order: first
382
392
  Mim1c — scope: Character, order: last
383
393
  Jargoyle — scope: Word, order: normal
384
394
  Adjax — scope: Word, order: normal
@@ -426,10 +436,6 @@ options:
426
436
  ```
427
437
  <!-- END: CLI_USAGE -->
428
438
 
429
- Run `python docs/build_cli_reference.py` whenever you tweak the CLI so the README stays in sync with the actual output. The script executes the commands above and replaces the block between the markers automatically.
430
-
431
- Prefer inline tweaks? You can still configure glitchlings directly in the shell:
432
-
433
439
  ```bash
434
440
  # Run Typogre against the contents of a file and inspect the diff.
435
441
  glitchlings -g typogre --file documents/report.txt --diff
@@ -504,6 +510,22 @@ _Wait, was that...?_
504
510
  > - `banned_characters (Collection[str])`: Characters that must never appear as replacements (default: none).
505
511
  > - `seed (int)`: The random seed for reproducibility (default: 151).
506
512
 
513
+ ### Hokey
514
+
515
+ _She's soooooo coooool!_
516
+
517
+ > _**Passionista.**_ Hokey sometimes gets a little excited and elongates words for emphasis.
518
+ >
519
+ > Args
520
+ >
521
+ > - `rate (float)`: Share of high-scoring tokens to stretch (default: 0.3).
522
+ > - `extension_min` / `extension_max (int)`: Bounds for extra repetitions (defaults: 2 / 5).
523
+ > - `word_length_threshold (int)`: Preferred maximum alphabetic length; longer words are damped instead of excluded (default: 6).
524
+ > - `base_p (float)`: Base probability for the heavy-tailed sampler (default: 0.45).
525
+ > - `seed (int)`: The random seed for reproducibility (default: 151).
526
+
527
+ _Apocryphal Glitchling contributed by Chloé Nunes_
528
+
507
529
  ### Scannequin
508
530
 
509
531
  _How can a computer need reading glasses?_
@@ -536,7 +558,9 @@ _Uh oh. The worst person you know just bought a thesaurus._
536
558
  > Args
537
559
  >
538
560
  > - `rate (float)`: The maximum proportion of words to replace (default: 0.01, 1%).
561
+ >
539
562
  - `part_of_speech`: The WordNet-style part(s) of speech to target (default: nouns). Accepts `wn.NOUN`, `wn.VERB`, `wn.ADJ`, `wn.ADV`, any iterable of those tags, or the string `"any"` to include them all. Vector/graph backends ignore this filter while still honouring deterministic sampling.
563
+ >
540
564
  > - `seed (int)`: The random seed for reproducibility (default: 151).
541
565
 
542
566
  ### Reduple
@@ -0,0 +1,53 @@
1
+ glitchlings/__init__.py,sha256=A6m-sj1Gnq5DXdaD7IRsPnMvXW9UjZh3fQGcvps22uw,1230
2
+ glitchlings/__main__.py,sha256=f-P4jiVBd7ZpS6QxRpa_6SJgOG03UhZhcWasMDRWLs8,120
3
+ glitchlings/_zoo_rust.cpython-310-darwin.so,sha256=JtpbrZ8Y5qXKzN8Qa7ROj-GsKIHzXtE-O3LAfaha7v4,2714896
4
+ glitchlings/compat.py,sha256=lswR7J3kXER5hPXeyfkO-7USJvUhdtTi1ovJgEpspKc,8892
5
+ glitchlings/config.py,sha256=J_Bk901-WLeqDhrmvTrjUZLxgIgSqR0qYU2oDaNPjt8,12937
6
+ glitchlings/config.toml,sha256=04-Y_JCdQU68SRmwk2qZqrH_bbX4jEH9uh7URtxdIHA,99
7
+ glitchlings/main.py,sha256=uw8VbDgxov1m-wYHPDl2dP5ItpLB4ZHpb0ChJXzcL0o,10623
8
+ glitchlings/data/__init__.py,sha256=JZwsJhnZHnr2onnukNduNjfNSurzGn3v7r1flq_3yl4,68
9
+ glitchlings/data/hokey_assets.json,sha256=9drpOv_PHHxs7jZOcgMr9G-Nswx_UuMzC4yQ0O8mIZ0,2890
10
+ glitchlings/dlc/__init__.py,sha256=qlY4nuagy4AAWuPMwmuhwK2m36ktp-qkeiIxC7OXg34,305
11
+ glitchlings/dlc/_shared.py,sha256=moQwnJdHMo-dx5uK0zM8XdPy5cs-OlAzYKVWfUP0RSQ,4407
12
+ glitchlings/dlc/huggingface.py,sha256=BWceVUm28Yd8b7Tf_lmnPGgSVN1hZEmseRjf17nAPJw,2576
13
+ glitchlings/dlc/prime.py,sha256=zhm0oTVKNDa1ByxZTP42rmMVaJDyx77w2g6NHy4jndc,8607
14
+ glitchlings/dlc/pytorch.py,sha256=Laqz5o0UZXE1X9P-Qxb6KE0D5lcBKAoBbKsn-fnd6c0,6233
15
+ glitchlings/dlc/pytorch_lightning.py,sha256=rhDwRgOGVzaEet27QG8GigKh6hK5ZdTBOxGE2G0MPxw,8005
16
+ glitchlings/lexicon/__init__.py,sha256=ooEPcAJhCI2Nw5z8OsQ0EtVpKBfiTrU0-AQJq8Zn2nQ,6007
17
+ glitchlings/lexicon/_cache.py,sha256=oWdQtiU3csUAs-fYJRHuS_314j8JJ-T8AL73-GxVXzA,4072
18
+ glitchlings/lexicon/metrics.py,sha256=VBFfFpxjiEwZtK-jS55H8xP7MTC_0OjY8lQ5zSQ9aTY,4572
19
+ glitchlings/lexicon/vector.py,sha256=hUtMewkdLdMscQWjFgWcspSg0C_C0JdhFSMAs0HA-i0,22600
20
+ glitchlings/lexicon/wordnet.py,sha256=8wEN3XHI8Cf01h4h9cP4F25FLlGIoUrvk5l2nsgkfx4,7576
21
+ glitchlings/lexicon/data/default_vector_cache.json,sha256=3iVH0nX8EqMbqOkKWvORCGYtN0LKHn5G_Snlizsnm1g,997
22
+ glitchlings/util/__init__.py,sha256=vc3EAY8ehRjbOiryFdaqvvljXcyNGtZSPiEp9ok1vVw,4674
23
+ glitchlings/util/adapters.py,sha256=psxQFYSFmh1u7NuqtIrKwQP5FOhOrZoxZzc7X7DDi9U,693
24
+ glitchlings/util/hokey_generator.py,sha256=NCbOGw55SG720VYnuwEdFAfdOvYlmjsZ0hAr5Y0Ja0Y,4483
25
+ glitchlings/util/stretch_locator.py,sha256=INTMz7PXe-0HoDaMnQIQxJ266nABMXBYD67oJM8ur8g,4194
26
+ glitchlings/util/stretchability.py,sha256=W_FC1-6x1LICLjEyv5rqpsnKnBcj6Lhc5u5A_5cWWIM,12819
27
+ glitchlings/zoo/__init__.py,sha256=xCVVAHLJ4lxl1JQUzff9fr84pJbB04fyXBjuX1m3YSw,5339
28
+ glitchlings/zoo/_ocr_confusions.py,sha256=Ju2_avXiwsr1p8zWFUTOzMxJ8vT5PpYobuGIn4L_sqI,1204
29
+ glitchlings/zoo/_rate.py,sha256=tkIlXHewE8s9w1jpCw8ZzkVN31690FAnvTM_R3dCIpY,3579
30
+ glitchlings/zoo/_rust_extensions.py,sha256=Bsd0kiPB1rUn5x3k7ykydFuk2YSvXS9CQGPRlE5XzXY,4211
31
+ glitchlings/zoo/_sampling.py,sha256=KrWyUSsYXghlvktS5hQBO0bPqywEEyA49A2qDWInB7Q,1586
32
+ glitchlings/zoo/_text_utils.py,sha256=fS5L_eq-foBbBdiv4ymI8-O0D0csc3yDekHpX8bqfV4,2754
33
+ glitchlings/zoo/adjax.py,sha256=XT5kKqPOUPgKSDOcR__HBnv4OXtBKee40GuNNmm1GYI,3518
34
+ glitchlings/zoo/apostrofae.py,sha256=qjpfnxdPWXMNzZnSD7UMfvHyzGKa7TLsvUhMsIvjwj8,3822
35
+ glitchlings/zoo/core.py,sha256=dRzUTmhOswDV0hWcaD-Sx7rZdPlrszn7C_1G2xd4ECk,20675
36
+ glitchlings/zoo/hokey.py,sha256=71z1JGzKGb_N8Wo7LVuS7qAqH2T0Y0h2LemIw66eprs,5298
37
+ glitchlings/zoo/jargoyle.py,sha256=2TGU_z8gILwQ-lyZEqvmsrLupxqb8ydlDiwcp-O6WwY,11679
38
+ glitchlings/zoo/mim1c.py,sha256=-fgodKWZq--Xw8L2t1EqNbsh48bwX5jZxmiXdoaQShI,3437
39
+ glitchlings/zoo/ocr_confusions.tsv,sha256=KhtR7vJDTITpfTSGa-I7RHr6CK7LkGi2KjdhEWipI6o,183
40
+ glitchlings/zoo/redactyl.py,sha256=eWn7JC81BXkp2bSinwrBfU3jXukcUGDVkaa6BcGvte4,5559
41
+ glitchlings/zoo/reduple.py,sha256=zSc1N_-tz9Kl7CDMrdZKgCuW3Bxp_-g6axadAa6AszM,4224
42
+ glitchlings/zoo/rushmore.py,sha256=k429trwNPcWJHEOIoeGsdKBzJNL4Fxz9KRqX3Ro9u_0,4286
43
+ glitchlings/zoo/scannequin.py,sha256=GfjLYWWp-jdnOBmdg7gt5wQnobY8jWQHScB5EMgo6HE,4870
44
+ glitchlings/zoo/typogre.py,sha256=BQotNL-gn4PXQI9j63d2w9mQ4X6ZJKSJ4de-GN-gmUI,6686
45
+ glitchlings/zoo/zeedub.py,sha256=aNnjZGeTmMqA2WjgtGh7Fgl9pUQo3AZ2B-tYs2ZFOQE,4840
46
+ glitchlings/zoo/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
+ glitchlings/zoo/assets/apostrofae_pairs.json,sha256=bfjSEaMTI_axGNJ93nI431KXU0IVp7ayO42gGcMgL6U,521
48
+ glitchlings-0.4.5.dist-info/licenses/LICENSE,sha256=YCvGip-LoaRyu6h0nPo71q6eHEkzUpsE11psDJOIRkw,11337
49
+ glitchlings-0.4.5.dist-info/METADATA,sha256=3h0Eb8nUL3NXb67OQBYEnuL-aNs0oJ8-dLVAQDeFfD8,33498
50
+ glitchlings-0.4.5.dist-info/WHEEL,sha256=G4cu_uTI97hAXSudQC0D9fpgNQkuavCNljtwFXiUqZM,114
51
+ glitchlings-0.4.5.dist-info/entry_points.txt,sha256=kGOwuAsjFDLtztLisaXtOouq9wFVMOJg5FzaAkg-Hto,54
52
+ glitchlings-0.4.5.dist-info/top_level.txt,sha256=VHFNBrLjtDwPCYXbGKi6o17Eueedi81eNbR3hBOoST0,12
53
+ glitchlings-0.4.5.dist-info/RECORD,,
@@ -1,46 +0,0 @@
1
- glitchlings/__init__.py,sha256=bkyRgzjC8ssidEO9UL9VpbYXQxTV1Hz3VAPOIqd9uMg,1182
2
- glitchlings/__main__.py,sha256=f-P4jiVBd7ZpS6QxRpa_6SJgOG03UhZhcWasMDRWLs8,120
3
- glitchlings/_zoo_rust.cpython-310-darwin.so,sha256=JiW71HlRNYLu0G2bCRnjHrYxjbQ7fvGXjyc4tAWE-5c,2587040
4
- glitchlings/compat.py,sha256=T_5Ia8yCzZvsMdicZ2TCcOgDO53_AjNGkSXWTR_qEnA,8908
5
- glitchlings/config.py,sha256=ofxDMkoMg4j51CFube54aca1Ky9y_ZeVktXpeUEdWmA,12953
6
- glitchlings/config.toml,sha256=04-Y_JCdQU68SRmwk2qZqrH_bbX4jEH9uh7URtxdIHA,99
7
- glitchlings/main.py,sha256=uw8VbDgxov1m-wYHPDl2dP5ItpLB4ZHpb0ChJXzcL0o,10623
8
- glitchlings/dlc/__init__.py,sha256=qlY4nuagy4AAWuPMwmuhwK2m36ktp-qkeiIxC7OXg34,305
9
- glitchlings/dlc/_shared.py,sha256=EFSnush3rjjaf4La5QfVaf_KEp0U_l_3-q4PKx0A6NQ,1972
10
- glitchlings/dlc/huggingface.py,sha256=9lW7TnTHA_bXyo4Is8pymZchrB9BIL1bMCP2p7LCMtg,2576
11
- glitchlings/dlc/prime.py,sha256=qGFI1d4BiOEIgQZ5v9QnlbYx4J4q-vNlh5tWZng11xs,8607
12
- glitchlings/dlc/pytorch.py,sha256=tfHEDsDAOUnEvImFgRMjqC7Ig_aNVO8suXKpv24C2cA,7823
13
- glitchlings/dlc/pytorch_lightning.py,sha256=Om45BHYx8tMoUwYOOTk5B5A5AIjNkh58V37OC2IBFxE,8553
14
- glitchlings/lexicon/__init__.py,sha256=PLuu63iX6GSRypGI4DxiN_U-QmqmDobk1Xb7B5IrsZg,5951
15
- glitchlings/lexicon/_cache.py,sha256=aWSUb5Ex162dr3HouO2Ic2O8ck3ViEFWs8-XMLKMeJ0,4086
16
- glitchlings/lexicon/metrics.py,sha256=VBFfFpxjiEwZtK-jS55H8xP7MTC_0OjY8lQ5zSQ9aTY,4572
17
- glitchlings/lexicon/vector.py,sha256=yWf-vlN2OEHnTCPu7tgDnJbhm47cmhdrTtjR0RZKkUM,22530
18
- glitchlings/lexicon/wordnet.py,sha256=YcOliPHuesdlekmGspwAyR4fWDDxZWR_dIt_Nsq7ag0,7608
19
- glitchlings/lexicon/data/default_vector_cache.json,sha256=3iVH0nX8EqMbqOkKWvORCGYtN0LKHn5G_Snlizsnm1g,997
20
- glitchlings/util/__init__.py,sha256=vc3EAY8ehRjbOiryFdaqvvljXcyNGtZSPiEp9ok1vVw,4674
21
- glitchlings/util/adapters.py,sha256=psxQFYSFmh1u7NuqtIrKwQP5FOhOrZoxZzc7X7DDi9U,693
22
- glitchlings/zoo/__init__.py,sha256=1dWZPCTXuh5J7WdCxHX7ZX9bNd8bakzYndxQRhF43i8,5243
23
- glitchlings/zoo/_ocr_confusions.py,sha256=Ju2_avXiwsr1p8zWFUTOzMxJ8vT5PpYobuGIn4L_sqI,1204
24
- glitchlings/zoo/_rate.py,sha256=Vb1_5HAzrqr9eAh_zzngSV-d0zI264zcYspnT3VHPkE,504
25
- glitchlings/zoo/_sampling.py,sha256=KrWyUSsYXghlvktS5hQBO0bPqywEEyA49A2qDWInB7Q,1586
26
- glitchlings/zoo/_text_utils.py,sha256=fS5L_eq-foBbBdiv4ymI8-O0D0csc3yDekHpX8bqfV4,2754
27
- glitchlings/zoo/adjax.py,sha256=TABKGQOwpyj_5czSoN8tPyEinwp8oZHKOBfU78ae9n0,3545
28
- glitchlings/zoo/apostrofae.py,sha256=m2-VPO-ahp0zAEJTHPItXMwnpD9D8bQIjVyyIRzj46k,3922
29
- glitchlings/zoo/core.py,sha256=3IHYEo8f2K7q4EbSZBYPb4MQXUVoMPm6B0IgsjiWNXk,20493
30
- glitchlings/zoo/jargoyle.py,sha256=zGXi6WFSzYA_44UXvyK0aj18CMFHIFL4eQeijEHfZl4,11568
31
- glitchlings/zoo/mim1c.py,sha256=-fgodKWZq--Xw8L2t1EqNbsh48bwX5jZxmiXdoaQShI,3437
32
- glitchlings/zoo/ocr_confusions.tsv,sha256=KhtR7vJDTITpfTSGa-I7RHr6CK7LkGi2KjdhEWipI6o,183
33
- glitchlings/zoo/redactyl.py,sha256=9Rtgkg87LnGt47DHKsD8XW25gtg9pv2aXvrFv46XOTQ,5516
34
- glitchlings/zoo/reduple.py,sha256=ttHha3Yl0SRzEyAx9SfENbJRO_WhmJYL8ow5LGKn248,4258
35
- glitchlings/zoo/rushmore.py,sha256=R6dgt4HSvkt31foazNmUhO4wL9PHpjh_7pzJ8vQPgO0,4322
36
- glitchlings/zoo/scannequin.py,sha256=AQ7JPIxLiPFy4fDV6MgO4OFo34dMShc7sipStUaCG40,4900
37
- glitchlings/zoo/typogre.py,sha256=AuAtx-KyWrk-zX3uuxjkvjiduLyDwGJNW7XYktnsuos,6712
38
- glitchlings/zoo/zeedub.py,sha256=3VneZOEeL98Ek1VnZQI4V2o1alv41vvMzZXrKc9Lt1s,4875
39
- glitchlings/zoo/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
- glitchlings/zoo/assets/apostrofae_pairs.json,sha256=bfjSEaMTI_axGNJ93nI431KXU0IVp7ayO42gGcMgL6U,521
41
- glitchlings-0.4.3.dist-info/licenses/LICENSE,sha256=YCvGip-LoaRyu6h0nPo71q6eHEkzUpsE11psDJOIRkw,11337
42
- glitchlings-0.4.3.dist-info/METADATA,sha256=NV0-8T4jx5R2Eswhib6B29vAeoiXBdIDBFOu6KrzqdM,32242
43
- glitchlings-0.4.3.dist-info/WHEEL,sha256=G4cu_uTI97hAXSudQC0D9fpgNQkuavCNljtwFXiUqZM,114
44
- glitchlings-0.4.3.dist-info/entry_points.txt,sha256=kGOwuAsjFDLtztLisaXtOouq9wFVMOJg5FzaAkg-Hto,54
45
- glitchlings-0.4.3.dist-info/top_level.txt,sha256=VHFNBrLjtDwPCYXbGKi6o17Eueedi81eNbR3hBOoST0,12
46
- glitchlings-0.4.3.dist-info/RECORD,,