arctrl 3.0.0a3__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.
Files changed (456) hide show
  1. arctrl/__init__.py +18 -0
  2. arctrl/py/CWL/__init__.py +0 -0
  3. arctrl/py/CWL/cwltypes.py +150 -0
  4. arctrl/py/CWL/decode.py +973 -0
  5. arctrl/py/CWL/encode.py +1 -0
  6. arctrl/py/CWL/inputs.py +88 -0
  7. arctrl/py/CWL/outputs.py +85 -0
  8. arctrl/py/CWL/requirements.py +77 -0
  9. arctrl/py/CWL/tool_description.py +103 -0
  10. arctrl/py/CWL/workflow_description.py +104 -0
  11. arctrl/py/CWL/workflow_steps.py +113 -0
  12. arctrl/py/Contract/__init__.py +0 -0
  13. arctrl/py/Contract/arc.py +60 -0
  14. arctrl/py/Contract/arc_assay.py +125 -0
  15. arctrl/py/Contract/arc_investigation.py +88 -0
  16. arctrl/py/Contract/arc_run.py +125 -0
  17. arctrl/py/Contract/arc_study.py +126 -0
  18. arctrl/py/Contract/arc_workflow.py +125 -0
  19. arctrl/py/Contract/contract.py +153 -0
  20. arctrl/py/Contract/datamap.py +372 -0
  21. arctrl/py/Contract/git.py +118 -0
  22. arctrl/py/Contract/validation_packages_config.py +107 -0
  23. arctrl/py/ContractIO/__init__.py +0 -0
  24. arctrl/py/ContractIO/contract_io.py +344 -0
  25. arctrl/py/ContractIO/file_system_helper.py +264 -0
  26. arctrl/py/Core/Helper/__init__.py +0 -0
  27. arctrl/py/Core/Helper/collections_.py +438 -0
  28. arctrl/py/Core/Helper/date_time.py +26 -0
  29. arctrl/py/Core/Helper/hash_codes.py +60 -0
  30. arctrl/py/Core/Helper/identifier.py +248 -0
  31. arctrl/py/Core/Helper/orcid.py +42 -0
  32. arctrl/py/Core/Helper/printer.py +13 -0
  33. arctrl/py/Core/Helper/regex.py +554 -0
  34. arctrl/py/Core/Helper/sem_ver.py +71 -0
  35. arctrl/py/Core/Helper/url.py +148 -0
  36. arctrl/py/Core/Process/__init__.py +0 -0
  37. arctrl/py/Core/Process/column_index.py +280 -0
  38. arctrl/py/Core/Process/component.py +200 -0
  39. arctrl/py/Core/Process/factor.py +151 -0
  40. arctrl/py/Core/Process/factor_value.py +182 -0
  41. arctrl/py/Core/Process/material.py +74 -0
  42. arctrl/py/Core/Process/material_attribute.py +95 -0
  43. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  44. arctrl/py/Core/Process/material_type.py +45 -0
  45. arctrl/py/Core/Process/process.py +477 -0
  46. arctrl/py/Core/Process/process_input.py +265 -0
  47. arctrl/py/Core/Process/process_output.py +235 -0
  48. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  49. arctrl/py/Core/Process/process_sequence.py +435 -0
  50. arctrl/py/Core/Process/protocol.py +175 -0
  51. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  52. arctrl/py/Core/Process/sample.py +82 -0
  53. arctrl/py/Core/Process/source.py +62 -0
  54. arctrl/py/Core/Table/__init__.py +0 -0
  55. arctrl/py/Core/Table/arc_table.py +1264 -0
  56. arctrl/py/Core/Table/arc_table_aux.py +575 -0
  57. arctrl/py/Core/Table/arc_tables.py +591 -0
  58. arctrl/py/Core/Table/composite_cell.py +319 -0
  59. arctrl/py/Core/Table/composite_column.py +73 -0
  60. arctrl/py/Core/Table/composite_header.py +739 -0
  61. arctrl/py/Core/__init__.py +0 -0
  62. arctrl/py/Core/arc_types.py +5064 -0
  63. arctrl/py/Core/comment.py +128 -0
  64. arctrl/py/Core/comment_list.py +127 -0
  65. arctrl/py/Core/conversion.py +1313 -0
  66. arctrl/py/Core/data.py +245 -0
  67. arctrl/py/Core/data_context.py +157 -0
  68. arctrl/py/Core/data_file.py +112 -0
  69. arctrl/py/Core/data_map.py +225 -0
  70. arctrl/py/Core/identifier_setters.py +31 -0
  71. arctrl/py/Core/iproperty_value.py +36 -0
  72. arctrl/py/Core/ontology_annotation.py +299 -0
  73. arctrl/py/Core/ontology_source_reference.py +114 -0
  74. arctrl/py/Core/person.py +259 -0
  75. arctrl/py/Core/publication.py +161 -0
  76. arctrl/py/Core/template.py +231 -0
  77. arctrl/py/Core/templates.py +148 -0
  78. arctrl/py/Core/uri.py +11 -0
  79. arctrl/py/Core/value.py +188 -0
  80. arctrl/py/FileSystem/__init__.py +0 -0
  81. arctrl/py/FileSystem/commit.py +21 -0
  82. arctrl/py/FileSystem/default_gitattributes.py +5 -0
  83. arctrl/py/FileSystem/default_gitignore.py +5 -0
  84. arctrl/py/FileSystem/file_system.py +58 -0
  85. arctrl/py/FileSystem/file_system_tree.py +426 -0
  86. arctrl/py/FileSystem/path.py +64 -0
  87. arctrl/py/Json/DataMap/__init__.py +0 -0
  88. arctrl/py/Json/DataMap/data_context.py +101 -0
  89. arctrl/py/Json/DataMap/data_map.py +53 -0
  90. arctrl/py/Json/Process/__init__.py +0 -0
  91. arctrl/py/Json/Process/assay_materials.py +46 -0
  92. arctrl/py/Json/Process/component.py +79 -0
  93. arctrl/py/Json/Process/factor.py +107 -0
  94. arctrl/py/Json/Process/factor_value.py +101 -0
  95. arctrl/py/Json/Process/material.py +226 -0
  96. arctrl/py/Json/Process/material_attribute.py +79 -0
  97. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  98. arctrl/py/Json/Process/material_type.py +53 -0
  99. arctrl/py/Json/Process/process.py +296 -0
  100. arctrl/py/Json/Process/process_input.py +83 -0
  101. arctrl/py/Json/Process/process_output.py +67 -0
  102. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  103. arctrl/py/Json/Process/protocol.py +354 -0
  104. arctrl/py/Json/Process/protocol_parameter.py +79 -0
  105. arctrl/py/Json/Process/sample.py +277 -0
  106. arctrl/py/Json/Process/source.py +214 -0
  107. arctrl/py/Json/Process/study_materials.py +52 -0
  108. arctrl/py/Json/Process/value.py +56 -0
  109. arctrl/py/Json/ROCrate/__init__.py +0 -0
  110. arctrl/py/Json/ROCrate/ldcontext.py +133 -0
  111. arctrl/py/Json/ROCrate/ldgraph.py +111 -0
  112. arctrl/py/Json/ROCrate/ldnode.py +290 -0
  113. arctrl/py/Json/ROCrate/ldref.py +44 -0
  114. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  115. arctrl/py/Json/Table/__init__.py +0 -0
  116. arctrl/py/Json/Table/arc_table.py +393 -0
  117. arctrl/py/Json/Table/cell_table.py +83 -0
  118. arctrl/py/Json/Table/composite_cell.py +136 -0
  119. arctrl/py/Json/Table/composite_header.py +67 -0
  120. arctrl/py/Json/Table/iotype.py +24 -0
  121. arctrl/py/Json/Table/oatable.py +82 -0
  122. arctrl/py/Json/Table/templates.py +281 -0
  123. arctrl/py/Json/__init__.py +0 -0
  124. arctrl/py/Json/assay.py +600 -0
  125. arctrl/py/Json/comment.py +206 -0
  126. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  127. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  128. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  129. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  130. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  131. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  132. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  133. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  134. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  135. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  136. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  137. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  138. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  139. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  140. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  141. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  142. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  143. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  144. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  145. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  146. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  147. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  148. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  149. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  150. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  151. arctrl/py/Json/converter_options.py +23 -0
  152. arctrl/py/Json/data.py +356 -0
  153. arctrl/py/Json/data_file.py +63 -0
  154. arctrl/py/Json/decode.py +155 -0
  155. arctrl/py/Json/encode.py +92 -0
  156. arctrl/py/Json/idtable.py +44 -0
  157. arctrl/py/Json/investigation.py +695 -0
  158. arctrl/py/Json/ontology_annotation.py +404 -0
  159. arctrl/py/Json/ontology_source_reference.py +255 -0
  160. arctrl/py/Json/person.py +658 -0
  161. arctrl/py/Json/property_value.py +359 -0
  162. arctrl/py/Json/publication.py +279 -0
  163. arctrl/py/Json/string_table.py +76 -0
  164. arctrl/py/Json/study.py +793 -0
  165. arctrl/py/JsonIO/DataMap/__init__.py +0 -0
  166. arctrl/py/JsonIO/DataMap/data_map.py +53 -0
  167. arctrl/py/JsonIO/Process/__init__.py +0 -0
  168. arctrl/py/JsonIO/Process/component.py +60 -0
  169. arctrl/py/JsonIO/Process/factor.py +36 -0
  170. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  171. arctrl/py/JsonIO/Process/material.py +60 -0
  172. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  173. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  174. arctrl/py/JsonIO/Process/material_type.py +36 -0
  175. arctrl/py/JsonIO/Process/process.py +60 -0
  176. arctrl/py/JsonIO/Process/process_input.py +38 -0
  177. arctrl/py/JsonIO/Process/process_output.py +60 -0
  178. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  179. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  180. arctrl/py/JsonIO/Process/protocol.py +60 -0
  181. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  182. arctrl/py/JsonIO/Process/sample.py +60 -0
  183. arctrl/py/JsonIO/Process/source.py +60 -0
  184. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  185. arctrl/py/JsonIO/Process/value.py +32 -0
  186. arctrl/py/JsonIO/Table/__init__.py +0 -0
  187. arctrl/py/JsonIO/Table/arc_table.py +121 -0
  188. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  189. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  190. arctrl/py/JsonIO/Table/compression.py +85 -0
  191. arctrl/py/JsonIO/Table/iotype.py +36 -0
  192. arctrl/py/JsonIO/Table/templates.py +113 -0
  193. arctrl/py/JsonIO/__init__.py +0 -0
  194. arctrl/py/JsonIO/assay.py +113 -0
  195. arctrl/py/JsonIO/comment.py +80 -0
  196. arctrl/py/JsonIO/data.py +60 -0
  197. arctrl/py/JsonIO/data_file.py +58 -0
  198. arctrl/py/JsonIO/decode.py +9 -0
  199. arctrl/py/JsonIO/encode.py +1 -0
  200. arctrl/py/JsonIO/investigation.py +113 -0
  201. arctrl/py/JsonIO/ldobject.py +106 -0
  202. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  203. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  204. arctrl/py/JsonIO/person.py +82 -0
  205. arctrl/py/JsonIO/publication.py +82 -0
  206. arctrl/py/JsonIO/study.py +114 -0
  207. arctrl/py/ROCrate/Generic/__init__.py +0 -0
  208. arctrl/py/ROCrate/Generic/comment.py +131 -0
  209. arctrl/py/ROCrate/Generic/dataset.py +817 -0
  210. arctrl/py/ROCrate/Generic/defined_term.py +131 -0
  211. arctrl/py/ROCrate/Generic/file.py +237 -0
  212. arctrl/py/ROCrate/Generic/lab_process.py +324 -0
  213. arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
  214. arctrl/py/ROCrate/Generic/organization.py +83 -0
  215. arctrl/py/ROCrate/Generic/person.py +484 -0
  216. arctrl/py/ROCrate/Generic/postal_address.py +195 -0
  217. arctrl/py/ROCrate/Generic/property_value.py +696 -0
  218. arctrl/py/ROCrate/Generic/sample.py +202 -0
  219. arctrl/py/ROCrate/Generic/scholarly_article.py +229 -0
  220. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  221. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  222. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  223. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  224. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  225. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  226. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  227. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  228. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  229. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  230. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  231. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  232. arctrl/py/ROCrate/__init__.py +0 -0
  233. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  234. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  235. arctrl/py/ROCrate/helper.py +8 -0
  236. arctrl/py/ROCrate/ldcontext.py +362 -0
  237. arctrl/py/ROCrate/ldobject.py +1247 -0
  238. arctrl/py/ROCrate/rocrate_context.py +51 -0
  239. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  240. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +193 -0
  241. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  242. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
  243. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  244. arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
  245. arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
  246. arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
  247. arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -0
  248. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  249. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  250. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  251. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  252. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  253. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  254. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  255. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  256. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  257. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  258. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  259. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  260. arctrl/py/Spreadsheet/Metadata/sparse_table.py +508 -0
  261. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  262. arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
  263. arctrl/py/Spreadsheet/__init__.py +0 -0
  264. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  265. arctrl/py/Spreadsheet/arc_investigation.py +418 -0
  266. arctrl/py/Spreadsheet/arc_run.py +190 -0
  267. arctrl/py/Spreadsheet/arc_study.py +144 -0
  268. arctrl/py/Spreadsheet/arc_workflow.py +176 -0
  269. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  270. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  271. arctrl/py/Spreadsheet/data_map.py +44 -0
  272. arctrl/py/Spreadsheet/template.py +460 -0
  273. arctrl/py/ValidationPackages/__init__.py +0 -0
  274. arctrl/py/ValidationPackages/validation_package.py +82 -0
  275. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  276. arctrl/py/WebRequest/__init__.py +0 -0
  277. arctrl/py/WebRequest/web_request.py +9 -0
  278. arctrl/py/WebRequest/web_request_py.py +135 -0
  279. arctrl/py/Yaml/__init__.py +0 -0
  280. arctrl/py/Yaml/decode.py +1 -0
  281. arctrl/py/Yaml/encode.py +10 -0
  282. arctrl/py/Yaml/validation_package.py +77 -0
  283. arctrl/py/Yaml/validation_packages_config.py +86 -0
  284. arctrl/py/__init__.py +0 -0
  285. arctrl/py/arc.py +1400 -0
  286. arctrl/py/column_index.py +280 -0
  287. arctrl/py/conversion.py +2184 -0
  288. arctrl/py/cross_async.py +76 -0
  289. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  290. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  291. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  292. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  293. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  294. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  295. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  296. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  297. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  298. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  299. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  300. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  301. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  302. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  303. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  304. arctrl/py/fable_modules/fable_library/char.py +237 -0
  305. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  306. arctrl/py/fable_modules/fable_library/date.py +779 -0
  307. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  308. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  309. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  310. arctrl/py/fable_modules/fable_library/double.py +87 -0
  311. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  312. arctrl/py/fable_modules/fable_library/event.py +206 -0
  313. arctrl/py/fable_modules/fable_library/file.py +107 -0
  314. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  315. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  316. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  317. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  318. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  319. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  320. arctrl/py/fable_modules/fable_library/long.py +240 -0
  321. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  322. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  323. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  324. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  325. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  326. arctrl/py/fable_modules/fable_library/native.py +45 -0
  327. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  328. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  329. arctrl/py/fable_modules/fable_library/option.py +128 -0
  330. arctrl/py/fable_modules/fable_library/path.py +62 -0
  331. arctrl/py/fable_modules/fable_library/range.py +117 -0
  332. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  333. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  334. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  335. arctrl/py/fable_modules/fable_library/result.py +212 -0
  336. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  337. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  338. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  339. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  340. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  341. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  342. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  343. arctrl/py/fable_modules/fable_library/task.py +116 -0
  344. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  345. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  346. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  347. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  348. arctrl/py/fable_modules/fable_library/types.py +401 -0
  349. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  350. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  351. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  352. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  353. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  354. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  355. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  356. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  357. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  358. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  359. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  360. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  361. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  362. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  363. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  364. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  365. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  366. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  367. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  368. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  369. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  370. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  371. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  372. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  373. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  374. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  375. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  376. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  377. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  378. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +338 -0
  379. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -0
  380. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  381. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  382. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  383. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  384. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  385. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  386. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  387. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  388. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  389. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +464 -0
  390. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  391. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  392. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  393. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  394. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  395. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  396. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +57 -0
  397. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  398. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  399. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +217 -0
  400. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  401. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
  402. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
  403. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
  404. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -0
  405. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  406. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  407. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +393 -0
  408. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -0
  409. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  410. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  411. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +218 -0
  412. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  413. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  414. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +180 -0
  415. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
  416. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
  417. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  418. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -0
  419. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  420. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  421. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  422. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +53 -0
  423. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
  424. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
  425. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  426. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  427. arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
  428. arctrl/py/fable_modules/thoth_json_core/encode.py +261 -0
  429. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  430. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  431. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  432. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  433. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  434. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  435. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  436. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  437. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  438. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  439. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  440. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  441. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  442. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  443. arctrl/py/fable_modules/yamlicious/reader.py +665 -0
  444. arctrl/py/fable_modules/yamlicious/regex.py +21 -0
  445. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
  446. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  447. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  448. arctrl/py/json.py +213 -0
  449. arctrl/py/rocrate_io.py +72 -0
  450. arctrl/py/template_web.py +23 -0
  451. arctrl/py/xlsx.py +148 -0
  452. arctrl/rocrate.py +21 -0
  453. arctrl-3.0.0a3.dist-info/LICENSE +21 -0
  454. arctrl-3.0.0a3.dist-info/METADATA +119 -0
  455. arctrl-3.0.0a3.dist-info/RECORD +456 -0
  456. arctrl-3.0.0a3.dist-info/WHEEL +4 -0
