datashare-python 0.12.5__py3-none-any.whl → 0.12.7__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.
@@ -1,3 +1,4 @@
1
+ from copy import deepcopy
1
2
  from pathlib import Path
2
3
 
3
4
  PACKAGE_DIR = Path(__file__).parent
@@ -14,3 +15,198 @@ METADATA_JSON = "metadata.json"
14
15
  MANIFEST_JSON = "manifest.json"
15
16
 
16
17
  TIKA_METADATA_RESOURCENAME = "tika_metadata_resourcename"
18
+
19
+
20
+ _LANGUAGES = {
21
+ "ABKHAZIAN": ("ab", "abk"),
22
+ "AFAR": ("aa", "aar"),
23
+ "AFRIKAANS": ("af", "afr"),
24
+ "AKAN": ("ak", "aka"),
25
+ "ALBANIAN": ("sq", "sqi"),
26
+ "AMHARIC": ("am", "amh"),
27
+ "ARABIC": ("ar", "ara"),
28
+ "ARAGONESE": ("an", "arg"),
29
+ "ARMENIAN": ("hy", "hye"),
30
+ "ASSAMESE": ("as", "asm"),
31
+ "AVARIC": ("av", "ava"),
32
+ "AVESTAN": ("ae", "ave"),
33
+ "AYMARA": ("ay", "aym"),
34
+ "AZERBAIJANI": ("az", "aze"),
35
+ "BAMBARA": ("bm", "bam"),
36
+ "BASHKIR": ("ba", "bak"),
37
+ "BASQUE": ("eu", "eus"),
38
+ "BELARUSIAN": ("be", "bel"),
39
+ "BENGALI": ("bn", "ben"),
40
+ "BIHARI": ("bh", "bih"),
41
+ "BISLAMA": ("bi", "bis"),
42
+ "BOSNIAN": ("bs", "bos"),
43
+ "BRETON": ("br", "bre"),
44
+ "BULGARIAN": ("bg", "bul"),
45
+ "BURMESE": ("my", "mya"),
46
+ "CATALAN": ("ca", "cat"),
47
+ "CHAMORRO": ("ch", "cha"),
48
+ "CHECHEN": ("ce", "che"),
49
+ "CHICHEWA": ("ny", "nya"),
50
+ "CHINESE": ("zh", "zho"),
51
+ "CHUVASH": ("cv", "chv"),
52
+ "CORNISH": ("kw", "cor"),
53
+ "CORSICAN": ("co", "cos"),
54
+ "CREE": ("cr", "cre"),
55
+ "CROATIAN": ("hr", "hrv"),
56
+ "CZECH": ("cs", "ces"),
57
+ "DANISH": ("da", "dan"),
58
+ "MALDIVIAN": ("dv", "div"),
59
+ "DUTCH": ("nl", "nld"),
60
+ "DZONGKHA": ("dz", "dzo"),
61
+ "ENGLISH": ("en", "eng"),
62
+ "ESPERANTO": ("eo", "epo"),
63
+ "ESTONIAN": ("et", "est"),
64
+ "EWE": ("ee", "ewe"),
65
+ "FAROESE": ("fo", "fao"),
66
+ "FIJIAN": ("fj", "fij"),
67
+ "FINNISH": ("fi", "fin"),
68
+ "FRENCH": ("fr", "fra"),
69
+ "FULAH": ("ff", "ful"),
70
+ "GALICIAN": ("gl", "glg"),
71
+ "GEORGIAN": ("ka", "kat"),
72
+ "GERMAN": ("de", "deu"),
73
+ "GREEK": ("el", "ell"),
74
+ "GUARANI": ("gn", "grn"),
75
+ "GUJARATI": ("gu", "guj"),
76
+ "HAITIAN": ("ht", "hat"),
77
+ "HAUSA": ("ha", "hau"),
78
+ "HEBREW": ("he", "heb"),
79
+ "HERERO": ("hz", "her"),
80
+ "HINDI": ("hi", "hin"),
81
+ "HIRIMOTU": ("ho", "hmo"),
82
+ "HUNGARIAN": ("hu", "hun"),
83
+ "INTERLINGUA": ("ia", "ina"),
84
+ "INDONESIAN": ("id", "ind"),
85
+ "INTERLIGUE": ("ie", "ile"),
86
+ "IRISH": ("ga", "gle"),
87
+ "IGBO": ("ig", "ibo"),
88
+ "INUPIAQ": ("ik", "ipk"),
89
+ "IDO": ("io", "ido"),
90
+ "ICELANDIC": ("is", "isl"),
91
+ "ITALIAN": ("it", "ita"),
92
+ "INUKTITUT": ("iu", "iku"),
93
+ "JAPANESE": ("ja", "jpn"),
94
+ "JAVANESE": ("jv", "jav"),
95
+ "GREENLANDIC": ("kl", "kal"),
96
+ "KANNADA": ("kn", "kan"),
97
+ "KANURI": ("kr", "kau"),
98
+ "KASHMIRI": ("ks", "kas"),
99
+ "KAZAKH": ("kk", "kaz"),
100
+ "CENTRALKHMER": ("km", "khm"),
101
+ "KIKUYU": ("ki", "kik"),
102
+ "KINYARWANDA": ("rw", "kin"),
103
+ "KIRGHIZ": ("ky", "kir"),
104
+ "KOMI": ("kv", "kom"),
105
+ "KONGO": ("kg", "kon"),
106
+ "KOREAN": ("ko", "kor"),
107
+ "KURDISH": ("ku", "kur"),
108
+ "KUANYAMA": ("kj", "kua"),
109
+ "LATIN": ("la", "lat"),
110
+ "LUXEMBOURGISH": ("lb", "ltz"),
111
+ "GANDA": ("lg", "lug"),
112
+ "LIMBURGAN": ("li", "lim"),
113
+ "LINGALA": ("ln", "lin"),
114
+ "LAO": ("lo", "lao"),
115
+ "LITHUANIAN": ("lt", "lit"),
116
+ "LUBAKATANGA": ("lu", "lub"),
117
+ "LATVIAN": ("lv", "lav"),
118
+ "MANX": ("gv", "glv"),
119
+ "MACEDONIAN": ("mk", "mkd"),
120
+ "MALAGASY": ("mg", "mlg"),
121
+ "MALAY": ("ms", "msa"),
122
+ "MALAYALAM": ("ml", "mal"),
123
+ "MALTESE": ("mt", "mlt"),
124
+ "MAORI": ("mi", "mri"),
125
+ "MARATHI": ("mr", "mar"),
126
+ "MARSHALLESE": ("mh", "mah"),
127
+ "MONGOLIAN": ("mn", "mon"),
128
+ "NAURU": ("na", "nau"),
129
+ "NAVAJO": ("nv", "nav"),
130
+ "NORTHNDEBELE": ("nd", "nde"),
131
+ "NEPALI": ("ne", "nep"),
132
+ "NDONGA": ("ng", "ndo"),
133
+ "NORWEGIANBOKMAL": ("nb", "nob"),
134
+ "NORWEGIANNYNORSK": ("nn", "nno"),
135
+ "NORWEGIAN": ("no", "nor"),
136
+ "SICHUANYI": ("ii", "iii"),
137
+ "SOUTHNDEBELE": ("nr", "nbl"),
138
+ "OCCITAN": ("oc", "oci"),
139
+ "OJIBWA": ("oj", "oji"),
140
+ "OLDSLAVONIC": ("cu", "chu"),
141
+ "OROMO": ("om", "orm"),
142
+ "ORIYA": ("or", "ori"),
143
+ "OSSETIAN": ("os", "oss"),
144
+ "PANJABI": ("pa", "pan"),
145
+ "PALI": ("pi", "pli"),
146
+ "PERSIAN": ("fa", "fas"),
147
+ "POLISH": ("pl", "pol"),
148
+ "PASHTO": ("ps", "pus"),
149
+ "PORTUGUESE": ("pt", "por"),
150
+ "QUECHUA": ("qu", "que"),
151
+ "ROMANSH": ("rm", "roh"),
152
+ "ROMANIAN": ("ro", "ron"),
153
+ "RUNDI": ("rn", "run"),
154
+ "MOLDAVIAN": ("ro", "ron"),
155
+ "MOLDOVAN": ("ro", "ron"),
156
+ "RUSSIAN": ("ru", "rus"),
157
+ "SANSKRIT": ("sa", "san"),
158
+ "SARDINIAN": ("sc", "srd"),
159
+ "SINDHI": ("sd", "snd"),
160
+ "NORTHERNSAMI": ("se", "sme"),
161
+ "SAMOAN": ("sm", "smo"),
162
+ "SANGO": ("sg", "sag"),
163
+ "SERBIAN": ("sr", "srp"),
164
+ "GAELIC": ("gd", "gla"),
165
+ "SHONA": ("sn", "sna"),
166
+ "SINHALESE": ("si", "sin"),
167
+ "SLOVAK": ("sk", "slk"),
168
+ "SLOVENIAN": ("sl", "slv"),
169
+ "SOMALI": ("so", "som"),
170
+ "SOUTHERNSOTHO": ("st", "sot"),
171
+ "SPANISH": ("es", "spa"),
172
+ "SUNDANESE": ("su", "sun"),
173
+ "SWAHILI": ("sw", "swa"),
174
+ "SWATI": ("ss", "ssw"),
175
+ "SWEDISH": ("sv", "swe"),
176
+ "TAMIL": ("ta", "tam"),
177
+ "TELUGU": ("te", "tel"),
178
+ "TAJIK": ("tg", "tgk"),
179
+ "THAI": ("th", "tha"),
180
+ "TIGRINYA": ("ti", "tir"),
181
+ "TIBETAN": ("bo", "bod"),
182
+ "TURKMEN": ("tk", "tuk"),
183
+ "TAGALOG": ("tl", "tgl"),
184
+ "TSWANA": ("tn", "tsn"),
185
+ "TONGA": ("to", "ton"),
186
+ "TURKISH": ("tr", "tur"),
187
+ "TSONGA": ("ts", "tso"),
188
+ "TATAR": ("tt", "tat"),
189
+ "TWI": ("tw", "twi"),
190
+ "TAHITIAN": ("ty", "tah"),
191
+ "UIGHUR": ("ug", "uig"),
192
+ "UKRAINIAN": ("uk", "ukr"),
193
+ "URDU": ("ur", "urd"),
194
+ "UZBEK": ("uz", "uzb"),
195
+ "VENDA": ("ve", "ven"),
196
+ "VIETNAMESE": ("vi", "vie"),
197
+ "VOLAPUK": ("vo", "vol"),
198
+ "WALLOON": ("wa", "wln"),
199
+ "WELSH": ("cy", "cym"),
200
+ "WOLOF": ("wo", "wol"),
201
+ "WESTERNFRISIAN": ("fy", "fry"),
202
+ "XHOSA": ("xh", "xho"),
203
+ "YIDDISH": ("yi", "yid"),
204
+ "YORUBA": ("yo", "yor"),
205
+ "ZHUANG": ("za", "zha"),
206
+ "ZULU": ("zu", "zul"),
207
+ "UNKNOWN": ("un", "ukn"),
208
+ }
209
+
210
+
211
+ def get_datashare_languages() -> dict[str, tuple[str, str]]:
212
+ return deepcopy(_LANGUAGES)
@@ -14,12 +14,11 @@ from typing import Annotated, Any, ClassVar, Literal, Self, TypeVar, cast, final
14
14
 
