pyswordfish 3.0.4.0__cp312-cp312-win_amd64.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.
Files changed (644) hide show
  1. pyswordfish-3.0.4.0.dist-info/METADATA +53 -0
  2. pyswordfish-3.0.4.0.dist-info/RECORD +644 -0
  3. pyswordfish-3.0.4.0.dist-info/WHEEL +5 -0
  4. pyswordfish-3.0.4.0.dist-info/top_level.txt +1 -0
  5. swordfish/__init__.py +102 -0
  6. swordfish/_config.py +901 -0
  7. swordfish/_connection.py +1418 -0
  8. swordfish/_core.py +17 -0
  9. swordfish/_engine.py +1456 -0
  10. swordfish/_enums.py +142 -0
  11. swordfish/_function_bindings.py +23594 -0
  12. swordfish/_function_tools.py +124 -0
  13. swordfish/_helper.py +57 -0
  14. swordfish/_runtime.py +158 -0
  15. swordfish/_sqlbuilder.py +549 -0
  16. swordfish/_streaming.py +333 -0
  17. swordfish/_swordfishcpp.cp312-win_amd64.pyd +0 -0
  18. swordfish/_swordfishcpp.pyi +4784 -0
  19. swordfish/_translator.py +580 -0
  20. swordfish/asset/dolphindb.dos +71 -0
  21. swordfish/asset/tzdb/Africa/Abidjan +0 -0
  22. swordfish/asset/tzdb/Africa/Accra +0 -0
  23. swordfish/asset/tzdb/Africa/Addis_Ababa +0 -0
  24. swordfish/asset/tzdb/Africa/Algiers +0 -0
  25. swordfish/asset/tzdb/Africa/Asmara +0 -0
  26. swordfish/asset/tzdb/Africa/Asmera +0 -0
  27. swordfish/asset/tzdb/Africa/Bamako +0 -0
  28. swordfish/asset/tzdb/Africa/Bangui +0 -0
  29. swordfish/asset/tzdb/Africa/Banjul +0 -0
  30. swordfish/asset/tzdb/Africa/Bissau +0 -0
  31. swordfish/asset/tzdb/Africa/Blantyre +0 -0
  32. swordfish/asset/tzdb/Africa/Brazzaville +0 -0
  33. swordfish/asset/tzdb/Africa/Bujumbura +0 -0
  34. swordfish/asset/tzdb/Africa/Cairo +0 -0
  35. swordfish/asset/tzdb/Africa/Casablanca +0 -0
  36. swordfish/asset/tzdb/Africa/Ceuta +0 -0
  37. swordfish/asset/tzdb/Africa/Conakry +0 -0
  38. swordfish/asset/tzdb/Africa/Dakar +0 -0
  39. swordfish/asset/tzdb/Africa/Dar_es_Salaam +0 -0
  40. swordfish/asset/tzdb/Africa/Djibouti +0 -0
  41. swordfish/asset/tzdb/Africa/Douala +0 -0
  42. swordfish/asset/tzdb/Africa/El_Aaiun +0 -0
  43. swordfish/asset/tzdb/Africa/Freetown +0 -0
  44. swordfish/asset/tzdb/Africa/Gaborone +0 -0
  45. swordfish/asset/tzdb/Africa/Harare +0 -0
  46. swordfish/asset/tzdb/Africa/Johannesburg +0 -0
  47. swordfish/asset/tzdb/Africa/Juba +0 -0
  48. swordfish/asset/tzdb/Africa/Kampala +0 -0
  49. swordfish/asset/tzdb/Africa/Khartoum +0 -0
  50. swordfish/asset/tzdb/Africa/Kigali +0 -0
  51. swordfish/asset/tzdb/Africa/Kinshasa +0 -0
  52. swordfish/asset/tzdb/Africa/Lagos +0 -0
  53. swordfish/asset/tzdb/Africa/Libreville +0 -0
  54. swordfish/asset/tzdb/Africa/Lome +0 -0
  55. swordfish/asset/tzdb/Africa/Luanda +0 -0
  56. swordfish/asset/tzdb/Africa/Lubumbashi +0 -0
  57. swordfish/asset/tzdb/Africa/Lusaka +0 -0
  58. swordfish/asset/tzdb/Africa/Malabo +0 -0
  59. swordfish/asset/tzdb/Africa/Maputo +0 -0
  60. swordfish/asset/tzdb/Africa/Maseru +0 -0
  61. swordfish/asset/tzdb/Africa/Mbabane +0 -0
  62. swordfish/asset/tzdb/Africa/Mogadishu +0 -0
  63. swordfish/asset/tzdb/Africa/Monrovia +0 -0
  64. swordfish/asset/tzdb/Africa/Nairobi +0 -0
  65. swordfish/asset/tzdb/Africa/Ndjamena +0 -0
  66. swordfish/asset/tzdb/Africa/Niamey +0 -0
  67. swordfish/asset/tzdb/Africa/Nouakchott +0 -0
  68. swordfish/asset/tzdb/Africa/Ouagadougou +0 -0
  69. swordfish/asset/tzdb/Africa/Porto-Novo +0 -0
  70. swordfish/asset/tzdb/Africa/Sao_Tome +0 -0
  71. swordfish/asset/tzdb/Africa/Timbuktu +0 -0
  72. swordfish/asset/tzdb/Africa/Tripoli +0 -0
  73. swordfish/asset/tzdb/Africa/Tunis +0 -0
  74. swordfish/asset/tzdb/Africa/Windhoek +0 -0
  75. swordfish/asset/tzdb/America/Adak +0 -0
  76. swordfish/asset/tzdb/America/Anchorage +0 -0
  77. swordfish/asset/tzdb/America/Anguilla +0 -0
  78. swordfish/asset/tzdb/America/Antigua +0 -0
  79. swordfish/asset/tzdb/America/Araguaina +0 -0
  80. swordfish/asset/tzdb/America/Argentina/Buenos_Aires +0 -0
  81. swordfish/asset/tzdb/America/Argentina/Catamarca +0 -0
  82. swordfish/asset/tzdb/America/Argentina/ComodRivadavia +0 -0
  83. swordfish/asset/tzdb/America/Argentina/Cordoba +0 -0
  84. swordfish/asset/tzdb/America/Argentina/Jujuy +0 -0
  85. swordfish/asset/tzdb/America/Argentina/La_Rioja +0 -0
  86. swordfish/asset/tzdb/America/Argentina/Mendoza +0 -0
  87. swordfish/asset/tzdb/America/Argentina/Rio_Gallegos +0 -0
  88. swordfish/asset/tzdb/America/Argentina/Salta +0 -0
  89. swordfish/asset/tzdb/America/Argentina/San_Juan +0 -0
  90. swordfish/asset/tzdb/America/Argentina/San_Luis +0 -0
  91. swordfish/asset/tzdb/America/Argentina/Tucuman +0 -0
  92. swordfish/asset/tzdb/America/Argentina/Ushuaia +0 -0
  93. swordfish/asset/tzdb/America/Aruba +0 -0
  94. swordfish/asset/tzdb/America/Asuncion +0 -0
  95. swordfish/asset/tzdb/America/Atikokan +0 -0
  96. swordfish/asset/tzdb/America/Atka +0 -0
  97. swordfish/asset/tzdb/America/Bahia +0 -0
  98. swordfish/asset/tzdb/America/Bahia_Banderas +0 -0
  99. swordfish/asset/tzdb/America/Barbados +0 -0
  100. swordfish/asset/tzdb/America/Belem +0 -0
  101. swordfish/asset/tzdb/America/Belize +0 -0
  102. swordfish/asset/tzdb/America/Blanc-Sablon +0 -0
  103. swordfish/asset/tzdb/America/Boa_Vista +0 -0
  104. swordfish/asset/tzdb/America/Bogota +0 -0
  105. swordfish/asset/tzdb/America/Boise +0 -0
  106. swordfish/asset/tzdb/America/Buenos_Aires +0 -0
  107. swordfish/asset/tzdb/America/Cambridge_Bay +0 -0
  108. swordfish/asset/tzdb/America/Campo_Grande +0 -0
  109. swordfish/asset/tzdb/America/Cancun +0 -0
  110. swordfish/asset/tzdb/America/Caracas +0 -0
  111. swordfish/asset/tzdb/America/Catamarca +0 -0
  112. swordfish/asset/tzdb/America/Cayenne +0 -0
  113. swordfish/asset/tzdb/America/Cayman +0 -0
  114. swordfish/asset/tzdb/America/Chicago +0 -0
  115. swordfish/asset/tzdb/America/Chihuahua +0 -0
  116. swordfish/asset/tzdb/America/Coral_Harbour +0 -0
  117. swordfish/asset/tzdb/America/Cordoba +0 -0
  118. swordfish/asset/tzdb/America/Costa_Rica +0 -0
  119. swordfish/asset/tzdb/America/Creston +0 -0
  120. swordfish/asset/tzdb/America/Cuiaba +0 -0
  121. swordfish/asset/tzdb/America/Curacao +0 -0
  122. swordfish/asset/tzdb/America/Danmarkshavn +0 -0
  123. swordfish/asset/tzdb/America/Dawson +0 -0
  124. swordfish/asset/tzdb/America/Dawson_Creek +0 -0
  125. swordfish/asset/tzdb/America/Denver +0 -0
  126. swordfish/asset/tzdb/America/Detroit +0 -0
  127. swordfish/asset/tzdb/America/Dominica +0 -0
  128. swordfish/asset/tzdb/America/Edmonton +0 -0
  129. swordfish/asset/tzdb/America/Eirunepe +0 -0
  130. swordfish/asset/tzdb/America/El_Salvador +0 -0
  131. swordfish/asset/tzdb/America/Ensenada +0 -0
  132. swordfish/asset/tzdb/America/Fort_Nelson +0 -0
  133. swordfish/asset/tzdb/America/Fort_Wayne +0 -0
  134. swordfish/asset/tzdb/America/Fortaleza +0 -0
  135. swordfish/asset/tzdb/America/Glace_Bay +0 -0
  136. swordfish/asset/tzdb/America/Godthab +0 -0
  137. swordfish/asset/tzdb/America/Goose_Bay +0 -0
  138. swordfish/asset/tzdb/America/Grand_Turk +0 -0
  139. swordfish/asset/tzdb/America/Grenada +0 -0
  140. swordfish/asset/tzdb/America/Guadeloupe +0 -0
  141. swordfish/asset/tzdb/America/Guatemala +0 -0
  142. swordfish/asset/tzdb/America/Guayaquil +0 -0
  143. swordfish/asset/tzdb/America/Guyana +0 -0
  144. swordfish/asset/tzdb/America/Halifax +0 -0
  145. swordfish/asset/tzdb/America/Havana +0 -0
  146. swordfish/asset/tzdb/America/Hermosillo +0 -0
  147. swordfish/asset/tzdb/America/Indiana/Indianapolis +0 -0
  148. swordfish/asset/tzdb/America/Indiana/Knox +0 -0
  149. swordfish/asset/tzdb/America/Indiana/Marengo +0 -0
  150. swordfish/asset/tzdb/America/Indiana/Petersburg +0 -0
  151. swordfish/asset/tzdb/America/Indiana/Tell_City +0 -0
  152. swordfish/asset/tzdb/America/Indiana/Vevay +0 -0
  153. swordfish/asset/tzdb/America/Indiana/Vincennes +0 -0
  154. swordfish/asset/tzdb/America/Indiana/Winamac +0 -0
  155. swordfish/asset/tzdb/America/Indianapolis +0 -0
  156. swordfish/asset/tzdb/America/Inuvik +0 -0
  157. swordfish/asset/tzdb/America/Iqaluit +0 -0
  158. swordfish/asset/tzdb/America/Jamaica +0 -0
  159. swordfish/asset/tzdb/America/Jujuy +0 -0
  160. swordfish/asset/tzdb/America/Juneau +0 -0
  161. swordfish/asset/tzdb/America/Kentucky/Louisville +0 -0
  162. swordfish/asset/tzdb/America/Kentucky/Monticello +0 -0
  163. swordfish/asset/tzdb/America/Knox_IN +0 -0
  164. swordfish/asset/tzdb/America/Kralendijk +0 -0
  165. swordfish/asset/tzdb/America/La_Paz +0 -0
  166. swordfish/asset/tzdb/America/Lima +0 -0
  167. swordfish/asset/tzdb/America/Los_Angeles +0 -0
  168. swordfish/asset/tzdb/America/Louisville +0 -0
  169. swordfish/asset/tzdb/America/Lower_Princes +0 -0
  170. swordfish/asset/tzdb/America/Maceio +0 -0
  171. swordfish/asset/tzdb/America/Managua +0 -0
  172. swordfish/asset/tzdb/America/Manaus +0 -0
  173. swordfish/asset/tzdb/America/Marigot +0 -0
  174. swordfish/asset/tzdb/America/Martinique +0 -0
  175. swordfish/asset/tzdb/America/Matamoros +0 -0
  176. swordfish/asset/tzdb/America/Mazatlan +0 -0
  177. swordfish/asset/tzdb/America/Mendoza +0 -0
  178. swordfish/asset/tzdb/America/Menominee +0 -0
  179. swordfish/asset/tzdb/America/Merida +0 -0
  180. swordfish/asset/tzdb/America/Metlakatla +0 -0
  181. swordfish/asset/tzdb/America/Mexico_City +0 -0
  182. swordfish/asset/tzdb/America/Miquelon +0 -0
  183. swordfish/asset/tzdb/America/Moncton +0 -0
  184. swordfish/asset/tzdb/America/Monterrey +0 -0
  185. swordfish/asset/tzdb/America/Montevideo +0 -0
  186. swordfish/asset/tzdb/America/Montreal +0 -0
  187. swordfish/asset/tzdb/America/Montserrat +0 -0
  188. swordfish/asset/tzdb/America/Nassau +0 -0
  189. swordfish/asset/tzdb/America/New_York +0 -0
  190. swordfish/asset/tzdb/America/Nipigon +0 -0
  191. swordfish/asset/tzdb/America/Nome +0 -0
  192. swordfish/asset/tzdb/America/Noronha +0 -0
  193. swordfish/asset/tzdb/America/North_Dakota/Beulah +0 -0
  194. swordfish/asset/tzdb/America/North_Dakota/Center +0 -0
  195. swordfish/asset/tzdb/America/North_Dakota/New_Salem +0 -0
  196. swordfish/asset/tzdb/America/Ojinaga +0 -0
  197. swordfish/asset/tzdb/America/Panama +0 -0
  198. swordfish/asset/tzdb/America/Pangnirtung +0 -0
  199. swordfish/asset/tzdb/America/Paramaribo +0 -0
  200. swordfish/asset/tzdb/America/Phoenix +0 -0
  201. swordfish/asset/tzdb/America/Port-au-Prince +0 -0
  202. swordfish/asset/tzdb/America/Port_of_Spain +0 -0
  203. swordfish/asset/tzdb/America/Porto_Acre +0 -0
  204. swordfish/asset/tzdb/America/Porto_Velho +0 -0
  205. swordfish/asset/tzdb/America/Puerto_Rico +0 -0
  206. swordfish/asset/tzdb/America/Punta_Arenas +0 -0
  207. swordfish/asset/tzdb/America/Rainy_River +0 -0
  208. swordfish/asset/tzdb/America/Rankin_Inlet +0 -0
  209. swordfish/asset/tzdb/America/Recife +0 -0
  210. swordfish/asset/tzdb/America/Regina +0 -0
  211. swordfish/asset/tzdb/America/Resolute +0 -0
  212. swordfish/asset/tzdb/America/Rio_Branco +0 -0
  213. swordfish/asset/tzdb/America/Rosario +0 -0
  214. swordfish/asset/tzdb/America/Santa_Isabel +0 -0
  215. swordfish/asset/tzdb/America/Santarem +0 -0
  216. swordfish/asset/tzdb/America/Santiago +0 -0
  217. swordfish/asset/tzdb/America/Santo_Domingo +0 -0
  218. swordfish/asset/tzdb/America/Sao_Paulo +0 -0
  219. swordfish/asset/tzdb/America/Scoresbysund +0 -0
  220. swordfish/asset/tzdb/America/Shiprock +0 -0
  221. swordfish/asset/tzdb/America/Sitka +0 -0
  222. swordfish/asset/tzdb/America/St_Barthelemy +0 -0
  223. swordfish/asset/tzdb/America/St_Johns +0 -0
  224. swordfish/asset/tzdb/America/St_Kitts +0 -0
  225. swordfish/asset/tzdb/America/St_Lucia +0 -0
  226. swordfish/asset/tzdb/America/St_Thomas +0 -0
  227. swordfish/asset/tzdb/America/St_Vincent +0 -0
  228. swordfish/asset/tzdb/America/Swift_Current +0 -0
  229. swordfish/asset/tzdb/America/Tegucigalpa +0 -0
  230. swordfish/asset/tzdb/America/Thule +0 -0
  231. swordfish/asset/tzdb/America/Thunder_Bay +0 -0
  232. swordfish/asset/tzdb/America/Tijuana +0 -0
  233. swordfish/asset/tzdb/America/Toronto +0 -0
  234. swordfish/asset/tzdb/America/Tortola +0 -0
  235. swordfish/asset/tzdb/America/Vancouver +0 -0
  236. swordfish/asset/tzdb/America/Virgin +0 -0
  237. swordfish/asset/tzdb/America/Whitehorse +0 -0
  238. swordfish/asset/tzdb/America/Winnipeg +0 -0
  239. swordfish/asset/tzdb/America/Yakutat +0 -0
  240. swordfish/asset/tzdb/America/Yellowknife +0 -0
  241. swordfish/asset/tzdb/Antarctica/Casey +0 -0
  242. swordfish/asset/tzdb/Antarctica/Davis +0 -0
  243. swordfish/asset/tzdb/Antarctica/DumontDUrville +0 -0
  244. swordfish/asset/tzdb/Antarctica/Macquarie +0 -0
  245. swordfish/asset/tzdb/Antarctica/Mawson +0 -0
  246. swordfish/asset/tzdb/Antarctica/McMurdo +0 -0
  247. swordfish/asset/tzdb/Antarctica/Palmer +0 -0
  248. swordfish/asset/tzdb/Antarctica/Rothera +0 -0
  249. swordfish/asset/tzdb/Antarctica/South_Pole +0 -0
  250. swordfish/asset/tzdb/Antarctica/Syowa +0 -0
  251. swordfish/asset/tzdb/Antarctica/Troll +0 -0
  252. swordfish/asset/tzdb/Antarctica/Vostok +0 -0
  253. swordfish/asset/tzdb/Arctic/Longyearbyen +0 -0
  254. swordfish/asset/tzdb/Asia/Aden +0 -0
  255. swordfish/asset/tzdb/Asia/Almaty +0 -0
  256. swordfish/asset/tzdb/Asia/Amman +0 -0
  257. swordfish/asset/tzdb/Asia/Anadyr +0 -0
  258. swordfish/asset/tzdb/Asia/Aqtau +0 -0
  259. swordfish/asset/tzdb/Asia/Aqtobe +0 -0
  260. swordfish/asset/tzdb/Asia/Ashgabat +0 -0
  261. swordfish/asset/tzdb/Asia/Ashkhabad +0 -0
  262. swordfish/asset/tzdb/Asia/Atyrau +0 -0
  263. swordfish/asset/tzdb/Asia/Baghdad +0 -0
  264. swordfish/asset/tzdb/Asia/Bahrain +0 -0
  265. swordfish/asset/tzdb/Asia/Baku +0 -0
  266. swordfish/asset/tzdb/Asia/Bangkok +0 -0
  267. swordfish/asset/tzdb/Asia/Barnaul +0 -0
  268. swordfish/asset/tzdb/Asia/Beirut +0 -0
  269. swordfish/asset/tzdb/Asia/Bishkek +0 -0
  270. swordfish/asset/tzdb/Asia/Brunei +0 -0
  271. swordfish/asset/tzdb/Asia/Calcutta +0 -0
  272. swordfish/asset/tzdb/Asia/Chita +0 -0
  273. swordfish/asset/tzdb/Asia/Choibalsan +0 -0
  274. swordfish/asset/tzdb/Asia/Chongqing +0 -0
  275. swordfish/asset/tzdb/Asia/Chungking +0 -0
  276. swordfish/asset/tzdb/Asia/Colombo +0 -0
  277. swordfish/asset/tzdb/Asia/Dacca +0 -0
  278. swordfish/asset/tzdb/Asia/Damascus +0 -0
  279. swordfish/asset/tzdb/Asia/Dhaka +0 -0
  280. swordfish/asset/tzdb/Asia/Dili +0 -0
  281. swordfish/asset/tzdb/Asia/Dubai +0 -0
  282. swordfish/asset/tzdb/Asia/Dushanbe +0 -0
  283. swordfish/asset/tzdb/Asia/Famagusta +0 -0
  284. swordfish/asset/tzdb/Asia/Gaza +0 -0
  285. swordfish/asset/tzdb/Asia/Harbin +0 -0
  286. swordfish/asset/tzdb/Asia/Hebron +0 -0
  287. swordfish/asset/tzdb/Asia/Ho_Chi_Minh +0 -0
  288. swordfish/asset/tzdb/Asia/Hong_Kong +0 -0
  289. swordfish/asset/tzdb/Asia/Hovd +0 -0
  290. swordfish/asset/tzdb/Asia/Irkutsk +0 -0
  291. swordfish/asset/tzdb/Asia/Istanbul +0 -0
  292. swordfish/asset/tzdb/Asia/Jakarta +0 -0
  293. swordfish/asset/tzdb/Asia/Jayapura +0 -0
  294. swordfish/asset/tzdb/Asia/Jerusalem +0 -0
  295. swordfish/asset/tzdb/Asia/Kabul +0 -0
  296. swordfish/asset/tzdb/Asia/Kamchatka +0 -0
  297. swordfish/asset/tzdb/Asia/Karachi +0 -0
  298. swordfish/asset/tzdb/Asia/Kashgar +0 -0
  299. swordfish/asset/tzdb/Asia/Kathmandu +0 -0
  300. swordfish/asset/tzdb/Asia/Katmandu +0 -0
  301. swordfish/asset/tzdb/Asia/Khandyga +0 -0
  302. swordfish/asset/tzdb/Asia/Kolkata +0 -0
  303. swordfish/asset/tzdb/Asia/Krasnoyarsk +0 -0
  304. swordfish/asset/tzdb/Asia/Kuala_Lumpur +0 -0
  305. swordfish/asset/tzdb/Asia/Kuching +0 -0
  306. swordfish/asset/tzdb/Asia/Kuwait +0 -0
  307. swordfish/asset/tzdb/Asia/Macao +0 -0
  308. swordfish/asset/tzdb/Asia/Macau +0 -0
  309. swordfish/asset/tzdb/Asia/Magadan +0 -0
  310. swordfish/asset/tzdb/Asia/Makassar +0 -0
  311. swordfish/asset/tzdb/Asia/Manila +0 -0
  312. swordfish/asset/tzdb/Asia/Muscat +0 -0
  313. swordfish/asset/tzdb/Asia/Nicosia +0 -0
  314. swordfish/asset/tzdb/Asia/Novokuznetsk +0 -0
  315. swordfish/asset/tzdb/Asia/Novosibirsk +0 -0
  316. swordfish/asset/tzdb/Asia/Omsk +0 -0
  317. swordfish/asset/tzdb/Asia/Oral +0 -0
  318. swordfish/asset/tzdb/Asia/Phnom_Penh +0 -0
  319. swordfish/asset/tzdb/Asia/Pontianak +0 -0
  320. swordfish/asset/tzdb/Asia/Pyongyang +0 -0
  321. swordfish/asset/tzdb/Asia/Qatar +0 -0
  322. swordfish/asset/tzdb/Asia/Qyzylorda +0 -0
  323. swordfish/asset/tzdb/Asia/Rangoon +0 -0
  324. swordfish/asset/tzdb/Asia/Riyadh +0 -0
  325. swordfish/asset/tzdb/Asia/Saigon +0 -0
  326. swordfish/asset/tzdb/Asia/Sakhalin +0 -0
  327. swordfish/asset/tzdb/Asia/Samarkand +0 -0
  328. swordfish/asset/tzdb/Asia/Seoul +0 -0
  329. swordfish/asset/tzdb/Asia/Shanghai +0 -0
  330. swordfish/asset/tzdb/Asia/Singapore +0 -0
  331. swordfish/asset/tzdb/Asia/Srednekolymsk +0 -0
  332. swordfish/asset/tzdb/Asia/Taipei +0 -0
  333. swordfish/asset/tzdb/Asia/Tashkent +0 -0
  334. swordfish/asset/tzdb/Asia/Tbilisi +0 -0
  335. swordfish/asset/tzdb/Asia/Tehran +0 -0
  336. swordfish/asset/tzdb/Asia/Tel_Aviv +0 -0
  337. swordfish/asset/tzdb/Asia/Thimbu +0 -0
  338. swordfish/asset/tzdb/Asia/Thimphu +0 -0
  339. swordfish/asset/tzdb/Asia/Tokyo +0 -0
  340. swordfish/asset/tzdb/Asia/Tomsk +0 -0
  341. swordfish/asset/tzdb/Asia/Ujung_Pandang +0 -0
  342. swordfish/asset/tzdb/Asia/Ulaanbaatar +0 -0
  343. swordfish/asset/tzdb/Asia/Ulan_Bator +0 -0
  344. swordfish/asset/tzdb/Asia/Urumqi +0 -0
  345. swordfish/asset/tzdb/Asia/Ust-Nera +0 -0
  346. swordfish/asset/tzdb/Asia/Vientiane +0 -0
  347. swordfish/asset/tzdb/Asia/Vladivostok +0 -0
  348. swordfish/asset/tzdb/Asia/Yakutsk +0 -0
  349. swordfish/asset/tzdb/Asia/Yangon +0 -0
  350. swordfish/asset/tzdb/Asia/Yekaterinburg +0 -0
  351. swordfish/asset/tzdb/Asia/Yerevan +0 -0
  352. swordfish/asset/tzdb/Atlantic/Azores +0 -0
  353. swordfish/asset/tzdb/Atlantic/Bermuda +0 -0
  354. swordfish/asset/tzdb/Atlantic/Canary +0 -0
  355. swordfish/asset/tzdb/Atlantic/Cape_Verde +0 -0
  356. swordfish/asset/tzdb/Atlantic/Faeroe +0 -0
  357. swordfish/asset/tzdb/Atlantic/Faroe +0 -0
  358. swordfish/asset/tzdb/Atlantic/Jan_Mayen +0 -0
  359. swordfish/asset/tzdb/Atlantic/Madeira +0 -0
  360. swordfish/asset/tzdb/Atlantic/Reykjavik +0 -0
  361. swordfish/asset/tzdb/Atlantic/South_Georgia +0 -0
  362. swordfish/asset/tzdb/Atlantic/St_Helena +0 -0
  363. swordfish/asset/tzdb/Atlantic/Stanley +0 -0
  364. swordfish/asset/tzdb/Australia/ACT +0 -0
  365. swordfish/asset/tzdb/Australia/Adelaide +0 -0
  366. swordfish/asset/tzdb/Australia/Brisbane +0 -0
  367. swordfish/asset/tzdb/Australia/Broken_Hill +0 -0
  368. swordfish/asset/tzdb/Australia/Canberra +0 -0
  369. swordfish/asset/tzdb/Australia/Currie +0 -0
  370. swordfish/asset/tzdb/Australia/Darwin +0 -0
  371. swordfish/asset/tzdb/Australia/Eucla +0 -0
  372. swordfish/asset/tzdb/Australia/Hobart +0 -0
  373. swordfish/asset/tzdb/Australia/LHI +0 -0
  374. swordfish/asset/tzdb/Australia/Lindeman +0 -0
  375. swordfish/asset/tzdb/Australia/Lord_Howe +0 -0
  376. swordfish/asset/tzdb/Australia/Melbourne +0 -0
  377. swordfish/asset/tzdb/Australia/NSW +0 -0
  378. swordfish/asset/tzdb/Australia/North +0 -0
  379. swordfish/asset/tzdb/Australia/Perth +0 -0
  380. swordfish/asset/tzdb/Australia/Queensland +0 -0
  381. swordfish/asset/tzdb/Australia/South +0 -0
  382. swordfish/asset/tzdb/Australia/Sydney +0 -0
  383. swordfish/asset/tzdb/Australia/Tasmania +0 -0
  384. swordfish/asset/tzdb/Australia/Victoria +0 -0
  385. swordfish/asset/tzdb/Australia/West +0 -0
  386. swordfish/asset/tzdb/Australia/Yancowinna +0 -0
  387. swordfish/asset/tzdb/Brazil/Acre +0 -0
  388. swordfish/asset/tzdb/Brazil/DeNoronha +0 -0
  389. swordfish/asset/tzdb/Brazil/East +0 -0
  390. swordfish/asset/tzdb/Brazil/West +0 -0
  391. swordfish/asset/tzdb/CET +0 -0
  392. swordfish/asset/tzdb/CST6CDT +0 -0
  393. swordfish/asset/tzdb/Canada/Atlantic +0 -0
  394. swordfish/asset/tzdb/Canada/Central +0 -0
  395. swordfish/asset/tzdb/Canada/Eastern +0 -0
  396. swordfish/asset/tzdb/Canada/Mountain +0 -0
  397. swordfish/asset/tzdb/Canada/Newfoundland +0 -0
  398. swordfish/asset/tzdb/Canada/Pacific +0 -0
  399. swordfish/asset/tzdb/Canada/Saskatchewan +0 -0
  400. swordfish/asset/tzdb/Canada/Yukon +0 -0
  401. swordfish/asset/tzdb/Chile/Continental +0 -0
  402. swordfish/asset/tzdb/Chile/EasterIsland +0 -0
  403. swordfish/asset/tzdb/Cuba +0 -0
  404. swordfish/asset/tzdb/EET +0 -0
  405. swordfish/asset/tzdb/EST +0 -0
  406. swordfish/asset/tzdb/EST5EDT +0 -0
  407. swordfish/asset/tzdb/Egypt +0 -0
  408. swordfish/asset/tzdb/Eire +0 -0
  409. swordfish/asset/tzdb/Etc/GMT +0 -0
  410. swordfish/asset/tzdb/Etc/GMT+0 +0 -0
  411. swordfish/asset/tzdb/Etc/GMT+1 +0 -0
  412. swordfish/asset/tzdb/Etc/GMT+10 +0 -0
  413. swordfish/asset/tzdb/Etc/GMT+11 +0 -0
  414. swordfish/asset/tzdb/Etc/GMT+12 +0 -0
  415. swordfish/asset/tzdb/Etc/GMT+2 +0 -0
  416. swordfish/asset/tzdb/Etc/GMT+3 +0 -0
  417. swordfish/asset/tzdb/Etc/GMT+4 +0 -0
  418. swordfish/asset/tzdb/Etc/GMT+5 +0 -0
  419. swordfish/asset/tzdb/Etc/GMT+6 +0 -0
  420. swordfish/asset/tzdb/Etc/GMT+7 +0 -0
  421. swordfish/asset/tzdb/Etc/GMT+8 +0 -0
  422. swordfish/asset/tzdb/Etc/GMT+9 +0 -0
  423. swordfish/asset/tzdb/Etc/GMT-0 +0 -0
  424. swordfish/asset/tzdb/Etc/GMT-1 +0 -0
  425. swordfish/asset/tzdb/Etc/GMT-10 +0 -0
  426. swordfish/asset/tzdb/Etc/GMT-11 +0 -0
  427. swordfish/asset/tzdb/Etc/GMT-12 +0 -0
  428. swordfish/asset/tzdb/Etc/GMT-13 +0 -0
  429. swordfish/asset/tzdb/Etc/GMT-14 +0 -0
  430. swordfish/asset/tzdb/Etc/GMT-2 +0 -0
  431. swordfish/asset/tzdb/Etc/GMT-3 +0 -0
  432. swordfish/asset/tzdb/Etc/GMT-4 +0 -0
  433. swordfish/asset/tzdb/Etc/GMT-5 +0 -0
  434. swordfish/asset/tzdb/Etc/GMT-6 +0 -0
  435. swordfish/asset/tzdb/Etc/GMT-7 +0 -0
  436. swordfish/asset/tzdb/Etc/GMT-8 +0 -0
  437. swordfish/asset/tzdb/Etc/GMT-9 +0 -0
  438. swordfish/asset/tzdb/Etc/GMT0 +0 -0
  439. swordfish/asset/tzdb/Etc/Greenwich +0 -0
  440. swordfish/asset/tzdb/Etc/UCT +0 -0
  441. swordfish/asset/tzdb/Etc/UTC +0 -0
  442. swordfish/asset/tzdb/Etc/Universal +0 -0
  443. swordfish/asset/tzdb/Etc/Zulu +0 -0
  444. swordfish/asset/tzdb/Europe/Amsterdam +0 -0
  445. swordfish/asset/tzdb/Europe/Andorra +0 -0
  446. swordfish/asset/tzdb/Europe/Astrakhan +0 -0
  447. swordfish/asset/tzdb/Europe/Athens +0 -0
  448. swordfish/asset/tzdb/Europe/Belfast +0 -0
  449. swordfish/asset/tzdb/Europe/Belgrade +0 -0
  450. swordfish/asset/tzdb/Europe/Berlin +0 -0
  451. swordfish/asset/tzdb/Europe/Bratislava +0 -0
  452. swordfish/asset/tzdb/Europe/Brussels +0 -0
  453. swordfish/asset/tzdb/Europe/Bucharest +0 -0
  454. swordfish/asset/tzdb/Europe/Budapest +0 -0
  455. swordfish/asset/tzdb/Europe/Busingen +0 -0
  456. swordfish/asset/tzdb/Europe/Chisinau +0 -0
  457. swordfish/asset/tzdb/Europe/Copenhagen +0 -0
  458. swordfish/asset/tzdb/Europe/Dublin +0 -0
  459. swordfish/asset/tzdb/Europe/Gibraltar +0 -0
  460. swordfish/asset/tzdb/Europe/Guernsey +0 -0
  461. swordfish/asset/tzdb/Europe/Helsinki +0 -0
  462. swordfish/asset/tzdb/Europe/Isle_of_Man +0 -0
  463. swordfish/asset/tzdb/Europe/Istanbul +0 -0
  464. swordfish/asset/tzdb/Europe/Jersey +0 -0
  465. swordfish/asset/tzdb/Europe/Kaliningrad +0 -0
  466. swordfish/asset/tzdb/Europe/Kiev +0 -0
  467. swordfish/asset/tzdb/Europe/Kirov +0 -0
  468. swordfish/asset/tzdb/Europe/Lisbon +0 -0
  469. swordfish/asset/tzdb/Europe/Ljubljana +0 -0
  470. swordfish/asset/tzdb/Europe/London +0 -0
  471. swordfish/asset/tzdb/Europe/Luxembourg +0 -0
  472. swordfish/asset/tzdb/Europe/Madrid +0 -0
  473. swordfish/asset/tzdb/Europe/Malta +0 -0
  474. swordfish/asset/tzdb/Europe/Mariehamn +0 -0
  475. swordfish/asset/tzdb/Europe/Minsk +0 -0
  476. swordfish/asset/tzdb/Europe/Monaco +0 -0
  477. swordfish/asset/tzdb/Europe/Moscow +0 -0
  478. swordfish/asset/tzdb/Europe/Nicosia +0 -0
  479. swordfish/asset/tzdb/Europe/Oslo +0 -0
  480. swordfish/asset/tzdb/Europe/Paris +0 -0
  481. swordfish/asset/tzdb/Europe/Podgorica +0 -0
  482. swordfish/asset/tzdb/Europe/Prague +0 -0
  483. swordfish/asset/tzdb/Europe/Riga +0 -0
  484. swordfish/asset/tzdb/Europe/Rome +0 -0
  485. swordfish/asset/tzdb/Europe/Samara +0 -0
  486. swordfish/asset/tzdb/Europe/San_Marino +0 -0
  487. swordfish/asset/tzdb/Europe/Sarajevo +0 -0
  488. swordfish/asset/tzdb/Europe/Saratov +0 -0
  489. swordfish/asset/tzdb/Europe/Simferopol +0 -0
  490. swordfish/asset/tzdb/Europe/Skopje +0 -0
  491. swordfish/asset/tzdb/Europe/Sofia +0 -0
  492. swordfish/asset/tzdb/Europe/Stockholm +0 -0
  493. swordfish/asset/tzdb/Europe/Tallinn +0 -0
  494. swordfish/asset/tzdb/Europe/Tirane +0 -0
  495. swordfish/asset/tzdb/Europe/Tiraspol +0 -0
  496. swordfish/asset/tzdb/Europe/Ulyanovsk +0 -0
  497. swordfish/asset/tzdb/Europe/Uzhgorod +0 -0
  498. swordfish/asset/tzdb/Europe/Vaduz +0 -0
  499. swordfish/asset/tzdb/Europe/Vatican +0 -0
  500. swordfish/asset/tzdb/Europe/Vienna +0 -0
  501. swordfish/asset/tzdb/Europe/Vilnius +0 -0
  502. swordfish/asset/tzdb/Europe/Volgograd +0 -0
  503. swordfish/asset/tzdb/Europe/Warsaw +0 -0
  504. swordfish/asset/tzdb/Europe/Zagreb +0 -0
  505. swordfish/asset/tzdb/Europe/Zaporozhye +0 -0
  506. swordfish/asset/tzdb/Europe/Zurich +0 -0
  507. swordfish/asset/tzdb/Factory +0 -0
  508. swordfish/asset/tzdb/GB +0 -0
  509. swordfish/asset/tzdb/GB-Eire +0 -0
  510. swordfish/asset/tzdb/GMT +0 -0
  511. swordfish/asset/tzdb/GMT+0 +0 -0
  512. swordfish/asset/tzdb/GMT-0 +0 -0
  513. swordfish/asset/tzdb/GMT0 +0 -0
  514. swordfish/asset/tzdb/Greenwich +0 -0
  515. swordfish/asset/tzdb/HST +0 -0
  516. swordfish/asset/tzdb/Hongkong +0 -0
  517. swordfish/asset/tzdb/Iceland +0 -0
  518. swordfish/asset/tzdb/Indian/Antananarivo +0 -0
  519. swordfish/asset/tzdb/Indian/Chagos +0 -0
  520. swordfish/asset/tzdb/Indian/Christmas +0 -0
  521. swordfish/asset/tzdb/Indian/Cocos +0 -0
  522. swordfish/asset/tzdb/Indian/Comoro +0 -0
  523. swordfish/asset/tzdb/Indian/Kerguelen +0 -0
  524. swordfish/asset/tzdb/Indian/Mahe +0 -0
  525. swordfish/asset/tzdb/Indian/Maldives +0 -0
  526. swordfish/asset/tzdb/Indian/Mauritius +0 -0
  527. swordfish/asset/tzdb/Indian/Mayotte +0 -0
  528. swordfish/asset/tzdb/Indian/Reunion +0 -0
  529. swordfish/asset/tzdb/Iran +0 -0
  530. swordfish/asset/tzdb/Israel +0 -0
  531. swordfish/asset/tzdb/Jamaica +0 -0
  532. swordfish/asset/tzdb/Japan +0 -0
  533. swordfish/asset/tzdb/Kwajalein +0 -0
  534. swordfish/asset/tzdb/Libya +0 -0
  535. swordfish/asset/tzdb/MET +0 -0
  536. swordfish/asset/tzdb/MST +0 -0
  537. swordfish/asset/tzdb/MST7MDT +0 -0
  538. swordfish/asset/tzdb/Mexico/BajaNorte +0 -0
  539. swordfish/asset/tzdb/Mexico/BajaSur +0 -0
  540. swordfish/asset/tzdb/Mexico/General +0 -0
  541. swordfish/asset/tzdb/NZ +0 -0
  542. swordfish/asset/tzdb/NZ-CHAT +0 -0
  543. swordfish/asset/tzdb/Navajo +0 -0
  544. swordfish/asset/tzdb/PRC +0 -0
  545. swordfish/asset/tzdb/PST8PDT +0 -0
  546. swordfish/asset/tzdb/Pacific/Apia +0 -0
  547. swordfish/asset/tzdb/Pacific/Auckland +0 -0
  548. swordfish/asset/tzdb/Pacific/Bougainville +0 -0
  549. swordfish/asset/tzdb/Pacific/Chatham +0 -0
  550. swordfish/asset/tzdb/Pacific/Chuuk +0 -0
  551. swordfish/asset/tzdb/Pacific/Easter +0 -0
  552. swordfish/asset/tzdb/Pacific/Efate +0 -0
  553. swordfish/asset/tzdb/Pacific/Enderbury +0 -0
  554. swordfish/asset/tzdb/Pacific/Fakaofo +0 -0
  555. swordfish/asset/tzdb/Pacific/Fiji +0 -0
  556. swordfish/asset/tzdb/Pacific/Funafuti +0 -0
  557. swordfish/asset/tzdb/Pacific/Galapagos +0 -0
  558. swordfish/asset/tzdb/Pacific/Gambier +0 -0
  559. swordfish/asset/tzdb/Pacific/Guadalcanal +0 -0
  560. swordfish/asset/tzdb/Pacific/Guam +0 -0
  561. swordfish/asset/tzdb/Pacific/Honolulu +0 -0
  562. swordfish/asset/tzdb/Pacific/Johnston +0 -0
  563. swordfish/asset/tzdb/Pacific/Kiritimati +0 -0
  564. swordfish/asset/tzdb/Pacific/Kosrae +0 -0
  565. swordfish/asset/tzdb/Pacific/Kwajalein +0 -0
  566. swordfish/asset/tzdb/Pacific/Majuro +0 -0
  567. swordfish/asset/tzdb/Pacific/Marquesas +0 -0
  568. swordfish/asset/tzdb/Pacific/Midway +0 -0
  569. swordfish/asset/tzdb/Pacific/Nauru +0 -0
  570. swordfish/asset/tzdb/Pacific/Niue +0 -0
  571. swordfish/asset/tzdb/Pacific/Norfolk +0 -0
  572. swordfish/asset/tzdb/Pacific/Noumea +0 -0
  573. swordfish/asset/tzdb/Pacific/Pago_Pago +0 -0
  574. swordfish/asset/tzdb/Pacific/Palau +0 -0
  575. swordfish/asset/tzdb/Pacific/Pitcairn +0 -0
  576. swordfish/asset/tzdb/Pacific/Pohnpei +0 -0
  577. swordfish/asset/tzdb/Pacific/Ponape +0 -0
  578. swordfish/asset/tzdb/Pacific/Port_Moresby +0 -0
  579. swordfish/asset/tzdb/Pacific/Rarotonga +0 -0
  580. swordfish/asset/tzdb/Pacific/Saipan +0 -0
  581. swordfish/asset/tzdb/Pacific/Samoa +0 -0
  582. swordfish/asset/tzdb/Pacific/Tahiti +0 -0
  583. swordfish/asset/tzdb/Pacific/Tarawa +0 -0
  584. swordfish/asset/tzdb/Pacific/Tongatapu +0 -0
  585. swordfish/asset/tzdb/Pacific/Truk +0 -0
  586. swordfish/asset/tzdb/Pacific/Wake +0 -0
  587. swordfish/asset/tzdb/Pacific/Wallis +0 -0
  588. swordfish/asset/tzdb/Pacific/Yap +0 -0
  589. swordfish/asset/tzdb/Poland +0 -0
  590. swordfish/asset/tzdb/Portugal +0 -0
  591. swordfish/asset/tzdb/ROC +0 -0
  592. swordfish/asset/tzdb/ROK +0 -0
  593. swordfish/asset/tzdb/Singapore +0 -0
  594. swordfish/asset/tzdb/Turkey +0 -0
  595. swordfish/asset/tzdb/UCT +0 -0
  596. swordfish/asset/tzdb/US/Alaska +0 -0
  597. swordfish/asset/tzdb/US/Aleutian +0 -0
  598. swordfish/asset/tzdb/US/Arizona +0 -0
  599. swordfish/asset/tzdb/US/Central +0 -0
  600. swordfish/asset/tzdb/US/East-Indiana +0 -0
  601. swordfish/asset/tzdb/US/Eastern +0 -0
  602. swordfish/asset/tzdb/US/Hawaii +0 -0
  603. swordfish/asset/tzdb/US/Indiana-Starke +0 -0
  604. swordfish/asset/tzdb/US/Michigan +0 -0
  605. swordfish/asset/tzdb/US/Mountain +0 -0
  606. swordfish/asset/tzdb/US/Pacific +0 -0
  607. swordfish/asset/tzdb/US/Samoa +0 -0
  608. swordfish/asset/tzdb/UTC +0 -0
  609. swordfish/asset/tzdb/Universal +0 -0
  610. swordfish/asset/tzdb/W-SU +0 -0
  611. swordfish/asset/tzdb/WET +0 -0
  612. swordfish/asset/tzdb/Zulu +0 -0
  613. swordfish/asset/tzdb/iso3166.tab +274 -0
  614. swordfish/asset/tzdb/leapseconds +61 -0
  615. swordfish/asset/tzdb/posixrules +0 -0
  616. swordfish/asset/tzdb/tzdata.zi +4150 -0
  617. swordfish/asset/tzdb/tzmap_gen.py +27 -0
  618. swordfish/asset/tzdb/tzmapping +501 -0
  619. swordfish/asset/tzdb/windowsZones.xml +781 -0
  620. swordfish/asset/tzdb/zone.tab +448 -0
  621. swordfish/asset/tzdb/zone1970.tab +382 -0
  622. swordfish/connection.py +33 -0
  623. swordfish/data.py +806 -0
  624. swordfish/engine.py +28 -0
  625. swordfish/enums.py +32 -0
  626. swordfish/function.py +3 -0
  627. swordfish/infos.py +53 -0
  628. swordfish/io.py +11 -0
  629. swordfish/libSwordfish.dll +0 -0
  630. swordfish/libclucene-contribs-lib.dll +0 -0
  631. swordfish/libclucene-core.dll +0 -0
  632. swordfish/libclucene-shared.dll +0 -0
  633. swordfish/libgcc_s_seh-1.dll +0 -0
  634. swordfish/libstdc++-6.dll +0 -0
  635. swordfish/libwinpthread-1.dll +0 -0
  636. swordfish/module.py +57 -0
  637. swordfish/plugins/__init__.py +17 -0
  638. swordfish/plugins/backtest/__init__.py +38 -0
  639. swordfish/plugins/backtest/backtest.py +4228 -0
  640. swordfish/plugins/backtest/translator.py +820 -0
  641. swordfish/plugins/matching_engine_simulator.py +247 -0
  642. swordfish/streaming.py +19 -0
  643. swordfish/tools.py +71 -0
  644. swordfish/types.py +30 -0