@@ -0,0 +1,288 @@
1
+ from __future__ import annotations
2
+ from abc import abstractmethod
3
+ from collections.abc import Callable
4
+ from typing import (Any, Protocol, TypeVar)
5
+ from ..fable_library.array_ import (append, map as map_1)
6
+ from ..fable_library.map_util import add_to_dict
7
+ from ..fable_library.mutable_map import Dictionary
8
+ from ..fable_library.option import value as value_1
9
+ from ..fable_library.reg_exp import (is_match, create)
10
+ from ..fable_library.seq import (iterate, to_array, choose, map)
11
+ from ..fable_library.types import Array
12
+ from ..fable_library.util import (equals, structural_hash, IEnumerable_1, get_enumerator, dispose)
13
+ from .property_helper import PropertyHelper
14
+
15
+ __A_ = TypeVar("__A_")
16
+
17
+ _U = TypeVar("_U")
18
+
19
+ _T = TypeVar("_T")
20
+
21
+ def Dictionary_ofSeq(s: IEnumerable_1[Any]) -> Any:
22
+ class ObjectExpr3:
23
+ @property
24
+ def Equals(self) -> Callable[[__A_, __A_], bool]:
25
+ return equals
26
+
27
+ @property
28
+ def GetHashCode(self) -> Callable[[__A_], int]:
29
+ return structural_hash
30
+
31
+ d: Any = Dictionary([], ObjectExpr3())
32
+ def action(kv: Any, s: Any=s) -> None:
33
+ add_to_dict(d, kv[0], kv[1])
34
+
35
+ iterate(action, s)
36
+ return d
37
+
38
+
39
+ def Dictionary_choose(f: Callable[[_T], _U | None], d: Any) -> Any:
40
+ class ObjectExpr4:
41
+ @property
42
+ def Equals(self) -> Callable[[__A_, __A_], bool]:
43
+ return equals
44
+
45
+ @property
46
+ def GetHashCode(self) -> Callable[[__A_], int]:
47
+ return structural_hash
48
+
49
+ nd: Any = Dictionary([], ObjectExpr4())
50
+ enumerator: Any = get_enumerator(d)
51
+ try:
52
+ while enumerator.System_Collections_IEnumerator_MoveNext():
53
+ kv: Any = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
54
+ match_value: _U | None = f(kv[1])
55
+ if match_value is None:
56
+ pass
57
+
58
+ else:
59
+ add_to_dict(nd, kv[0], value_1(match_value))
60
+
61
+
62
+ finally:
63
+ dispose(enumerator)
64
+
65
+ return nd
66
+
67
+
68
+ class PropertyObject(Protocol):
69
+ @property
70
+ @abstractmethod
71
+ def fget(self) -> Any:
72
+ ...
73
+
74
+ @property
75
+ @abstractmethod
76
+ def fset(self) -> Any:
77
+ ...
78
+
79
+
80
+ def PropertyObjectModule_getGetter(o: PropertyObject) -> Callable[[Any], Any]:
81
+ match_value: Callable[[Any], Any] | None = o.fget
82
+ if match_value is None:
83
+ def _arrow5(o_1: Any=None, o: Any=o) -> Any:
84
+ raise Exception("Property does not contain getter")
85
+
86
+ return _arrow5
87
+
88
+ else:
89
+ return match_value
90
+
91
+
92
+
93
+ def PropertyObjectModule_getSetter(o: PropertyObject) -> Callable[[Any, Any], None]:
94
+ match_value: Callable[[Any, Any], None] | None = o.fset
95
+ if match_value is None:
96
+ def _arrow7(s: Any=None, o: Any=o) -> Callable[[Any], None]:
97
+ def _arrow6(o_1: Any=None) -> None:
98
+ raise Exception("Property does not contain setter")
99
+
100
+ return _arrow6
101
+
102
+ return _arrow7
103
+
104
+ else:
105
+ return match_value
106
+
107
+
108
+
109
+ def PropertyObjectModule_containsGetter(o: PropertyObject) -> bool:
110
+ match_value: Callable[[Any], Any] | None = o.fget
111
+ if match_value is None:
112
+ return False
113
+
114
+ else:
115
+ return True
116
+
117
+
118
+
119
+ def PropertyObjectModule_containsSetter(o: PropertyObject) -> bool:
120
+ match_value: Callable[[Any, Any], None] | None = o.fset
121
+ if match_value is None:
122
+ return False
123
+
124
+ else:
125
+ return True
126
+
127
+
128
+
129
+ def PropertyObjectModule_isWritable(o: PropertyObject) -> bool:
130
+ return PropertyObjectModule_containsSetter(o)
131
+
132
+
133
+ def PropertyObjectModule_tryProperty(o: Any=None) -> PropertyObject | None:
134
+ if isinstance(o, property):
135
+ return o
136
+
137
+ else:
138
+ return None
139
+
140
+
141
+
142
+ def create_getter(prop_name: str, o: Any=None) -> Any:
143
+ return getattr(o,prop_name)
144
+
145
+
146
+ def create_setter(prop_name: str, o: Any=None, value: Any=None) -> None:
147
+ setattr(o,prop_name,value)
148
+
149
+
150
+ def get_static_property_objects(o: Any=None) -> Any:
151
+ def f(o_2: Any=None, o: Any=o) -> PropertyObject | None:
152
+ return PropertyObjectModule_tryProperty(o_2)
153
+
154
+ def _arrow8(__unit: None=None, o: Any=o) -> Any:
155
+ o_1: Any = o.__class__
156
+ return vars(o_1).items()
157
+
158
+ return Dictionary_choose(f, _arrow8())
159
+
160
+
161
+ def remove_static_property_value(o: Any, prop_name: str) -> None:
162
+ setattr(o,prop_name,None)
163
+
164
+
165
+ def create_remover(prop_name: str, is_static: bool) -> Callable[[Any], None]:
166
+ if is_static:
167
+ def _arrow9(o: Any=None, prop_name: Any=prop_name, is_static: Any=is_static) -> None:
168
+ remove_static_property_value(o, prop_name)
169
+
170
+ return _arrow9
171
+
172
+ else:
173
+ def _arrow10(o_1: Any=None, prop_name: Any=prop_name, is_static: Any=is_static) -> None:
174
+ delattr(o_1,prop_name)
175
+
176
+ return _arrow10
177
+
178
+
179
+
180
+ def try_get_property_object(o: Any, prop_name: str) -> PropertyObject | None:
181
+ match_value: PropertyObject | None = PropertyObjectModule_tryProperty(o.__dict__.get(prop_name))
182
+ if match_value is None:
183
+ return None
184
+
185
+ else:
186
+ return match_value
187
+
188
+
189
+
190
+ def try_get_dynamic_property_helper(o: Any, prop_name: str) -> PropertyHelper | None:
191
+ match_value: Any | None = o.__dict__.get(prop_name)
192
+ if match_value is None:
193
+ return None
194
+
195
+ else:
196
+ def _arrow11(o_1: Any=None, o: Any=o, prop_name: Any=prop_name) -> Any:
197
+ return create_getter(prop_name, o_1)
198
+
199
+ def _arrow12(o_2: Any=None, value: Any=None, o: Any=o, prop_name: Any=prop_name) -> None:
200
+ create_setter(prop_name, o_2, value)
201
+
202
+ def _arrow13(o_3: Any=None, o: Any=o, prop_name: Any=prop_name) -> None:
203
+ delattr(o_3,prop_name)
204
+
205
+ return PropertyHelper(prop_name, False, True, True, False, _arrow11, _arrow12, _arrow13)
206
+
207
+
208
+
209
+ def try_get_static_property_helper(o: Any, prop_name: str) -> PropertyHelper | None:
210
+ match_value: PropertyObject | None = try_get_property_object(o.__class__, prop_name)
211
+ if match_value is None:
212
+ return None
213
+
214
+ else:
215
+ is_writable: bool = PropertyObjectModule_isWritable(match_value)
216
+ def _arrow14(o_1: Any=None, o: Any=o, prop_name: Any=prop_name) -> Any:
217
+ return create_getter(prop_name, o_1)
218
+
219
+ def _arrow15(o_2: Any=None, value: Any=None, o: Any=o, prop_name: Any=prop_name) -> None:
220
+ create_setter(prop_name, o_2, value)
221
+
222
+ def _arrow16(o_3: Any=None, o: Any=o, prop_name: Any=prop_name) -> None:
223
+ remove_static_property_value(o_3, prop_name)
224
+
225
+ return PropertyHelper(prop_name, True, False, is_writable, not is_writable, _arrow14, _arrow15, _arrow16)
226
+
227
+
228
+
229
+ transpiled_property_regex: str = "^([a-zA-Z]+_)+[0-9]+$"
230
+
231
+ def is_transpiled_property_helper(property_name: str) -> bool:
232
+ return is_match(create(transpiled_property_regex), property_name)
233
+
234
+
235
+ def get_dynamic_property_helpers(o: Any=None) -> Array[PropertyHelper]:
236
+ def chooser(kv: Any, o: Any=o) -> PropertyHelper | None:
237
+ n: str = kv[0]
238
+ if is_transpiled_property_helper(n):
239
+ return None
240
+
241
+ else:
242
+ def _arrow17(o_1: Any=None, kv: Any=kv) -> Any:
243
+ return create_getter(n, o_1)
244
+
245
+ def _arrow18(o_2: Any=None, value: Any=None, kv: Any=kv) -> None:
246
+ create_setter(n, o_2, value)
247
+
248
+ def _arrow19(o_3: Any=None, kv: Any=kv) -> None:
249
+ delattr(o_3,n)
250
+
251
+ return PropertyHelper(n, False, True, True, False, _arrow17, _arrow18, _arrow19)
252
+
253
+
254
+ return to_array(choose(chooser, vars(o).items()))
255
+
256
+
257
+ def get_static_property_helpers(o: Any=None) -> Array[PropertyHelper]:
258
+ def mapping(kv: Any, o: Any=o) -> PropertyHelper:
259
+ n: str = kv[0]
260
+ po: PropertyObject = kv[1]
261
+ def _arrow20(o_1: Any=None, kv: Any=kv) -> Any:
262
+ return create_getter(n, o_1)
263
+
264
+ def _arrow21(o_2: Any=None, value: Any=None, kv: Any=kv) -> None:
265
+ create_setter(n, o_2, value)
266
+
267
+ def _arrow22(o_3: Any=None, kv: Any=kv) -> None:
268
+ remove_static_property_value(o_3, n)
269
+
270
+ return PropertyHelper(n, True, False, PropertyObjectModule_isWritable(po), not PropertyObjectModule_isWritable(po), _arrow20, _arrow21, _arrow22)
271
+
272
+ return to_array(map(mapping, get_static_property_objects(o)))
273
+
274
+
275
+ def get_property_helpers(o: Any=None) -> Array[PropertyHelper]:
276
+ array_1: Array[PropertyHelper] = get_dynamic_property_helpers(o)
277
+ return append(get_static_property_helpers(o), array_1, None)
278
+
279
+
280
+ def get_property_names(o: Any=None) -> Array[str]:
281
+ def mapping(h: PropertyHelper, o: Any=o) -> str:
282
+ return h.Name
283
+
284
+ return map_1(mapping, get_property_helpers(o), None)
285
+
286
+
287
+ __all__ = ["Dictionary_ofSeq", "Dictionary_choose", "PropertyObjectModule_getGetter", "PropertyObjectModule_getSetter", "PropertyObjectModule_containsGetter", "PropertyObjectModule_containsSetter", "PropertyObjectModule_isWritable", "PropertyObjectModule_tryProperty", "create_getter", "create_setter", "get_static_property_objects", "remove_static_property_value", "create_remover", "try_get_property_object", "try_get_dynamic_property_helper", "try_get_static_property_helper", "transpiled_property_regex", "is_transpiled_property_helper", "get_dynamic_property_helpers", "get_static_property_helpers", "get_property_helpers", "get_property_names"]
288
+
@@ -0,0 +1,82 @@
1
+ from collections.abc import Callable
2
+ from typing import (Any, TypeVar)
3
+ from ..fable_library.array_ import fold
4
+ from ..fable_library.date import (year, month, day, hour, minute, second)
5
+ from ..fable_library.option import value as value_1
6
+ from ..fable_library.seq import fold as fold_1
7
+ from ..fable_library.types import Array
8
+ from ..fable_library.util import (equals, identity_hash, number_hash, IEnumerable_1)
9
+
10
+ __A = TypeVar("__A")
11
+
12
+ _A = TypeVar("_A")
13
+
14
+ _B = TypeVar("_B")
15
+
16
+ def merge_hashes(hash1: int, hash2: int) -> int:
17
+ return ((-1640531527 + hash2) + (hash1 << 6)) + (hash1 >> 2)
18
+
19
+
20
+ def hash_date_time(dt: Any) -> int:
21
+ acc: int = 0
22
+ acc = merge_hashes(acc, year(dt)) or 0
23
+ acc = merge_hashes(acc, month(dt)) or 0
24
+ acc = merge_hashes(acc, day(dt)) or 0
25
+ acc = merge_hashes(acc, hour(dt)) or 0
26
+ acc = merge_hashes(acc, minute(dt)) or 0
27
+ acc = merge_hashes(acc, second(dt)) or 0
28
+ return acc
29
+
30
+
31
+ def hash_1(obj: Any | None=None) -> int:
32
+ if equals(obj, None):
33
+ return 0
34
+
35
+ else:
36
+ copy_of_struct: __A = obj
37
+ return identity_hash(copy_of_struct)
38
+
39
+
40
+
41
+ def box_hash_option(a: Any | None=None) -> Any:
42
+ def _arrow1(__unit: None=None, a: Any=a) -> int:
43
+ copy_of_struct: _A = value_1(a)
44
+ return identity_hash(copy_of_struct)
45
+
46
+ def _arrow2(__unit: None=None, a: Any=a) -> int:
47
+ copy_of_struct_1: int = 0
48
+ return number_hash(copy_of_struct_1)
49
+
50
+ return _arrow1() if (a is not None) else _arrow2()
51
+
52
+
53
+ def box_hash_array(a: Array[Any]) -> Any:
54
+ def folder(acc: int, o: _A, a: Any=a) -> int:
55
+ return merge_hashes(acc, hash_1(o))
56
+
57
+ return fold(folder, 0, a)
58
+
59
+
60
+ def box_hash_seq(a: IEnumerable_1[Any]) -> Any:
61
+ def folder(acc: int, o: _A, a: Any=a) -> int:
62
+ return merge_hashes(acc, hash_1(o))
63
+
64
+ return fold_1(folder, 0, a)
65
+
66
+
67
+ def box_hash_key_val_seq(a: IEnumerable_1[Any]) -> Any:
68
+ def folder(acc: int, o: Any, a: Any=a) -> int:
69
+ return merge_hashes(acc, merge_hashes(hash_1(o[0]), hash_1(o[1])))
70
+
71
+ return fold_1(folder, 0, a)
72
+
73
+
74
+ def box_hash_key_val_seq_by(f: Callable[[_B], int], a: IEnumerable_1[Any]) -> Any:
75
+ def folder(acc: int, o: Any, f: Any=f, a: Any=a) -> int:
76
+ return merge_hashes(acc, merge_hashes(hash_1(o[0]), f(o[1])))
77
+
78
+ return fold_1(folder, 0, a)
79
+
80
+
81
+ __all__ = ["merge_hashes", "hash_date_time", "hash_1", "box_hash_option", "box_hash_array", "box_hash_seq", "box_hash_key_val_seq", "box_hash_key_val_seq_by"]
82
+
@@ -0,0 +1,25 @@
1
+ from collections.abc import Callable
2
+ from dataclasses import dataclass
3
+ from typing import Any
4
+ from ..fable_library.reflection import (TypeInfo, string_type, bool_type, obj_type, lambda_type, unit_type, record_type)
5
+ from ..fable_library.types import Record
6
+
7
+ def _expr0() -> TypeInfo:
8
+ return record_type("DynamicObj.PropertyHelper", [], PropertyHelper, lambda: [("Name", string_type), ("IsStatic", bool_type), ("IsDynamic", bool_type), ("IsMutable", bool_type), ("IsImmutable", bool_type), ("GetValue", lambda_type(obj_type, obj_type)), ("SetValue", lambda_type(obj_type, lambda_type(obj_type, unit_type))), ("RemoveValue", lambda_type(obj_type, unit_type))])
9
+
10
+
11
+ @dataclass(eq = False, repr = False, slots = True)
12
+ class PropertyHelper(Record):
13
+ Name: str
14
+ IsStatic: bool
15
+ IsDynamic: bool
16
+ IsMutable: bool
17
+ IsImmutable: bool
18
+ GetValue: Callable[[Any], Any]
19
+ SetValue: Callable[[Any, Any], None]
20
+ RemoveValue: Callable[[Any], None]
21
+
22
+ PropertyHelper_reflection = _expr0
23
+
24
+ __all__ = ["PropertyHelper_reflection"]
25
+
@@ -0,0 +1,87 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_library.option import (some, map)
4
+ from ..fable_library.types import Array
5
+ from .fable_py import (get_static_property_helpers, try_get_static_property_helper)
6
+ from .property_helper import PropertyHelper
7
+
8
+ def get_static_properties(o: Any=None) -> Array[PropertyHelper]:
9
+ return get_static_property_helpers(o)
10
+
11
+
12
+ def try_get_static_property_info(o: Any, prop_name: str) -> PropertyHelper | None:
13
+ return try_get_static_property_helper(o, prop_name)
14
+
15
+
16
+ def try_set_property_value(o: Any, prop_name: str, value: Any=None) -> bool:
17
+ match_value: PropertyHelper | None = try_get_static_property_info(o, prop_name)
18
+ (pattern_matching_result, property_1) = (None, None)
19
+ if match_value is not None:
20
+ if match_value.IsMutable:
21
+ pattern_matching_result = 0
22
+ property_1 = match_value
23
+
24
+ else:
25
+ pattern_matching_result = 1
26
+
27
+
28
+ else:
29
+ pattern_matching_result = 1
30
+
31
+ if pattern_matching_result == 0:
32
+ property_1.SetValue(o, value)
33
+ return True
34
+
35
+ elif pattern_matching_result == 1:
36
+ return False
37
+
38
+
39
+
40
+ def try_get_property_value(o: Any, prop_name: str) -> Any | None:
41
+ try:
42
+ match_value: PropertyHelper | None = try_get_static_property_info(o, prop_name)
43
+ return None if (match_value is None) else some(match_value.GetValue(o))
44
+
45
+ except Exception as match_value_1:
46
+ return None
47
+
48
+
49
+
50
+ def try_get_property_value_as(o: Any, prop_name: str) -> Any | None:
51
+ try:
52
+ def mapping(v: Any=None) -> Any:
53
+ return v
54
+
55
+ return map(mapping, try_get_property_value(o, prop_name))
56
+
57
+ except Exception as match_value:
58
+ return None
59
+
60
+
61
+
62
+ def remove_property(o: Any, prop_name: str) -> bool:
63
+ match_value: PropertyHelper | None = try_get_static_property_info(o, prop_name)
64
+ (pattern_matching_result, property_1) = (None, None)
65
+ if match_value is not None:
66
+ if match_value.IsMutable:
67
+ pattern_matching_result = 0
68
+ property_1 = match_value
69
+
70
+ else:
71
+ pattern_matching_result = 1
72
+
73
+
74
+ else:
75
+ pattern_matching_result = 1
76
+
77
+ if pattern_matching_result == 0:
78
+ property_1.RemoveValue(o)
79
+ return True
80
+
81
+ elif pattern_matching_result == 1:
82
+ return False
83
+
84
+
85
+
86
+ __all__ = ["get_static_properties", "try_get_static_property_info", "try_set_property_value", "try_get_property_value", "try_get_property_value_as", "remove_property"]
87
+
File without changes