15
15
  import langcodes
16
16
  from icij_common.registrable import Registrable
17
- from pydantic_core import PydanticCustomError, ValidationError, core_schema
17
+ from pydantic_core import PydanticCustomError, core_schema
18
18
  from pydantic_core.core_schema import PlainValidatorFunctionSchema
19
- from pydantic_extra_types.language_code import LanguageName
20
19
  from temporalio import activity, workflow
21
20
 
22
- from .constants import TIKA_METADATA_RESOURCENAME
21
+ from .constants import TIKA_METADATA_RESOURCENAME, get_datashare_languages
23
22
 
24
23
  with workflow.unsafe.imports_passed_through():
25
24
  from icij_common.es import (
@@ -81,7 +80,7 @@ class DatashareModel(BaseModel):
81
80
 
82
81
 
83
82
  class DatashareLanguage(str):
84
- _language_type_adapter: ClassVar[TypeAdapter] = TypeAdapter(LanguageName)
83
+ _languages: ClassVar[dict[str, tuple[str, str]]] = get_datashare_languages()
85
84
 
86
85
  @classmethod
87
86
  def _validate(cls, __input_value: str, _: core_schema.ValidationInfo) -> Self:
@@ -91,8 +90,8 @@ class DatashareLanguage(str):
91
90
  )