swordfish/data.py ADDED
@@ -0,0 +1,806 @@
1
+ from typing import Any, List, Union
2
+ import typing
3
+
4
+ from ._swordfishcpp import ( # type: ignore
5
+ Constant, Scalar, Vector, Table, Matrix, Set, Dictionary,
6
+ AnyVector, ArrayVector, Pair,
7
+ Void, Bool, Char, Short, Int, Long, Float, Double,
8
+ String, Blob, Date, Month, Time, Minute, Second,
9
+ DateTime, Timestamp, NanoTime, NanoTimestamp, DateHour,
10
+ Uuid, Int128, Ipaddr, Duration, MetaCode, Point,
11
+ Decimal32, Decimal64, Decimal128,
12
+ FunctionDef,
13
+
14
+ _global_call,
15
+ convert_scalar, convert_vector, create_partial,
16
+ convert_matrix, convert_set, convert_dictionary, convert_table,
17
+ create_vector, create_any_vector, create_array_vector, create_pair,
18
+ create_matrix, create_set, create_dictionary_with_key_and_val, create_dictionary, create_table,
19
+ ProgrammingError,
20
+ )
21
+
22
+ from . import function as F
23
+
24
+ from .types import DataType, TypeDict, TypeList
25
+ from .types import ANY
26
+
27
+
28
+ NULL = Void.NULL_VALUE
29
+ DFLT = Void.DFLT_VALUE
30
+ Nothing = Void.VOID_VALUE
31
+
32
+
33
+ def partial(func: FunctionDef, *args, **kwargs):
34
+ """
35
+ Creates a partially applied function by binding arguments to the original
36
+ function.
37
+
38
+ Parameters
39
+ ----------
40
+ func : FunctionDef
41
+ The original function to partially apply arguments to.
42
+ *args
43
+ Positional arguments to bind to the function.
44
+ **kwargs
45
+ Keyword arguments to bind to the function.
46
+
47
+ Returns
48
+ -------
49
+ FunctionDef
50
+ A Swordfish FunctionDef object representing the partially applied
51
+ function.
52
+
53
+ Examples
54
+ --------
55
+ >>> import swordfish as sf
56
+ >>> import swordfish.function as F
57
+ >>> @F.swordfish_udf
58
+ >>> def add(a,b):
59
+ ... return a+b
60
+ >>> partial_func1 = sf.partial(add, 1)
61
+ >>> partial_func1(3)
62
+ Long(4)
63
+ >>> partial_func2 = sf.partial(add, b=4)
64
+ >>> partial_func2(3)
65
+ Long(7)
66
+ """
67
+ return create_partial(func, *args, **kwargs)
68
+
69
+
70
+ def scalar(data: Any, *, type: DataType = None) -> Scalar:
71
+ """
72
+ Creates a Swordfish Scalar from a Python object.
73
+
74
+ Parameters
75
+ ----------
76
+ data : Any
77
+ The input data to be converted into a Scalar.
78
+ type : DataType, optional
79
+ The desired data type for the Scalar. Defaults to None.
80
+
81
+ Returns
82
+ -------
83
+ Scalar
84
+ A Swordfish Scalar object representing the input data.
85
+
86
+ Examples
87
+ --------
88
+ >>> import swordfish as sf
89
+ >>> x = sf.scalar(3)
90
+ >>> x
91
+ Long(3)
92
+ >>> y = sf.scalar(3, type="INT")
93
+ >>> y
94
+ Int(3)
95
+ """
96
+ return convert_scalar(data, type)
97
+
98
+
99
+ @typing.overload
100
+ def vector(data: Any = None, *, type: DataType = None) -> Vector:
101
+ ...
102
+
103
+
104
+ @typing.overload
105
+ def vector(*, type: DataType = None, size: int = 0, capacity: int = 1, default: Any = None) -> Vector:
106
+ ...
107
+
108
+
109
+ def vector(
110
+ data: Any = None,
111
+ *,
112
+ type: DataType = None,
113
+ size: int = 0,
114
+ capacity: int = 1,
115
+ default: Any = None
116
+ ):
117
+ """
118
+ Creates a Swordfish Vector from a Python object or initializes one with
119
+ specified type, size, capacity, and default value.
120
+
121
+ There are two modes of initialization:
122
+
123
+ - If ``data`` is provided, it converts the given Python object into a Vector
124
+ of the specified ``type``.
125
+ - If ``data`` is not provided, a new Vector is created with the specified
126
+ ``type``, ``size``, ``capacity``, and ``default`` value.
127
+
128
+ Parameters
129
+ ----------
130
+ data : Any, optional
131
+ The input data to initialize the Vector. Defaults to None.
132
+ type : DataType, optional
133
+ The data type for the Vector. Defaults to None.
134
+ size : int, optional
135
+ The number of elements in the Vector (used when ``data`` is None).
136
+ Defaults to 0.
137
+ capacity : int, optional
138
+ The initial capacity of the Vector (used when ``data`` is None).
139
+ Defaults to 1.
140
+ default : Any, optional
141
+ The value used to fill the Vector (used when ``data`` is None).
142
+ Defaults to None.
143
+
144
+ Returns
145
+ -------
146
+ Vector
147
+ A Swordfish Vector initialized based on the provided arguments.
148
+
149
+ Examples
150
+ --------
151
+ Creating a Vector from existing data:
152
+ >>> import swordfish as sf
153
+ >>> x = sf.vector([1, 2, 3])
154
+ >>> x
155
+ Vector([1,2,3], type=LONG)
156
+
157
+ Creating an empty Vector with specific type, size, capacity, and default value:
158
+ >>> y = sf.vector(type="INT", size=3, capacity=5, default=0)
159
+ >>> y
160
+ Vector([0,0,0], type=INT)
161
+ """
162
+ # overload 1
163
+ if data is not None:
164
+ return convert_vector(data, 0, type)
165
+ # overload 2
166
+ return create_vector(type, size, capacity, default)
167
+
168
+
169
+ @typing.overload
170
+ def any_vector(data: Any = None) -> AnyVector:
171
+ ...
172
+
173
+
174
+ @typing.overload
175
+ def any_vector(*, size: int = 0, capacity: int = 1, default: Any = None) -> AnyVector:
176
+ ...
177
+
178
+
179
+ def any_vector(
180
+ data: Any = None,
181
+ *,
182
+ size: int = 0,
183
+ capacity: int = 1,
184
+ default: Any = None
185
+ ) -> AnyVector:
186
+ """
187
+ Creates a Swordfish AnyVector from a Python object or initializes one with
188
+ specified size, capacity, and default value.
189
+
190
+ There are two modes of initialization:
191
+
192
+ - If ``data`` is provided, it converts the given Python object into an
193
+ AnyVector.
194
+ - If ``data`` is not provided, a new AnyVector is created with the specified
195
+ `size`, `capacity`, and `default` value.
196
+
197
+ Parameters
198
+ ----------
199
+ data : Any, optional
200
+ The input data to initialize the AnyVector. Defaults to None.
201
+ size : int, optional
202
+ The number of elements in the AnyVector (used when ``data`` is None).
203
+ Defaults to 0.
204
+ capacity : int, optional
205
+ The initial capacity of the AnyVector (used when ``data`` is None).
206
+ Defaults to 1.
207
+ default : Any, optional
208
+ The value to fill the AnyVector (used when ``data`` is None).
209
+ Defaults to None.
210
+
211
+ Returns
212
+ -------
213
+ AnyVector
214
+ A Swordfish AnyVector initialized based on the provided arguments.
215
+
216
+ Examples
217
+ --------
218
+ Creating an AnyVector from existing data:
219
+ >>> import swordfish as sf
220
+ >>> x = sf.any_vector([1, 2, 3])
221
+ >>> x
222
+ AnyVector((1,2,3))
223
+
224
+ Creating an empty AnyVector with specific size, capacity, and default value:
225
+ >>> y = sf.any_vector(size=5, capacity=10, default=3)
226
+ >>> y
227
+ AnyVector((3,3,3,3,3))
228
+ """
229
+ if data is not None:
230
+ return convert_vector(data, 1, ANY)
231
+ return create_any_vector(size, capacity, default)
232
+
233
+
234
+ @typing.overload
235
+ def array_vector(data: Any = None, *, type: DataType = None) -> ArrayVector:
236
+ ...
237
+
238
+
239
+ @typing.overload
240
+ def array_vector(*, index: Any = None, value: Any = None, type: DataType = None) -> ArrayVector:
241
+ ...
242
+
243
+
244
+ def array_vector(
245
+ data: Any = None,
246
+ *,
247
+ index: Any = None,
248
+ value: Any = None,
249
+ type: DataType = None
250
+ ) -> ArrayVector:
251
+ """
252
+ Creates a Swordfish ArrayVector from a Python object or using specified
253
+ index, value, and type.
254
+
255
+ There are two modes of initialization:
256
+
257
+ - If ``data`` is provided, it converts the given Python object into an
258
+ ArrayVector of the specified ``type``.
259
+ - If ``data`` is not provided, an ArrayVector is constructed using the
260
+ given ``index`` and ``value``, with an optional ``type``.
261
+
262
+ Parameters
263
+ ----------
264
+ data : Any, optional
265
+ The input data to initialize the ArrayVector. Defaults to None.
266
+ index : Any, optional
267
+ The index portion of the ArrayVector, typically a sequence of indices
268
+ (used when ``data`` is None). Defaults to None.
269
+ value : Any, optional
270
+ The value portion of the ArrayVector, typically a sequence of values
271
+ (used when ``data`` is None). Defaults to None.
272
+ type : DataType, optional
273
+ The data type of the ArrayVector. If None, it is inferred. Defaults to
274
+ None.
275
+
276
+ Returns
277
+ -------
278
+ ArrayVector
279
+ A Swordfish ArrayVector initialized based on the provided arguments.
280
+
281
+ Examples
282
+ --------
283
+ Creating an ArrayVector from existing data:
284
+ >>> import swordfish as sf
285
+ >>> sf.array_vector([[1, 2], [3, 4, 5], []], type="INT")
286
+ ArrayVector([[1,2],[3,4,5],], type=INT[])
287
+
288
+ Creating an ArrayVector using index and value:
289
+ >>> sf.array_vector(index=[1, 2, 3], value=[10, 20, 30], type="SHORT")
290
+ ArrayVector([[10],[20],[30]], type=SHORT[])
291
+ """
292
+ if data is not None:
293
+ return convert_vector(data, 2, type)
294
+ if index is None or value is None:
295
+ raise RuntimeError("ERROR!")
296
+ return create_array_vector(index, value, type)
297
+
298
+
299
+ def pair(a: Any, b: Any, *, type: DataType = None) -> Pair:
300
+ """
301
+ Creates a Swordfish Pair from two Scalar values.
302
+
303
+ Parameters
304
+ ----------
305
+ a : Any
306
+ The first value in the Pair.
307
+ b : Any
308
+ The second value in the Pair.
309
+ type : DataType, optional
310
+ The data type of the Pair. Defaults to None.
311
+
312
+ Returns
313
+ -------
314
+ Pair
315
+ A Swordfish Pair object.
316
+
317
+ Examples
318
+ --------
319
+ >>> import swordfish as sf
320
+ >>> sf.pair(1, 0, type="LONG")
321
+ Pair(1 : 0, type=LONG)
322
+ """
323
+ if not isinstance(a, Constant):
324
+ a = scalar(a, type=type)
325
+ if not isinstance(b, Constant):
326
+ b = scalar(b, type=type)
327
+ return create_pair(a, b)
328
+
329
+
330
+ @typing.overload
331
+ def matrix(data: Any = None, *, type: DataType = None) -> Matrix:
332
+ ...
333
+
334
+
335
+ @typing.overload
336
+ def matrix(*, type: DataType = None, rows: int = 1, cols: int = 1, columns_capacity: int = 1, default: Any = None) -> Matrix:
337
+ ...
338
+
339
+
340
+ def matrix(
341
+ data: Any = None,
342
+ *,
343
+ type: DataType = None,
344
+ rows: int = 1,
345
+ cols: int = 1,
346
+ columns_capacity: int = 1,
347
+ default: Any = None
348
+ ) -> Matrix:
349
+ """
350
+ Creates a Swordfish Matrix from a Python object or initializes one with
351
+ specified parameters.
352
+
353
+ There are two modes of initialization:
354
+
355
+ - If ``data`` is provided, it converts the given Python object into a
356
+ Matrix of the specified ``type``.
357
+ - If ``data`` is not provided, a new Matrix is created with the
358
+ specified ``type``, ``rows``, ``cols``, ``columns_capacity``, and
359
+ ``default`` value.
360
+
361
+ Parameters
362
+ ----------
363
+ data : Any, optional
364
+ The input data to initialize the Matrix. Defaults to None.
365
+ type : DataType, optional
366
+ The data type for the Matrix. Defaults to None.
367
+ rows : int, optional
368
+ The number of rows in the Matrix (used when `data` is None). Defaults to
369
+ 1.
370
+ cols : int, optional
371
+ The number of columns in the Matrix (used when `data` is None). Defaults
372
+ to 1.
373
+ columns_capacity : int, optional
374
+ The capacity for each column in the Matrix (used when `data` is None).
375
+ Defaults to 1.
376
+ default : Any, optional
377
+ The value used to fill the Matrix (used when `data` is None). Defaults
378
+ to None.
379
+
380
+ Returns
381
+ -------
382
+ Matrix
383
+ A Swordfish Matrix initialized based on the provided arguments.
384
+
385
+ Examples
386
+ --------
387
+ Creating a Matrix from existing data:
388
+ >>> import swordfish as sf
389
+ >>> sf.matrix([1, 2, 3], type="INT")
390
+ Matrix(#0 #1 #2
391
+ -- -- --
392
+ 1 2 3
393
+ , type=INT)
394
+
395
+ Creating an empty Matrix with specific type, rows, columns, and default value:
396
+ >>> sf.matrix(type="INT", rows=2, cols=2, columns_capacity=1, default=1)
397
+ Matrix(#0 #1
398
+ -- --
399
+ 1 1
400
+ 1 1
401
+ , type=INT)
402
+ """
403
+ if data is not None:
404
+ return convert_matrix(data, type)
405
+ return create_matrix(type, rows, cols, columns_capacity, default)
406
+
407
+ @typing.overload
408
+ def set(data: Any = None, *, type: DataType = None) -> Set:
409
+ ...
410
+
411
+
412
+ @typing.overload
413
+ def set(*, type: DataType = None, capacity: int = 0) -> Set:
414
+ ...
415
+
416
+
417
+ def set(data: Any = None, *, type: DataType = None, capacity: int = 0) -> Set:
418
+ """
419
+ Creates a Swordfish Set from a Python object or initializes one with a
420
+ specified type and capacity.
421
+
422
+ There are two modes of initialization:
423
+
424
+ - If ``data`` is provided, it converts the given Python object into a
425
+ Set of the specified ``type``.
426
+ - If ``data`` is not provided, a new Set is created with the specified
427
+ ``type`` and ``capacity``.
428
+
429
+ Parameters
430
+ ----------
431
+ data : Any, optional
432
+ The input data to initialize the Set. Defaults to None.
433
+ type : DataType, optional
434
+ The data type for the Set. Defaults to None.
435
+ capacity : int, optional
436
+ The initial capacity of the Set (used when ``data`` is None).
437
+ Defaults to 0.
438
+
439
+ Returns
440
+ -------
441
+ Set
442
+ A Swordfish Set initialized based on the provided arguments.
443
+
444
+ Examples
445
+ --------
446
+ Creating a Set from existing data:
447
+ >>> import swordfish as sf
448
+ >>> sf.set({1, 2, 3}, type="INT")
449
+ Set(set(3, 2, 1), type=INT)
450
+
451
+ Creating an empty Set with a specific type and capacity:
452
+ >>> sf.set(type="CHAR", capacity=5)
453
+ Set(set(), type=CHAR)
454
+ """
455
+ if data is not None:
456
+ return convert_set(data, type)
457
+ return create_set(type, capacity)
458
+
459
+
460
+ @typing.overload
461
+ def dictionary(
462
+ data: Any = None,
463
+ *,
464
+ key_type: DataType = None,
465
+ val_type: DataType = None,
466
+ ordered: bool = True,
467
+ ) -> Dictionary:
468
+ ...
469
+
470
+
471
+ @typing.overload
472
+ def dictionary(
473
+ *,
474
+ keys: Any = None,
475
+ vals: Any = None,
476
+ key_type: DataType = None,
477
+ val_type: DataType = None,
478
+ ordered: bool = True,
479
+ ) -> Dictionary:
480
+ ...
481
+
482
+
483
+ @typing.overload
484
+ def dictionary(
485
+ *,
486
+ key_type: DataType = None,
487
+ val_type: DataType = None,
488
+ ordered: bool = True,
489
+ ) -> Dictionary:
490
+ ...
491
+
492
+
493
+ def dictionary(
494
+ data: Any = None,
495
+ *,
496
+ keys: Any = None,
497
+ vals: Any = None,
498
+ key_type: DataType = None,
499
+ val_type: DataType = None,
500
+ ordered: bool = True,
501
+ ) -> Dictionary:
502
+ """
503
+ Creates a Swordfish Dictionary from a Python object, from separate keys and
504
+ values, or as an empty dictionary with specified key and value types.
505
+
506
+ This function provides three modes of initialization:
507
+
508
+ - If ``data`` is provided, it converts a given Python object into a
509
+ Dictionary, optionally with the specified ``key_type`` and
510
+ ``val_type``.
511
+ - If ``keys`` and ``vals`` are provided, it constructs a Dictionary
512
+ from these separate sequences, optionally with the specified
513
+ ``key_type`` and ``val_type``.
514
+ - If neither ``data`` nor ``keys`` and ``vals`` are provided, it
515
+ initializes an empty Dictionary with the specified ``key_type`` and
516
+ ``val_type``.
517
+
518
+ Parameters
519
+ ----------
520
+ data : Any, optional
521
+ The Python object to initialize the Dictionary. Defaults to None.
522
+ keys : Any, optional
523
+ The keys for the Dictionary (used when ``data`` is None). Defaults to
524
+ None.
525
+ vals : Any, optional
526
+ The values for the Dictionary (used when ``data`` is None). Defaults to
527
+ None.
528
+ key_type : DataType, optional
529
+ The data type of the Dictionary keys. Defaults to None.
530
+ val_type : DataType, optional
531
+ The data type of the Dictionary values. Defaults to None.
532
+ ordered : bool, optional
533
+ Whether to maintain the insertion order of the Dictionary elements.
534
+ Defaults to True.
535
+
536
+ Returns
537
+ -------
538
+ Dictionary
539
+ A Swordfish Dictionary initialized based on the provided arguments.
540
+
541
+ Examples
542
+ --------
543
+ Creating a Dictionary from existing data:
544
+ >>> import swordfish as sf
545
+ >>> my_dict = {"name": "Alice", "age": 25}
546
+ >>> sf.dictionary(my_dict, key_type="STRING", val_type="ANY", ordered=True)
547
+ Dictionary(name->Alice
548
+ age->25
549
+ , key_type=STRING, val_type=ANY)
550
+
551
+ Creating a Dictionary using separate keys and values:
552
+ >>> sf.dictionary(keys=[1, 2, 3], vals=['a', 'b', 'c'],
553
+ ... key_type="INT", val_type="STRING", ordered=False)
554
+ Dictionary(3->c
555
+ 2->b
556
+ 1->a
557
+ , key_type=INT, val_type=STRING)
558
+
559
+ Creating an empty Dictionary with specified key and value types:
560
+ >>> sf.dictionary(key_type="STRING", val_type="INT", ordered=True)
561
+ Dictionary(, key_type=STRING, val_type=INT)
562
+ """
563
+ if data is not None:
564
+ # func1
565
+ return convert_dictionary(data, key_type, val_type, ordered)
566
+ if keys is not None and vals is not None:
567
+ # func2
568
+ return create_dictionary_with_key_and_val(keys, vals, key_type, val_type, ordered)
569
+ # func3
570
+ return create_dictionary(key_type, val_type, ordered)
571
+
572
+
573
+ @typing.overload
574
+ def table(data: Any = None, *, types: TypeDict = None) -> Table:
575
+ ...
576
+
577
+
578
+ @typing.overload
579
+ def table(data: Any = None, *, names: List[str] = None, types: TypeList = None) -> Table:
580
+
581
+ ...
582
+
583
+
584
+ @typing.overload
585
+ def table(*, types: TypeDict = None, size: int = 0, capacity: int = 1) -> Table:
586
+ ...
587
+
588
+
589
+ @typing.overload
590
+ def table(*, names: List[str] = None, types: TypeList = None, size: int = 0, capacity: int = 1) -> Table:
591
+ ...
592
+
593
+
594
+ @typing.overload
595
+ def table(data: str) -> Table:
596
+ ...
597
+
598
+
599
+ def table(
600
+ data: Any = None,
601
+ *,
602
+ names: List[str] = None,
603
+ types: Union[TypeDict, TypeList] = None,
604
+ size: int = 0,
605
+ capacity: int = 1,
606
+ ) -> Table:
607
+ """
608
+ Creates or retrieves a Swordfish Table using various initialization methods.
609
+
610
+ There are multiple modes of initialization:
611
+
612
+ - If ``data`` is a string, it retrieves a shared Swordfish Table by its
613
+ name.
614
+ - If ``data`` is provided (and not a string), it converts the given
615
+ Python object into a Table, optionally using ``types`` and ``names``.
616
+ - If ``names`` and ``types`` are provided (without ``data``), an empty
617
+ Table is created with the given column names, types, size, and
618
+ capacity.
619
+ - If ``types`` is provided as a dictionary (without ``data``), an empty
620
+ Table is created using the given column types, size, and capacity.
621
+
622
+ Parameters
623
+ ----------
624
+ data : Any, optional
625
+ The data to initialize the Table. Can be a Python dict, Pandas DataFrame,
626
+ or a str referring to a shared Table. Defaults to None.
627
+ names : List[str], optional
628
+ The column names for the Table (used when ``data`` is provided).
629
+ Defaults to None.
630
+ types : Union[TypeDict, TypeList], optional
631
+ A mapping of column names to their respective data types, or a list of
632
+ types matching ``names``. Defaults to None.
633
+ size : int, optional
634
+ The initial number of rows in the Table (used when creating an empty
635
+ Table). Defaults to 0.
636
+ capacity : int, optional
637
+ The initial allocated capacity for storing rows in the Table (used when
638
+ creating an empty Table). Defaults to 1.
639
+
640
+ Returns
641
+ -------
642
+ Table
643
+ A Swordfish Table initialized based on the provided arguments.
644
+
645
+ Examples
646
+ --------
647
+ Retrieving a shared Table by name:
648
+ >>> import swordfish as sf
649
+ >>> table = sf.table("shared_table_name")
650
+
651
+ Creating a Table from a Python dictionary with type mapping:
652
+ >>> my_dict = {
653
+ ... "id": [1, 2, 3, 4],
654
+ ... "name": ["Alice", "Bob", "Charlie", "David"],
655
+ ... "age": [25, 30, 35, 40],
656
+ ... }
657
+ >>> column_types = {
658
+ ... "id": "LONG",
659
+ ... "name": "STRING",
660
+ ... "age": "INT",
661
+ ... }
662
+ >>> t = sf.table(my_dict, types=column_types)
663
+ >>> t
664
+ id name age
665
+ -- ------- ---
666
+ 1 Alice 25
667
+ 2 Bob 30
668
+ 3 Charlie 35
669
+ 4 David 40
670
+
671
+ Creating a Table using column names and types:
672
+ >>> t = sf.table(data=my_dict, names=["id", "name", "age"],
673
+ ... types=["LONG", "STRING", "INT"])
674
+ >>> t
675
+ id name age
676
+ -- ------- ---
677
+
678
+ Creating an empty Table with column names, types, and initial size:
679
+ >>> t = sf.table(names=["id", "name", "age"], types=["INT", "STRING",
680
+ ... "INT"], size=5, capacity=10)
681
+ >>> t
682
+ id name age
683
+ -- ------- ---
684
+
685
+ Creating an empty Table using a type dictionary:
686
+ >>> t = sf.table(types=column_types, size=5, capacity=10)
687
+ >>> t
688
+ id name age
689
+ -- ------- ---
690
+ """
691
+ if data is not None:
692
+ if isinstance(data, str):
693
+ re = _global_call("objByName", data, True)
694
+ if not isinstance(re, Table):
695
+ raise ProgrammingError("Cannot find the shared table.")
696
+ return re
697
+ if names is None and types is None:
698
+ return convert_table(data, dict())
699
+ if isinstance(names, list) and isinstance(types, list):
700
+ if len(names) != len(types):
701
+ raise ProgrammingError("The number of column names should be the same as the number of data types.")
702
+ new_types = dict()
703
+ for n, t in zip(names, types):
704
+ new_types[n] = t
705
+ return convert_table(data, new_types)
706
+ elif isinstance(types, dict):
707
+ return convert_table(data, types)
708
+ elif types is None:
709
+ return convert_table(data, dict())
710
+ else:
711
+ raise ProgrammingError("Can't create Table with invalid names or types.")
712
+ if names is None and types is None:
713
+ raise ProgrammingError("Can't create Table with empty names and empty types.")
714
+ if isinstance(names, list) and isinstance(types, list):
715
+ if len(names) != len(types):
716
+ raise ProgrammingError("The number of column names should be the same as the number of data types.")
717
+ new_types = dict()
718
+ for n, t in zip(names, types):
719
+ new_types[n] = t
720
+ types = new_types
721
+ if isinstance(types, dict):
722
+ return create_table(types, size, capacity)
723
+ if types is None:
724
+ raise ProgrammingError("Can't create Table with empty names and empty types.")
725
+ raise ProgrammingError("Can't create Table with invalid names or types.")
726
+
727
+
728
+ Constant.rows = F.rows
729
+ Constant.cols = F.cols
730
+
731
+ Vector.rowRank = F.rowRank
732
+ Vector.rename_ = F.rename_
733
+ Vector.mrank = F.mrank
734
+
735
+ Set.keys = F.keys
736
+
737
+ Dictionary.keys = F.keys
738
+ Dictionary.values = F.values
739
+
740
+ Table.schema = F.schema
741
+ Table.keys = F.keys
742
+ Table.values = F.values
743
+ Table.head = F.head
744
+ Table.tail = F.tail
745
+ Table.count = F.count
746
+ Table.summary = F.summary
747
+ Table.sortBy_ = F.sortBy_
748
+
749
+
750
+ __all__ = [
751
+ "Constant",
752
+ "Scalar",
753
+ "Vector",
754
+ "Matrix",
755
+ "Set",
756
+ "Dictionary",
757
+ "Table",
758
+
759
+ "AnyVector",
760
+ "ArrayVector",
761
+
762
+ "Void",
763
+ "NULL",
764
+ "DFLT",
765
+ "Nothing",
766
+ "Bool",
767
+ "Char",
768
+ "Short",
769
+ "Int",
770
+ "Long",
771
+ "Float",
772
+ "Double",
773
+ "String",
774
+ "Blob",
775
+ "Date",
776
+ "Month",
777
+ "Time",
778
+ "Minute",
779
+ "Second",
780
+ "DateTime",
781
+ "Timestamp",
782
+ "NanoTime",
783
+ "NanoTimestamp",
784
+ "DateHour",
785
+ "Uuid",
786
+ "Int128",
787
+ "Ipaddr",
788
+ "Duration",
789
+ "MetaCode",
790
+ "Point",
791
+ "Decimal32",
792
+ "Decimal64",
793
+ "Decimal128",
794
+ "FunctionDef",
795
+
796
+ "partial",
797
+ "scalar",
798
+ "vector",
799
+ "any_vector",
800
+ "array_vector",
801
+ "pair",
802
+ "matrix",
803
+ "set",
804
+ "dictionary",
805
+ "table",
806
+ ]