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,125 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.array_ import equals_with
4
+ from ..fable_modules.fable_library.option import default_arg
5
+ from ..fable_modules.fable_library.seq import (to_array, delay, append, collect, singleton, empty)
6
+ from ..fable_modules.fable_library.types import Array
7
+ from ..fable_modules.fable_library.util import IEnumerable_1
8
+ from ..Core.arc_types import ArcAssay
9
+ from ..Core.Helper.identifier import Assay_fileNameFromIdentifier
10
+ from ..FileSystem.file_system_tree import FileSystemTree
11
+ from ..FileSystem.path import (combine_many, get_assay_folder_path)
12
+ from ..Spreadsheet.arc_assay import (ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F, ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D)
13
+ from .contract import (Contract, DTOType, DTO)
14
+
15
+ def _007CAssayPath_007C__007C(input: Array[str]) -> str | None:
16
+ (pattern_matching_result,) = (None,)
17
+ def _arrow3445(x: str, y: str, input: Any=input) -> bool:
18
+ return x == y
19
+
20
+ if (len(input) == 3) if (not equals_with(_arrow3445, input, None)) else False:
21
+ if input[0] == "assays":
22
+ if input[2] == "isa.assay.xlsx":
23
+ pattern_matching_result = 0
24
+
25
+ else:
26
+ pattern_matching_result = 1
27
+
28
+
29
+ else:
30
+ pattern_matching_result = 1
31
+
32
+
33
+ else:
34
+ pattern_matching_result = 1
35
+
36
+ if pattern_matching_result == 0:
37
+ any_assay_name: str = input[1]
38
+ return combine_many(input)
39
+
40
+ elif pattern_matching_result == 1:
41
+ return None
42
+
43
+
44
+
45
+ def ARCtrl_ArcAssay__ArcAssay_ToCreateContract_6FCE9E49(this: ArcAssay, WithFolder: bool | None=None) -> Array[Contract]:
46
+ with_folder: bool = default_arg(WithFolder, False)
47
+ path: str = Assay_fileNameFromIdentifier(this.Identifier)
48
+ c: Contract = Contract.create_create(path, DTOType(0), DTO(0, ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F(this)))
49
+ def _arrow3449(__unit: None=None, this: Any=this, WithFolder: Any=WithFolder) -> IEnumerable_1[Contract]:
50
+ def _arrow3447(__unit: None=None) -> IEnumerable_1[Contract]:
51
+ folder_fs: FileSystemTree = FileSystemTree.create_assays_folder([FileSystemTree.create_assay_folder(this.Identifier)])
52
+ def _arrow3446(p: str) -> IEnumerable_1[Contract]:
53
+ return singleton(Contract.create_create(p, DTOType(10))) if ((p != "assays/.gitkeep") if (p != path) else False) else empty()
54
+
55
+ return collect(_arrow3446, folder_fs.ToFilePaths(False))
56
+
57
+ def _arrow3448(__unit: None=None) -> IEnumerable_1[Contract]:
58
+ return singleton(c)
59
+
60
+ return append(_arrow3447() if with_folder else empty(), delay(_arrow3448))
61
+
62
+ return to_array(delay(_arrow3449))
63
+
64
+
65
+ def ARCtrl_ArcAssay__ArcAssay_ToUpdateContract(this: ArcAssay) -> Contract:
66
+ path: str = Assay_fileNameFromIdentifier(this.Identifier)
67
+ return Contract.create_update(path, DTOType(0), DTO(0, ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F(this)))
68
+
69
+
70
+ def ARCtrl_ArcAssay__ArcAssay_ToDeleteContract(this: ArcAssay) -> Contract:
71
+ path: str = get_assay_folder_path(this.Identifier)
72
+ return Contract.create_delete(path)
73
+
74
+
75
+ def ARCtrl_ArcAssay__ArcAssay_toDeleteContract_Static_1501C0F8(assay: ArcAssay) -> Contract:
76
+ return ARCtrl_ArcAssay__ArcAssay_ToDeleteContract(assay)
77
+
78
+
79
+ def ARCtrl_ArcAssay__ArcAssay_toCreateContract_Static_Z2508BE4F(assay: ArcAssay, WithFolder: bool | None=None) -> Array[Contract]:
80
+ return ARCtrl_ArcAssay__ArcAssay_ToCreateContract_6FCE9E49(assay, WithFolder)
81
+
82
+
83
+ def ARCtrl_ArcAssay__ArcAssay_toUpdateContract_Static_1501C0F8(assay: ArcAssay) -> Contract:
84
+ return ARCtrl_ArcAssay__ArcAssay_ToUpdateContract(assay)
85
+
86
+
87
+ def ARCtrl_ArcAssay__ArcAssay_tryFromReadContract_Static_7570923F(c: Contract) -> ArcAssay | None:
88
+ (pattern_matching_result, fsworkbook) = (None, None)
89
+ if c.Operation == "READ":
90
+ if c.DTOType is not None:
91
+ if c.DTOType.tag == 0:
92
+ if c.DTO is not None:
93
+ if c.DTO.tag == 0:
94
+ pattern_matching_result = 0
95
+ fsworkbook = c.DTO.fields[0]
96
+
97
+ else:
98
+ pattern_matching_result = 1
99
+
100
+
101
+ else:
102
+ pattern_matching_result = 1
103
+
104
+
105
+ else:
106
+ pattern_matching_result = 1
107
+
108
+
109
+ else:
110
+ pattern_matching_result = 1
111
+
112
+
113
+ else:
114
+ pattern_matching_result = 1
115
+
116
+ if pattern_matching_result == 0:
117
+ return ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D(fsworkbook)
118
+
119
+ elif pattern_matching_result == 1:
120
+ return None
121
+
122
+
123
+
124
+ __all__ = ["_007CAssayPath_007C__007C", "ARCtrl_ArcAssay__ArcAssay_ToCreateContract_6FCE9E49", "ARCtrl_ArcAssay__ArcAssay_ToUpdateContract", "ARCtrl_ArcAssay__ArcAssay_ToDeleteContract", "ARCtrl_ArcAssay__ArcAssay_toDeleteContract_Static_1501C0F8", "ARCtrl_ArcAssay__ArcAssay_toCreateContract_Static_Z2508BE4F", "ARCtrl_ArcAssay__ArcAssay_toUpdateContract_Static_1501C0F8", "ARCtrl_ArcAssay__ArcAssay_tryFromReadContract_Static_7570923F"]
125
+
@@ -0,0 +1,88 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.array_ import equals_with
4
+ from ..fable_modules.fable_library.types import Array
5
+ from ..Core.arc_types import ArcInvestigation
6
+ from ..FileSystem.path import combine_many
7
+ from ..Spreadsheet.arc_investigation import (ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF, ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D)
8
+ from .contract import (Contract, DTOType, DTO)
9
+
10
+ def _007CInvestigationPath_007C__007C(input: Array[str]) -> str | None:
11
+ (pattern_matching_result,) = (None,)
12
+ def _arrow3465(x: str, y: str, input: Any=input) -> bool:
13
+ return x == y
14
+
15
+ if (len(input) == 1) if (not equals_with(_arrow3465, input, None)) else False:
16
+ if input[0] == "isa.investigation.xlsx":
17
+ pattern_matching_result = 0
18
+
19
+ else:
20
+ pattern_matching_result = 1
21
+
22
+
23
+ else:
24
+ pattern_matching_result = 1
25
+
26
+ if pattern_matching_result == 0:
27
+ return combine_many(input)
28
+
29
+ elif pattern_matching_result == 1:
30
+ return None
31
+
32
+
33
+
34
+ def ARCtrl_ArcInvestigation__ArcInvestigation_ToCreateContract(this: ArcInvestigation) -> Contract:
35
+ return Contract.create_create("isa.investigation.xlsx", DTOType(4), DTO(0, ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF(this)))
36
+
37
+
38
+ def ARCtrl_ArcInvestigation__ArcInvestigation_ToUpdateContract(this: ArcInvestigation) -> Contract:
39
+ return Contract.create_update("isa.investigation.xlsx", DTOType(4), DTO(0, ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF(this)))
40
+
41
+
42
+ def ARCtrl_ArcInvestigation__ArcInvestigation_toCreateContract_Static_Z720BD3FF(inv: ArcInvestigation) -> Contract:
43
+ return ARCtrl_ArcInvestigation__ArcInvestigation_ToCreateContract(inv)
44
+
45
+
46
+ def ARCtrl_ArcInvestigation__ArcInvestigation_toUpdateContract_Static_Z720BD3FF(inv: ArcInvestigation) -> Contract:
47
+ return ARCtrl_ArcInvestigation__ArcInvestigation_ToUpdateContract(inv)
48
+
49
+
50
+ def ARCtrl_ArcInvestigation__ArcInvestigation_tryFromReadContract_Static_7570923F(c: Contract) -> ArcInvestigation | None:
51
+ (pattern_matching_result, fsworkbook) = (None, None)
52
+ if c.Operation == "READ":
53
+ if c.DTOType is not None:
54
+ if c.DTOType.tag == 4:
55
+ if c.DTO is not None:
56
+ if c.DTO.tag == 0:
57
+ pattern_matching_result = 0
58
+ fsworkbook = c.DTO.fields[0]
59
+
60
+ else:
61
+ pattern_matching_result = 1
62
+
63
+
64
+ else:
65
+ pattern_matching_result = 1
66
+
67
+
68
+ else:
69
+ pattern_matching_result = 1
70
+
71
+
72
+ else:
73
+ pattern_matching_result = 1
74
+
75
+
76
+ else:
77
+ pattern_matching_result = 1
78
+
79
+ if pattern_matching_result == 0:
80
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D(fsworkbook)
81
+
82
+ elif pattern_matching_result == 1:
83
+ return None
84
+
85
+
86
+
87
+ __all__ = ["_007CInvestigationPath_007C__007C", "ARCtrl_ArcInvestigation__ArcInvestigation_ToCreateContract", "ARCtrl_ArcInvestigation__ArcInvestigation_ToUpdateContract", "ARCtrl_ArcInvestigation__ArcInvestigation_toCreateContract_Static_Z720BD3FF", "ARCtrl_ArcInvestigation__ArcInvestigation_toUpdateContract_Static_Z720BD3FF", "ARCtrl_ArcInvestigation__ArcInvestigation_tryFromReadContract_Static_7570923F"]
88
+
@@ -0,0 +1,125 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.array_ import equals_with
4
+ from ..fable_modules.fable_library.option import default_arg
5
+ from ..fable_modules.fable_library.seq import (to_array, delay, append, collect, singleton, empty)
6
+ from ..fable_modules.fable_library.types import Array
7
+ from ..fable_modules.fable_library.util import IEnumerable_1
8
+ from ..Core.arc_types import ArcRun
9
+ from ..Core.Helper.identifier import Run_fileNameFromIdentifier
10
+ from ..FileSystem.file_system_tree import FileSystemTree
11
+ from ..FileSystem.path import (combine_many, get_run_folder_path)
12
+ from ..Spreadsheet.arc_run import (ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8, ARCtrl_ArcRun__ArcRun_fromFsWorkbook_Static_32154C9D)
13
+ from .contract import (Contract, DTOType, DTO)
14
+
15
+ def _007CRunPath_007C__007C(input: Array[str]) -> str | None:
16
+ (pattern_matching_result,) = (None,)
17
+ def _arrow3460(x: str, y: str, input: Any=input) -> bool:
18
+ return x == y
19
+
20
+ if (len(input) == 3) if (not equals_with(_arrow3460, input, None)) else False:
21
+ if input[0] == "runs":
22
+ if input[2] == "isa.run.xlsx":
23
+ pattern_matching_result = 0
24
+
25
+ else:
26
+ pattern_matching_result = 1
27
+
28
+
29
+ else:
30
+ pattern_matching_result = 1
31
+
32
+
33
+ else:
34
+ pattern_matching_result = 1
35
+
36
+ if pattern_matching_result == 0:
37
+ any_run_name: str = input[1]
38
+ return combine_many(input)
39
+
40
+ elif pattern_matching_result == 1:
41
+ return None
42
+
43
+
44
+
45
+ def ARCtrl_ArcRun__ArcRun_ToCreateContract_6FCE9E49(this: ArcRun, WithFolder: bool | None=None) -> Array[Contract]:
46
+ with_folder: bool = default_arg(WithFolder, False)
47
+ path: str = Run_fileNameFromIdentifier(this.Identifier)
48
+ c: Contract = Contract.create_create(path, DTOType(3), DTO(0, ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8(this)))
49
+ def _arrow3464(__unit: None=None, this: Any=this, WithFolder: Any=WithFolder) -> IEnumerable_1[Contract]:
50
+ def _arrow3462(__unit: None=None) -> IEnumerable_1[Contract]:
51
+ folder_fs: FileSystemTree = FileSystemTree.create_runs_folder([FileSystemTree.create_run_folder(this.Identifier)])
52
+ def _arrow3461(p: str) -> IEnumerable_1[Contract]:
53
+ return singleton(Contract.create_create(p, DTOType(10))) if ((p != "runs/.gitkeep") if (p != path) else False) else empty()
54
+
55
+ return collect(_arrow3461, folder_fs.ToFilePaths(False))
56
+
57
+ def _arrow3463(__unit: None=None) -> IEnumerable_1[Contract]:
58
+ return singleton(c)
59
+
60
+ return append(_arrow3462() if with_folder else empty(), delay(_arrow3463))
61
+
62
+ return to_array(delay(_arrow3464))
63
+
64
+
65
+ def ARCtrl_ArcRun__ArcRun_ToUpdateContract(this: ArcRun) -> Contract:
66
+ path: str = Run_fileNameFromIdentifier(this.Identifier)
67
+ return Contract.create_update(path, DTOType(3), DTO(0, ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8(this)))
68
+
69
+
70
+ def ARCtrl_ArcRun__ArcRun_ToDeleteContract(this: ArcRun) -> Contract:
71
+ path: str = get_run_folder_path(this.Identifier)
72
+ return Contract.create_delete(path)
73
+
74
+
75
+ def ARCtrl_ArcRun__ArcRun_toDeleteContract_Static_Z3EFAF6F8(run: ArcRun) -> Contract:
76
+ return ARCtrl_ArcRun__ArcRun_ToDeleteContract(run)
77
+
78
+
79
+ def ARCtrl_ArcRun__ArcRun_toCreateContract_Static_Z71974BBF(run: ArcRun, WithFolder: bool | None=None) -> Array[Contract]:
80
+ return ARCtrl_ArcRun__ArcRun_ToCreateContract_6FCE9E49(run, WithFolder)
81
+
82
+
83
+ def ARCtrl_ArcRun__ArcRun_toUpdateContract_Static_Z3EFAF6F8(run: ArcRun) -> Contract:
84
+ return ARCtrl_ArcRun__ArcRun_ToUpdateContract(run)
85
+
86
+
87
+ def ARCtrl_ArcRun__ArcRun_tryFromReadContract_Static_7570923F(c: Contract) -> ArcRun | None:
88
+ (pattern_matching_result, fsworkbook) = (None, None)
89
+ if c.Operation == "READ":
90
+ if c.DTOType is not None:
91
+ if c.DTOType.tag == 3:
92
+ if c.DTO is not None:
93
+ if c.DTO.tag == 0:
94
+ pattern_matching_result = 0
95
+ fsworkbook = c.DTO.fields[0]
96
+
97
+ else:
98
+ pattern_matching_result = 1
99
+
100
+
101
+ else:
102
+ pattern_matching_result = 1
103
+
104
+
105
+ else:
106
+ pattern_matching_result = 1
107
+
108
+
109
+ else:
110
+ pattern_matching_result = 1
111
+
112
+
113
+ else:
114
+ pattern_matching_result = 1
115
+
116
+ if pattern_matching_result == 0:
117
+ return ARCtrl_ArcRun__ArcRun_fromFsWorkbook_Static_32154C9D(fsworkbook)
118
+
119
+ elif pattern_matching_result == 1:
120
+ return None
121
+
122
+
123
+
124
+ __all__ = ["_007CRunPath_007C__007C", "ARCtrl_ArcRun__ArcRun_ToCreateContract_6FCE9E49", "ARCtrl_ArcRun__ArcRun_ToUpdateContract", "ARCtrl_ArcRun__ArcRun_ToDeleteContract", "ARCtrl_ArcRun__ArcRun_toDeleteContract_Static_Z3EFAF6F8", "ARCtrl_ArcRun__ArcRun_toCreateContract_Static_Z71974BBF", "ARCtrl_ArcRun__ArcRun_toUpdateContract_Static_Z3EFAF6F8", "ARCtrl_ArcRun__ArcRun_tryFromReadContract_Static_7570923F"]
125
+
@@ -0,0 +1,126 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.array_ import equals_with
4
+ from ..fable_modules.fable_library.list import FSharpList
5
+ from ..fable_modules.fable_library.option import default_arg
6
+ from ..fable_modules.fable_library.seq import (to_array, delay, append, collect, singleton, empty)
7
+ from ..fable_modules.fable_library.types import Array
8
+ from ..fable_modules.fable_library.util import IEnumerable_1
9
+ from ..Core.arc_types import (ArcStudy, ArcAssay)
10
+ from ..Core.Helper.identifier import Study_fileNameFromIdentifier
11
+ from ..FileSystem.file_system_tree import FileSystemTree
12
+ from ..FileSystem.path import (combine_many, get_study_folder_path)
13
+ from ..Spreadsheet.arc_study import (ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522, ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D)
14
+ from .contract import (Contract, DTOType, DTO)
15
+
16
+ def _007CStudyPath_007C__007C(input: Array[str]) -> str | None:
17
+ (pattern_matching_result,) = (None,)
18
+ def _arrow3450(x: str, y: str, input: Any=input) -> bool:
19
+ return x == y
20
+
21
+ if (len(input) == 3) if (not equals_with(_arrow3450, input, None)) else False:
22
+ if input[0] == "studies":
23
+ if input[2] == "isa.study.xlsx":
24
+ pattern_matching_result = 0
25
+
26
+ else:
27
+ pattern_matching_result = 1
28
+
29
+
30
+ else:
31
+ pattern_matching_result = 1
32
+
33
+
34
+ else:
35
+ pattern_matching_result = 1
36
+
37
+ if pattern_matching_result == 0:
38
+ any_study_name: str = input[1]
39
+ return combine_many(input)
40
+
41
+ elif pattern_matching_result == 1:
42
+ return None
43
+
44
+
45
+
46
+ def ARCtrl_ArcStudy__ArcStudy_ToCreateContract_6FCE9E49(this: ArcStudy, WithFolder: bool | None=None) -> Array[Contract]:
47
+ with_folder: bool = default_arg(WithFolder, False)
48
+ path: str = Study_fileNameFromIdentifier(this.Identifier)
49
+ c: Contract = Contract.create_create(path, DTOType(1), DTO(0, ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(this)))
50
+ def _arrow3454(__unit: None=None, this: Any=this, WithFolder: Any=WithFolder) -> IEnumerable_1[Contract]:
51
+ def _arrow3452(__unit: None=None) -> IEnumerable_1[Contract]:
52
+ folder_fs: FileSystemTree = FileSystemTree.create_studies_folder([FileSystemTree.create_study_folder(this.Identifier)])
53
+ def _arrow3451(p: str) -> IEnumerable_1[Contract]:
54
+ return singleton(Contract.create_create(p, DTOType(10))) if ((p != "studies/.gitkeep") if (p != path) else False) else empty()
55
+
56
+ return collect(_arrow3451, folder_fs.ToFilePaths(False))
57
+
58
+ def _arrow3453(__unit: None=None) -> IEnumerable_1[Contract]:
59
+ return singleton(c)
60
+
61
+ return append(_arrow3452() if with_folder else empty(), delay(_arrow3453))
62
+
63
+ return to_array(delay(_arrow3454))
64
+
65
+
66
+ def ARCtrl_ArcStudy__ArcStudy_ToUpdateContract(this: ArcStudy) -> Contract:
67
+ path: str = Study_fileNameFromIdentifier(this.Identifier)
68
+ return Contract.create_update(path, DTOType(1), DTO(0, ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(this)))
69
+
70
+
71
+ def ARCtrl_ArcStudy__ArcStudy_ToDeleteContract(this: ArcStudy) -> Contract:
72
+ path: str = get_study_folder_path(this.Identifier)
73
+ return Contract.create_delete(path)
74
+
75
+
76
+ def ARCtrl_ArcStudy__ArcStudy_toDeleteContract_Static_1680536E(study: ArcStudy) -> Contract:
77
+ return ARCtrl_ArcStudy__ArcStudy_ToDeleteContract(study)
78
+
79
+
80
+ def ARCtrl_ArcStudy__ArcStudy_toCreateContract_Static_Z76BBA099(study: ArcStudy, WithFolder: bool | None=None) -> Array[Contract]:
81
+ return ARCtrl_ArcStudy__ArcStudy_ToCreateContract_6FCE9E49(study, WithFolder)
82
+
83
+
84
+ def ARCtrl_ArcStudy__ArcStudy_toUpdateContract_Static_1680536E(study: ArcStudy) -> Contract:
85
+ return ARCtrl_ArcStudy__ArcStudy_ToUpdateContract(study)
86
+
87
+
88
+ def ARCtrl_ArcStudy__ArcStudy_tryFromReadContract_Static_7570923F(c: Contract) -> tuple[ArcStudy, FSharpList[ArcAssay]] | None:
89
+ (pattern_matching_result, fsworkbook) = (None, None)
90
+ if c.Operation == "READ":
91
+ if c.DTOType is not None:
92
+ if c.DTOType.tag == 1:
93
+ if c.DTO is not None:
94
+ if c.DTO.tag == 0:
95
+ pattern_matching_result = 0
96
+ fsworkbook = c.DTO.fields[0]
97
+
98
+ else:
99
+ pattern_matching_result = 1
100
+
101
+
102
+ else:
103
+ pattern_matching_result = 1
104
+
105
+
106
+ else:
107
+ pattern_matching_result = 1
108
+
109
+
110
+ else:
111
+ pattern_matching_result = 1
112
+
113
+
114
+ else:
115
+ pattern_matching_result = 1
116
+
117
+ if pattern_matching_result == 0:
118
+ return ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D(fsworkbook)
119
+
120
+ elif pattern_matching_result == 1:
121
+ return None
122
+
123
+
124
+
125
+ __all__ = ["_007CStudyPath_007C__007C", "ARCtrl_ArcStudy__ArcStudy_ToCreateContract_6FCE9E49", "ARCtrl_ArcStudy__ArcStudy_ToUpdateContract", "ARCtrl_ArcStudy__ArcStudy_ToDeleteContract", "ARCtrl_ArcStudy__ArcStudy_toDeleteContract_Static_1680536E", "ARCtrl_ArcStudy__ArcStudy_toCreateContract_Static_Z76BBA099", "ARCtrl_ArcStudy__ArcStudy_toUpdateContract_Static_1680536E", "ARCtrl_ArcStudy__ArcStudy_tryFromReadContract_Static_7570923F"]
126
+
@@ -0,0 +1,125 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.array_ import equals_with
4
+ from ..fable_modules.fable_library.option import default_arg
5
+ from ..fable_modules.fable_library.seq import (to_array, delay, append, collect, singleton, empty)
6
+ from ..fable_modules.fable_library.types import Array
7
+ from ..fable_modules.fable_library.util import IEnumerable_1
8
+ from ..Core.arc_types import (ArcWorkflow__get_Identifier, ArcWorkflow)
9
+ from ..Core.Helper.identifier import Workflow_fileNameFromIdentifier
10
+ from ..FileSystem.file_system_tree import FileSystemTree
11
+ from ..FileSystem.path import (combine_many, get_workflow_folder_path)
12
+ from ..Spreadsheet.arc_workflow import (ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E, ARCtrl_ArcWorkflow__ArcWorkflow_fromFsWorkbook_Static_32154C9D)
13
+ from .contract import (Contract, DTOType, DTO)
14
+
15
+ def _007CWorkflowPath_007C__007C(input: Array[str]) -> str | None:
16
+ (pattern_matching_result,) = (None,)
17
+ def _arrow3455(x: str, y: str, input: Any=input) -> bool:
18
+ return x == y
19
+
20
+ if (len(input) == 3) if (not equals_with(_arrow3455, input, None)) else False:
21
+ if input[0] == "workflows":
22
+ if input[2] == "isa.workflow.xlsx":
23
+ pattern_matching_result = 0
24
+
25
+ else:
26
+ pattern_matching_result = 1
27
+
28
+
29
+ else:
30
+ pattern_matching_result = 1
31
+
32
+
33
+ else:
34
+ pattern_matching_result = 1
35
+
36
+ if pattern_matching_result == 0:
37
+ any_workflow_name: str = input[1]
38
+ return combine_many(input)
39
+
40
+ elif pattern_matching_result == 1:
41
+ return None
42
+
43
+
44
+
45
+ def ARCtrl_ArcWorkflow__ArcWorkflow_ToCreateContract_6FCE9E49(this: ArcWorkflow, WithFolder: bool | None=None) -> Array[Contract]:
46
+ with_folder: bool = default_arg(WithFolder, False)
47
+ path: str = Workflow_fileNameFromIdentifier(ArcWorkflow__get_Identifier(this))
48
+ c: Contract = Contract.create_create(path, DTOType(2), DTO(0, ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E(this)))
49
+ def _arrow3459(__unit: None=None, this: Any=this, WithFolder: Any=WithFolder) -> IEnumerable_1[Contract]:
50
+ def _arrow3457(__unit: None=None) -> IEnumerable_1[Contract]:
51
+ folder_fs: FileSystemTree = FileSystemTree.create_workflows_folder([FileSystemTree.create_workflow_folder(ArcWorkflow__get_Identifier(this))])
52
+ def _arrow3456(p: str) -> IEnumerable_1[Contract]:
53
+ return singleton(Contract.create_create(p, DTOType(10))) if ((p != "workflows/.gitkeep") if (p != path) else False) else empty()
54
+
55
+ return collect(_arrow3456, folder_fs.ToFilePaths(False))
56
+
57
+ def _arrow3458(__unit: None=None) -> IEnumerable_1[Contract]:
58
+ return singleton(c)
59
+
60
+ return append(_arrow3457() if with_folder else empty(), delay(_arrow3458))
61
+
62
+ return to_array(delay(_arrow3459))
63
+
64
+
65
+ def ARCtrl_ArcWorkflow__ArcWorkflow_ToUpdateContract(this: ArcWorkflow) -> Contract:
66
+ path: str = Workflow_fileNameFromIdentifier(ArcWorkflow__get_Identifier(this))
67
+ return Contract.create_update(path, DTOType(2), DTO(0, ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E(this)))
68
+
69
+
70
+ def ARCtrl_ArcWorkflow__ArcWorkflow_ToDeleteContract(this: ArcWorkflow) -> Contract:
71
+ path: str = get_workflow_folder_path(ArcWorkflow__get_Identifier(this))
72
+ return Contract.create_delete(path)
73
+
74
+
75
+ def ARCtrl_ArcWorkflow__ArcWorkflow_toDeleteContract_Static_Z1C75CB0E(workflow: ArcWorkflow) -> Contract:
76
+ return ARCtrl_ArcWorkflow__ArcWorkflow_ToDeleteContract(workflow)
77
+
78
+
79
+ def ARCtrl_ArcWorkflow__ArcWorkflow_toCreateContract_Static_3B1E4D7B(workflow: ArcWorkflow, WithFolder: bool | None=None) -> Array[Contract]:
80
+ return ARCtrl_ArcWorkflow__ArcWorkflow_ToCreateContract_6FCE9E49(workflow, WithFolder)
81
+
82
+
83
+ def ARCtrl_ArcWorkflow__ArcWorkflow_toUpdateContract_Static_Z1C75CB0E(workflow: ArcWorkflow) -> Contract:
84
+ return ARCtrl_ArcWorkflow__ArcWorkflow_ToUpdateContract(workflow)
85
+
86
+
87
+ def ARCtrl_ArcWorkflow__ArcWorkflow_tryFromReadContract_Static_7570923F(c: Contract) -> ArcWorkflow | None:
88
+ (pattern_matching_result, fsworkbook) = (None, None)
89
+ if c.Operation == "READ":
90
+ if c.DTOType is not None:
91
+ if c.DTOType.tag == 2:
92
+ if c.DTO is not None:
93
+ if c.DTO.tag == 0:
94
+ pattern_matching_result = 0
95
+ fsworkbook = c.DTO.fields[0]
96
+
97
+ else:
98
+ pattern_matching_result = 1
99
+
100
+
101
+ else:
102
+ pattern_matching_result = 1
103
+
104
+
105
+ else:
106
+ pattern_matching_result = 1
107
+
108
+
109
+ else:
110
+ pattern_matching_result = 1
111
+
112
+
113
+ else:
114
+ pattern_matching_result = 1
115
+
116
+ if pattern_matching_result == 0:
117
+ return ARCtrl_ArcWorkflow__ArcWorkflow_fromFsWorkbook_Static_32154C9D(fsworkbook)
118
+
119
+ elif pattern_matching_result == 1:
120
+ return None
121
+
122
+
123
+
124
+ __all__ = ["_007CWorkflowPath_007C__007C", "ARCtrl_ArcWorkflow__ArcWorkflow_ToCreateContract_6FCE9E49", "ARCtrl_ArcWorkflow__ArcWorkflow_ToUpdateContract", "ARCtrl_ArcWorkflow__ArcWorkflow_ToDeleteContract", "ARCtrl_ArcWorkflow__ArcWorkflow_toDeleteContract_Static_Z1C75CB0E", "ARCtrl_ArcWorkflow__ArcWorkflow_toCreateContract_Static_3B1E4D7B", "ARCtrl_ArcWorkflow__ArcWorkflow_toUpdateContract_Static_Z1C75CB0E", "ARCtrl_ArcWorkflow__ArcWorkflow_tryFromReadContract_Static_7570923F"]
125
+