92
91
  try:
93
92
  # Use pydantic provided validation
94
- cls._language_type_adapter.validate_python(__input_value.title())
95
- except ValidationError as e:
93
+ cls._languages[__input_value]
94
+ except KeyError as e:
96
95
  raise PydanticCustomError(
97
96
  "datashare_language", "Unknown Datashare language"
98
97
  ) from e
@@ -109,16 +108,16 @@ class DatashareLanguage(str):
109
108
  )
110
109
 
111
110
  @property
112
- def as_language_name(self) -> LanguageName:
113
- return LanguageName(self.title())
111
+ def as_language_name(self) -> str:
112
+ return self
114
113
 
115
114
  @property
116
115
  def alpha2(self) -> str | None:
117
- return self.as_language_name.alpha2
116
+ return self._languages[self][0]
118
117
 
119
118
  @property
120
119
  def alpha3(self) -> str:
121
- return self.as_language_name.alpha3
120
+ return self._languages[self][1]
122
121
 
123
122
 
124
123
  @unique
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: datashare-python
3
- Version: 0.12.5
3
+ Version: 0.12.7
4
4
  Summary: Manage Python tasks and local resources in Datashare
5
5
  Project-URL: Homepage, https://icij.github.io/datashare-python/
6
6
  Project-URL: Documentation, https://icij.github.io/datashare-python/
