datashare-python 0.12.6__tar.gz → 0.12.7__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 (30) hide show
  1. {datashare_python-0.12.6 → datashare_python-0.12.7}/PKG-INFO +1 -1
  2. datashare_python-0.12.7/datashare_python/constants.py +212 -0
  3. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/objects.py +9 -10
  4. datashare_python-0.12.7/datashare_python/worker-template.tar.gz +0 -0
  5. {datashare_python-0.12.6 → datashare_python-0.12.7}/pyproject.toml +1 -1
  6. datashare_python-0.12.6/datashare_python/constants.py +0 -16
  7. datashare_python-0.12.6/datashare_python/worker-template.tar.gz +0 -0
  8. {datashare_python-0.12.6 → datashare_python-0.12.7}/.gitignore +0 -0
  9. {datashare_python-0.12.6 → datashare_python-0.12.7}/README.md +0 -0
  10. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/.gitignore +0 -0
  11. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/__init__.py +0 -0
  12. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/__main__.py +0 -0
  13. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/cli/__init__.py +0 -0
  14. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/cli/project.py +0 -0
  15. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/cli/task.py +0 -0
  16. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/cli/utils.py +0 -0
  17. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/cli/worker.py +0 -0
  18. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/config.py +0 -0
  19. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/conftest.py +0 -0
  20. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/dependencies.py +0 -0
  21. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/discovery.py +0 -0
  22. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/exceptions.py +0 -0
  23. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/interceptors.py +0 -0
  24. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/logging_.py +0 -0
  25. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/mimetypes_.py +0 -0
  26. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/task_client.py +0 -0
  27. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/template.py +0 -0
  28. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/types_.py +0 -0
  29. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/utils.py +0 -0
  30. {datashare_python-0.12.6 → datashare_python-0.12.7}/datashare_python/worker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: datashare-python
3
- Version: 0.12.6
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/
@@ -0,0 +1,212 @@
1
+ from copy import deepcopy
2
+ from pathlib import Path
3
+
4
+ PACKAGE_DIR = Path(__file__).parent
5
+ PACKAGE_ROOT = PACKAGE_DIR.parent
6
+
7
+
8
+ DEFAULT_TEMPORAL_ADDRESS = "temporal:7233"
9
+
10
+ DEFAULT_DS_ADDRESS = "http://localhost:8080"
11
+
12
+ DEFAULT_NAMESPACE = "datashare-default"
13
+
14
+ METADATA_JSON = "metadata.json"
15
+ MANIFEST_JSON = "manifest.json"
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "datashare-python"
3
- version = "0.12.6"
3
+ version = "0.12.7"
4
4
  description = "Manage Python tasks and local resources in Datashare"
5
5
  authors = [
6
6
  { name = "Clément Doumouro", email = "cdoumouro@icij.org" },
@@ -1,16 +0,0 @@
1
- from pathlib import Path
2
-
3
- PACKAGE_DIR = Path(__file__).parent
4
- PACKAGE_ROOT = PACKAGE_DIR.parent
5
-
6
-
7
- DEFAULT_TEMPORAL_ADDRESS = "temporal:7233"
8
-
9
- DEFAULT_DS_ADDRESS = "http://localhost:8080"
10
-
11
- DEFAULT_NAMESPACE = "datashare-default"
12
-
13
- METADATA_JSON = "metadata.json"
14
- MANIFEST_JSON = "manifest.json"
15
-
16
- TIKA_METADATA_RESOURCENAME = "tika_metadata_resourcename"