signwriting 0.1.2__tar.gz → 0.1.3__tar.gz

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.
Files changed (72) hide show
  1. {signwriting-0.1.2/signwriting.egg-info → signwriting-0.1.3}/PKG-INFO +1 -1
  2. {signwriting-0.1.2 → signwriting-0.1.3}/pyproject.toml +1 -1
  3. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/visualizer/visualize.py +15 -3
  4. {signwriting-0.1.2 → signwriting-0.1.3/signwriting.egg-info}/PKG-INFO +1 -1
  5. {signwriting-0.1.2 → signwriting-0.1.3}/LICENSE +0 -0
  6. {signwriting-0.1.2 → signwriting-0.1.3}/README.md +0 -0
  7. {signwriting-0.1.2 → signwriting-0.1.3}/setup.cfg +0 -0
  8. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/__init__.py +0 -0
  9. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/__init__.py +0 -0
  10. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/da-dk-dsl-dts.txt +0 -0
  11. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/de-ch-sgg-dsgs.txt +0 -0
  12. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/de-de-gsg-dgs.txt +0 -0
  13. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/en-gb-bfi-bsl.txt +0 -0
  14. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/en-ie-isg-isl.txt +0 -0
  15. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/en-us-ase-asl.txt +0 -0
  16. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/es-es-ssp-lse.txt +0 -0
  17. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/es-hn-hds-lesho.txt +0 -0
  18. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/es-mx-mfs-lsm.txt +0 -0
  19. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/es-ni-ncs-isn.txt +0 -0
  20. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/fr-be-sfb-lsfb.txt +0 -0
  21. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/fr-fr-fsl-lsf.txt +0 -0
  22. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/he-il-isr-isl.txt +0 -0
  23. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/it-it-ise-lis.txt +0 -0
  24. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/ja-jp-jsl-jsl.txt +0 -0
  25. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/ko-kr-ko-ksl.txt +0 -0
  26. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/nl-be-vgt-vgt.txt +0 -0
  27. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/no-no-nsl-nsl.txt +0 -0
  28. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/pt-br-bzs-libras.txt +0 -0
  29. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/pt-pt-psr-lsp.txt +0 -0
  30. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/sv-se-swl-ssl.txt +0 -0
  31. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/th-th-tsq-thsl.txt +0 -0
  32. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/data/zh-cn-csl-csl.txt +0 -0
  33. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/fingerspelling.py +0 -0
  34. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/server.py +0 -0
  35. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/test_fingerspelling.py +0 -0
  36. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/fingerspelling/visualize_fingerspelling.py +0 -0
  37. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/formats/__init__.py +0 -0
  38. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/formats/fsw_to_sign.py +0 -0
  39. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/formats/fsw_to_swu.py +0 -0
  40. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/formats/sign_to_fsw.py +0 -0
  41. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/formats/swu.py +0 -0
  42. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/formats/swu_to_fsw.py +0 -0
  43. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/formats/test_fsw_to_sign.py +0 -0
  44. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/formats/test_swu.py +0 -0
  45. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/formats/test_swu_to_fsw.py +0 -0
  46. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/hamnosys/parallel.json +0 -0
  47. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/mouthing/__init__.py +0 -0
  48. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/mouthing/mouthing.json +0 -0
  49. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/mouthing/mouthing.py +0 -0
  50. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/mouthing/server.py +0 -0
  51. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/mouthing/visualize_mouthing.py +0 -0
  52. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/server.py +0 -0
  53. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/tokenizer/__init__.py +0 -0
  54. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/tokenizer/base_tokenizer.py +0 -0
  55. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/tokenizer/signwriting_normalizer.py +0 -0
  56. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/tokenizer/signwriting_tokenizer.py +0 -0
  57. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/tokenizer/test_signwriting_normalizer.py +0 -0
  58. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/tokenizer/test_signwriting_tokenizer.py +0 -0
  59. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/types.py +0 -0
  60. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/utils/__init__.py +0 -0
  61. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/utils/join_signs.py +0 -0
  62. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/utils/test_join_signs.py +0 -0
  63. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/visualizer/SuttonSignWritingFill.ttf +0 -0
  64. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/visualizer/SuttonSignWritingLine.ttf +0 -0
  65. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/visualizer/SuttonSignWritingOneD.ttf +0 -0
  66. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/visualizer/__init__.py +0 -0
  67. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/visualizer/server.py +0 -0
  68. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting/visualizer/test_visualize.py +0 -0
  69. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting.egg-info/SOURCES.txt +0 -0
  70. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting.egg-info/dependency_links.txt +0 -0
  71. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting.egg-info/requires.txt +0 -0
  72. {signwriting-0.1.2 → signwriting-0.1.3}/signwriting.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: signwriting
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: Python utilities for SignWriting.
5
5
  Author-email: Amit Moryossef <amitmoryossef@gmail.com>
6
6
  Description-Content-Type: text/markdown
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "signwriting"
3
3
  description = "Python utilities for SignWriting."
4
- version = "v0.1.2"
4
+ version = "v0.1.3"
5
5
  authors = [
6
6
  { name = "Amit Moryossef", email = "amitmoryossef@gmail.com" }
7
7
  ]
@@ -1,4 +1,5 @@
1
- from functools import lru_cache
1
+ import os
2
+ from functools import cache
2
3
  from pathlib import Path
3
4
  from typing import Tuple, List, Literal, Union
4
5
 
@@ -13,13 +14,13 @@ from signwriting.formats.swu_to_fsw import swu2fsw
13
14
  RGBA = Tuple[int, int, int, int]
14
15
 
15
16
 
16
- @lru_cache(maxsize=None)
17
+ @cache
17
18
  def get_font(font_name: str) -> ImageFont.FreeTypeFont:
18
19
  font_path = Path(__file__).parent / f'{font_name}.ttf'
19
20
  return ImageFont.truetype(str(font_path), 30)
20
21
 
21
22
 
22
- @lru_cache(maxsize=None)
23
+ @cache
23
24
  def get_symbol_size(symbol: str):
24
25
  font = get_font('SuttonSignWritingLine')
25
26
  line_id = symbol_line(key2id(symbol))
@@ -27,6 +28,17 @@ def get_symbol_size(symbol: str):
27
28
  return right - left, bottom - top
28
29
 
29
30
 
31
+ def _clear_caches_after_fork():
32
+ # ImageFont objects cached by lru_cache can become corrupted after fork(),
33
+ # causing garbage data (e.g., wrong image dimensions). Clear caches in child
34
+ # processes so fonts are reloaded fresh.
35
+ get_font.cache_clear()
36
+ get_symbol_size.cache_clear()
37
+
38
+
39
+ os.register_at_fork(after_in_child=_clear_caches_after_fork)
40
+
41
+
30
42
  # pylint: disable=too-many-locals, too-many-arguments
31
43
  def signwriting_to_image(fsw: Union[str, List[str]], antialiasing=True, trust_box=True, embedded_color=False,
32
44
  line_color: RGBA = (0, 0, 0, 255),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: signwriting
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: Python utilities for SignWriting.
5
5
  Author-email: Amit Moryossef <amitmoryossef@gmail.com>
6
6
  Description-Content-Type: text/markdown
File without changes
File without changes
File without changes