@@ -3,26 +3,26 @@ datashare_python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
3
3
  datashare_python/__main__.py,sha256=g-fvS46zl9umKmGrSpl-OG-8PSuZgjqvTCqjpsZtSps,101
4
4
  datashare_python/config.py,sha256=MXw9Y6H90OPBE7GqOgtSl8MJ50EAF_u6uWotiAVj2fg,5098
5
5
  datashare_python/conftest.py,sha256=fpjgOBBKzwtIArcyC4qbcyTpMtr2nf0N2p-8WKkRvgs,13827
6
- datashare_python/constants.py,sha256=-Irwd2bbnFGIkLVJi_SiQ7PM2eNW3Ia_co4SE6z4j-A,352
6
+ datashare_python/constants.py,sha256=ELS71jupoHAYTPrCvjWizCJUdzNbOiwza58CG2WP4lU,6136
7
7
  datashare_python/dependencies.py,sha256=Q-BIhCwWu-GGp9omYNhENZ88cF0QJ8spfaMZX40mmNU,4386
8
8
  datashare_python/discovery.py,sha256=3mUck2GUSKu2DSP9-MM1OdVM4FqFKqfBeSQDQZxgh2g,7177
9
9
  datashare_python/exceptions.py,sha256=bVHEAXxDPKfxeeMC0hJXEsrJkgsKO2ESAhxWU96GA4M,496
10
10
  datashare_python/interceptors.py,sha256=-XC-y_MvGyHlZQ6jItfMRPAmKwQkQzzncpAGxceKlwM,16485
11
11
  datashare_python/logging_.py,sha256=96KNXhP-JR5ybu9dld4VLtF7v7PfiphOCR1Nio-mmUs,4483
12
12
  datashare_python/mimetypes_.py,sha256=omd2g8JyN-tfZL-lmxbWsjgc987iUe5w87ZpEtbyUK0,49930
13
- datashare_python/objects.py,sha256=oFAbqrAMHDWITOp9uNJkTOV7l0XXzfWCn964unb_DU4,26878
13
+ datashare_python/objects.py,sha256=mRkqeK_nRJIvfbT5VjsynOl01TNO5JtvxE-ISlJ5T80,26747
14
14
  datashare_python/task_client.py,sha256=oTmP8bvZW0UyhLNMi1AV3XIAx7hrdbxNRss2Mw2azEc,8435
15
15
  datashare_python/template.py,sha256=N1uM8TRXh5tQPV7BC1oJj-Pdm2Gs_SkjaXv50RnNYso,4682
16
16
  datashare_python/types_.py,sha256=cPcCkIk6ecILrKetPnAsrb0njHYuWJU3eZicUXy2lF8,1278
17
17
  datashare_python/utils.py,sha256=Y0rNipGGW4yhOK6GrhXP9cdmHWMis2oFUxRsNK9eBMU,33254
18
- datashare_python/worker-template.tar.gz,sha256=0zaBIGRlxWW9pZPnaA8_XFZhIAGfk58uCEE_67BWq5U,281032
18
+ datashare_python/worker-template.tar.gz,sha256=O8vuZNRdTSbxgUxqGpJ7Ja2vnVFsnCI6eMglGmePUtM,281040
19
19
  datashare_python/worker.py,sha256=ad36_yJOgwtj8KBheWndGkqaP_2aXTPSrYaHrbCXTvg,8389
20
20
  datashare_python/cli/__init__.py,sha256=9BPWtssDgsVfWMsZ1TtZCla0EC_kai4RHttr8oNLYOE,1401
21
21
  datashare_python/cli/project.py,sha256=w32Gy9AOL5B00uDT4in7YUCt2g68FnNbvwg2M3a8G6o,946
22
22
  datashare_python/cli/task.py,sha256=GsyR5o0fN4Pd8tJKAUgivAvCBKT3L4Ay5j_BCW1XBHk,5828
23
23
  datashare_python/cli/utils.py,sha256=p69CQb0zfixuyBkiZprhdMCc_NuYwXyAn6vC9H1UzAw,911
24
24
  datashare_python/cli/worker.py,sha256=x0p3a1_NsZPbmV7-WSVMRyW3_iadYcgyZKbDvWgymQc,5790
25
- datashare_python-0.12.5.dist-info/METADATA,sha256=VOiUCXh8AJ3yxhgj52fioQpB6iMtmRVURTcAHvU0JJk,1012
26
- datashare_python-0.12.5.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
27
- datashare_python-0.12.5.dist-info/entry_points.txt,sha256=ILE7auxabHWiu3GC-AunWnzjhOI_SbZp7D4GqZHlLw4,68
28
- datashare_python-0.12.5.dist-info/RECORD,,
25
+ datashare_python-0.12.7.dist-info/METADATA,sha256=Vre1xB6yHn9gpgEmyt-dVXFfQss0lAYAoBDJRtCNiAs,1012
26
+ datashare_python-0.12.7.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
27
+ datashare_python-0.12.7.dist-info/entry_points.txt,sha256=ILE7auxabHWiu3GC-AunWnzjhOI_SbZp7D4GqZHlLw4,68
28
+ datashare_python-0.12.7.dist-info/RECORD,,