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,153 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+ from typing import Any
4
+ from ..fable_modules.fable_library.option import default_arg
5
+ from ..fable_modules.fable_library.reflection import (TypeInfo, union_type, string_type, array_type, record_type, obj_type, option_type)
6
+ from ..fable_modules.fable_library.types import (Array, Union, Record)
7
+
8
+ def _expr3346() -> TypeInfo:
9
+ return union_type("ARCtrl.Contract.DTOType", [], DTOType, lambda: [[], [], [], [], [], [], [], [], [], [], [], []])
10
+
11
+
12
+ class DTOType(Union):
13
+ def __init__(self, tag: int, *fields: Any) -> None:
14
+ super().__init__()
15
+ self.tag: int = tag or 0
16
+ self.fields: Array[Any] = list(fields)
17
+
18
+ @staticmethod
19
+ def cases() -> list[str]:
20
+ return ["ISA_Assay", "ISA_Study", "ISA_Workflow", "ISA_Run", "ISA_Investigation", "ISA_Datamap", "JSON", "Markdown", "CWL", "YAML", "PlainText", "Cli"]
21
+
22
+
23
+ DTOType_reflection = _expr3346
24
+
25
+ def _expr3347() -> TypeInfo:
26
+ return record_type("ARCtrl.Contract.CLITool", [], CLITool, lambda: [("Name", string_type), ("Arguments", array_type(string_type))])
27
+
28
+
29
+ @dataclass(eq = False, repr = False, slots = True)
30
+ class CLITool(Record):
31
+ Name: str
32
+ Arguments: Array[str]
33
+ @staticmethod
34
+ def create(name: str, arguments: Array[str]) -> CLITool:
35
+ return CLITool(name, arguments)
36
+
37
+
38
+ CLITool_reflection = _expr3347
39
+
40
+ def _expr3348() -> TypeInfo:
41
+ return union_type("ARCtrl.Contract.DTO", [], DTO, lambda: [[("Item", obj_type)], [("Item", string_type)], [("Item", CLITool_reflection())]])
42
+
43
+
44
+ class DTO(Union):
45
+ def __init__(self, tag: int, *fields: Any) -> None:
46
+ super().__init__()
47
+ self.tag: int = tag or 0
48
+ self.fields: Array[Any] = list(fields)
49
+
50
+ @staticmethod
51
+ def cases() -> list[str]:
52
+ return ["Spreadsheet", "Text", "CLITool"]
53
+
54
+
55
+ DTO_reflection = _expr3348
56
+
57
+ def DTO__get_isSpreadsheet(this: DTO) -> bool:
58
+ if this.tag == 0:
59
+ return True
60
+
61
+ else:
62
+ return False
63
+
64
+
65
+
66
+ def DTO__get_isText(this: DTO) -> bool:
67
+ if this.tag == 1:
68
+ return True
69
+
70
+ else:
71
+ return False
72
+
73
+
74
+
75
+ def DTO__get_isCLITool(this: DTO) -> bool:
76
+ if this.tag == 2:
77
+ return True
78
+
79
+ else:
80
+ return False
81
+
82
+
83
+
84
+ def DTO__AsSpreadsheet(this: DTO) -> Any:
85
+ if this.tag == 0:
86
+ return this.fields[0]
87
+
88
+ else:
89
+ raise Exception("Not a spreadsheet")
90
+
91
+
92
+
93
+ def DTO__AsText(this: DTO) -> str:
94
+ if this.tag == 1:
95
+ return this.fields[0]
96
+
97
+ else:
98
+ raise Exception("Not text")
99
+
100
+
101
+
102
+ def DTO__AsCLITool(this: DTO) -> CLITool:
103
+ if this.tag == 2:
104
+ return this.fields[0]
105
+
106
+ else:
107
+ raise Exception("Not a CLI tool")
108
+
109
+
110
+
111
+ def _expr3349() -> TypeInfo:
112
+ return record_type("ARCtrl.Contract.Contract", [], Contract, lambda: [("Operation", string_type), ("Path", string_type), ("DTOType", option_type(DTOType_reflection())), ("DTO", option_type(DTO_reflection()))])
113
+
114
+
115
+ @dataclass(eq = False, repr = False, slots = True)
116
+ class Contract(Record):
117
+ Operation: str
118
+ Path: str
119
+ DTOType: DTOType | None
120
+ DTO: DTO | None
121
+ @staticmethod
122
+ def create(op: str, path: str, dto_type: DTOType | None=None, dto: DTO | None=None) -> Contract:
123
+ return Contract(op, path, dto_type, dto)
124
+
125
+ @staticmethod
126
+ def create_create(path: str, dto_type: DTOType, dto: DTO | None=None) -> Contract:
127
+ return Contract("CREATE", path, dto_type, dto)
128
+
129
+ @staticmethod
130
+ def create_update(path: str, dto_type: DTOType, dto: DTO) -> Contract:
131
+ return Contract("UPDATE", path, dto_type, dto)
132
+
133
+ @staticmethod
134
+ def create_delete(path: str) -> Contract:
135
+ return Contract("DELETE", path, None, None)
136
+
137
+ @staticmethod
138
+ def create_read(path: str, dto_type: DTOType) -> Contract:
139
+ return Contract("READ", path, dto_type, None)
140
+
141
+ @staticmethod
142
+ def create_execute(dto: CLITool, path: str | None=None) -> Contract:
143
+ return Contract("EXECUTE", default_arg(path, ""), DTOType(11), DTO(2, dto))
144
+
145
+ @staticmethod
146
+ def create_rename(old_path: str, new_path: str) -> Contract:
147
+ return Contract("RENAME", old_path, None, DTO(1, new_path))
148
+
149
+
150
+ Contract_reflection = _expr3349
151
+
152
+ __all__ = ["DTOType_reflection", "CLITool_reflection", "DTO_reflection", "DTO__get_isSpreadsheet", "DTO__get_isText", "DTO__get_isCLITool", "DTO__AsSpreadsheet", "DTO__AsText", "DTO__AsCLITool", "Contract_reflection"]
153
+
@@ -0,0 +1,372 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from ..fable_modules.fable_library.array_ import equals_with
5
+ from ..fable_modules.fable_library.types import Array
6
+ from ..fable_modules.fable_library.util import safe_hash
7
+ from ..Core.data_map import (DataMap, DataMap__set_StaticHash_Z524259A4)
8
+ from ..Core.Helper.identifier import (Assay_datamapFileNameFromIdentifier, Study_datamapFileNameFromIdentifier, Workflow_datamapFileNameFromIdentifier, Run_datamapFileNameFromIdentifier)
9
+ from ..FileSystem.path import combine_many
10
+ from ..Spreadsheet.data_map import (to_fs_workbook, from_fs_workbook)
11
+ from .contract import (Contract, DTOType, DTO)
12
+
13
+ def _007CDatamapPath_007C__007C(input: Array[str]) -> str | None:
14
+ (pattern_matching_result,) = (None,)
15
+ def _arrow3432(x: str, y: str, input: Any=input) -> bool:
16
+ return x == y
17
+
18
+ if (len(input) == 3) if (not equals_with(_arrow3432, input, None)) else False:
19
+ if input[0] == "assays":
20
+ if input[2] == "isa.datamap.xlsx":
21
+ pattern_matching_result = 0
22
+
23
+ else:
24
+ pattern_matching_result = 2
25
+
26
+
27
+ elif input[0] == "studies":
28
+ if input[2] == "isa.datamap.xlsx":
29
+ pattern_matching_result = 1
30
+
31
+ else:
32
+ pattern_matching_result = 2
33
+
34
+
35
+ else:
36
+ pattern_matching_result = 2
37
+
38
+
39
+ else:
40
+ pattern_matching_result = 2
41
+
42
+ if pattern_matching_result == 0:
43
+ any_assay_name: str = input[1]
44
+ return combine_many(input)
45
+
46
+ elif pattern_matching_result == 1:
47
+ any_study_name: str = input[1]
48
+ return combine_many(input)
49
+
50
+ elif pattern_matching_result == 2:
51
+ return None
52
+
53
+
54
+
55
+ def ARCtrl_DataMap__DataMap_ToCreateContractForAssay_Z721C83C5(this: DataMap, assay_identifier: str) -> Contract:
56
+ path: str = Assay_datamapFileNameFromIdentifier(assay_identifier)
57
+ return Contract.create_create(path, DTOType(5), DTO(0, to_fs_workbook(this)))
58
+
59
+
60
+ def ARCtrl_DataMap__DataMap_ToUpdateContractForAssay_Z721C83C5(this: DataMap, assay_identifier: str) -> Contract:
61
+ path: str = Assay_datamapFileNameFromIdentifier(assay_identifier)
62
+ return Contract.create_update(path, DTOType(5), DTO(0, to_fs_workbook(this)))
63
+
64
+
65
+ def ARCtrl_DataMap__DataMap_ToDeleteContractForAssay_Z721C83C5(this: DataMap, assay_identifier: str) -> Contract:
66
+ path: str = Assay_datamapFileNameFromIdentifier(assay_identifier)
67
+ return Contract.create_delete(path)
68
+
69
+
70
+ def ARCtrl_DataMap__DataMap_toDeleteContractForAssay_Static_Z721C83C5(assay_identifier: str) -> Callable[[DataMap], Contract]:
71
+ def _arrow3433(data_map: DataMap, assay_identifier: Any=assay_identifier) -> Contract:
72
+ return ARCtrl_DataMap__DataMap_ToDeleteContractForAssay_Z721C83C5(data_map, assay_identifier)
73
+
74
+ return _arrow3433
75
+
76
+
77
+ def ARCtrl_DataMap__DataMap_toUpdateContractForAssay_Static_Z721C83C5(assay_identifier: str) -> Callable[[DataMap], Contract]:
78
+ def _arrow3434(data_map: DataMap, assay_identifier: Any=assay_identifier) -> Contract:
79
+ return ARCtrl_DataMap__DataMap_ToUpdateContractForAssay_Z721C83C5(data_map, assay_identifier)
80
+
81
+ return _arrow3434
82
+
83
+
84
+ def ARCtrl_DataMap__DataMap_tryFromReadContractForAssay_Static(assay_identifier: str, c: Contract) -> DataMap | None:
85
+ path: str = Assay_datamapFileNameFromIdentifier(assay_identifier)
86
+ (pattern_matching_result, fsworkbook_1, p_1) = (None, None, None)
87
+ if c.Operation == "READ":
88
+ if c.DTOType is not None:
89
+ if c.DTOType.tag == 5:
90
+ if c.DTO is not None:
91
+ if c.DTO.tag == 0:
92
+ def _arrow3435(__unit: None=None, assay_identifier: Any=assay_identifier, c: Any=c) -> bool:
93
+ fsworkbook: Any = c.DTO.fields[0]
94
+ return c.Path == path
95
+
96
+ if _arrow3435():
97
+ pattern_matching_result = 0
98
+ fsworkbook_1 = c.DTO.fields[0]
99
+ p_1 = c.Path
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
+
117
+ else:
118
+ pattern_matching_result = 1
119
+
120
+
121
+ else:
122
+ pattern_matching_result = 1
123
+
124
+ if pattern_matching_result == 0:
125
+ dm: DataMap = from_fs_workbook(fsworkbook_1)
126
+ DataMap__set_StaticHash_Z524259A4(dm, safe_hash(dm))
127
+ return dm
128
+
129
+ elif pattern_matching_result == 1:
130
+ return None
131
+
132
+
133
+
134
+ def ARCtrl_DataMap__DataMap_ToCreateContractForStudy_Z721C83C5(this: DataMap, study_identifier: str) -> Contract:
135
+ path: str = Study_datamapFileNameFromIdentifier(study_identifier)
136
+ return Contract.create_create(path, DTOType(5), DTO(0, to_fs_workbook(this)))
137
+
138
+
139
+ def ARCtrl_DataMap__DataMap_ToUpdateContractForStudy_Z721C83C5(this: DataMap, study_identifier: str) -> Contract:
140
+ path: str = Study_datamapFileNameFromIdentifier(study_identifier)
141
+ return Contract.create_update(path, DTOType(5), DTO(0, to_fs_workbook(this)))
142
+
143
+
144
+ def ARCtrl_DataMap__DataMap_ToDeleteContractForStudy_Z721C83C5(this: DataMap, study_identifier: str) -> Contract:
145
+ path: str = Study_datamapFileNameFromIdentifier(study_identifier)
146
+ return Contract.create_delete(path)
147
+
148
+
149
+ def ARCtrl_DataMap__DataMap_toDeleteContractForStudy_Static_Z721C83C5(study_identifier: str) -> Callable[[DataMap], Contract]:
150
+ def _arrow3436(data_map: DataMap, study_identifier: Any=study_identifier) -> Contract:
151
+ return ARCtrl_DataMap__DataMap_ToDeleteContractForStudy_Z721C83C5(data_map, study_identifier)
152
+
153
+ return _arrow3436
154
+
155
+
156
+ def ARCtrl_DataMap__DataMap_toUpdateContractForStudy_Static_Z721C83C5(study_identifier: str) -> Callable[[DataMap], Contract]:
157
+ def _arrow3437(data_map: DataMap, study_identifier: Any=study_identifier) -> Contract:
158
+ return ARCtrl_DataMap__DataMap_ToUpdateContractForStudy_Z721C83C5(data_map, study_identifier)
159
+
160
+ return _arrow3437
161
+
162
+
163
+ def ARCtrl_DataMap__DataMap_tryFromReadContractForStudy_Static(study_identifier: str, c: Contract) -> DataMap | None:
164
+ path: str = Study_datamapFileNameFromIdentifier(study_identifier)
165
+ (pattern_matching_result, fsworkbook_1, p_1) = (None, None, None)
166
+ if c.Operation == "READ":
167
+ if c.DTOType is not None:
168
+ if c.DTOType.tag == 5:
169
+ if c.DTO is not None:
170
+ if c.DTO.tag == 0:
171
+ def _arrow3438(__unit: None=None, study_identifier: Any=study_identifier, c: Any=c) -> bool:
172
+ fsworkbook: Any = c.DTO.fields[0]
173
+ return c.Path == path
174
+
175
+ if _arrow3438():
176
+ pattern_matching_result = 0
177
+ fsworkbook_1 = c.DTO.fields[0]
178
+ p_1 = c.Path
179
+
180
+ else:
181
+ pattern_matching_result = 1
182
+
183
+
184
+ else:
185
+ pattern_matching_result = 1
186
+
187
+
188
+ else:
189
+ pattern_matching_result = 1
190
+
191
+
192
+ else:
193
+ pattern_matching_result = 1
194
+
195
+
196
+ else:
197
+ pattern_matching_result = 1
198
+
199
+
200
+ else:
201
+ pattern_matching_result = 1
202
+
203
+ if pattern_matching_result == 0:
204
+ dm: DataMap = from_fs_workbook(fsworkbook_1)
205
+ DataMap__set_StaticHash_Z524259A4(dm, safe_hash(dm))
206
+ return dm
207
+
208
+ elif pattern_matching_result == 1:
209
+ return None
210
+
211
+
212
+
213
+ def ARCtrl_DataMap__DataMap_ToCreateContractForWorkflow_Z721C83C5(this: DataMap, workflow_identifier: str) -> Contract:
214
+ path: str = Workflow_datamapFileNameFromIdentifier(workflow_identifier)
215
+ return Contract.create_create(path, DTOType(5), DTO(0, to_fs_workbook(this)))
216
+
217
+
218
+ def ARCtrl_DataMap__DataMap_ToUpdateContractForWorkflow_Z721C83C5(this: DataMap, workflow_identifier: str) -> Contract:
219
+ path: str = Workflow_datamapFileNameFromIdentifier(workflow_identifier)
220
+ return Contract.create_update(path, DTOType(5), DTO(0, to_fs_workbook(this)))
221
+
222
+
223
+ def ARCtrl_DataMap__DataMap_ToDeleteContractForWorkflow_Z721C83C5(this: DataMap, workflow_identifier: str) -> Contract:
224
+ path: str = Workflow_datamapFileNameFromIdentifier(workflow_identifier)
225
+ return Contract.create_delete(path)
226
+
227
+
228
+ def ARCtrl_DataMap__DataMap_toDeleteContractForWorkflow_Static_Z721C83C5(workflow_identifier: str) -> Callable[[DataMap], Contract]:
229
+ def _arrow3439(data_map: DataMap, workflow_identifier: Any=workflow_identifier) -> Contract:
230
+ return ARCtrl_DataMap__DataMap_ToDeleteContractForWorkflow_Z721C83C5(data_map, workflow_identifier)
231
+
232
+ return _arrow3439
233
+
234
+
235
+ def ARCtrl_DataMap__DataMap_toUpdateContractForWorkflow_Static_Z721C83C5(workflow_identifier: str) -> Callable[[DataMap], Contract]:
236
+ def _arrow3440(data_map: DataMap, workflow_identifier: Any=workflow_identifier) -> Contract:
237
+ return ARCtrl_DataMap__DataMap_ToUpdateContractForWorkflow_Z721C83C5(data_map, workflow_identifier)
238
+
239
+ return _arrow3440
240
+
241
+
242
+ def ARCtrl_DataMap__DataMap_tryFromReadContractForWorkflow_Static(workflow_identifier: str, c: Contract) -> DataMap | None:
243
+ path: str = Workflow_datamapFileNameFromIdentifier(workflow_identifier)
244
+ (pattern_matching_result, fsworkbook_1, p_1) = (None, None, None)
245
+ if c.Operation == "READ":
246
+ if c.DTOType is not None:
247
+ if c.DTOType.tag == 5:
248
+ if c.DTO is not None:
249
+ if c.DTO.tag == 0:
250
+ def _arrow3441(__unit: None=None, workflow_identifier: Any=workflow_identifier, c: Any=c) -> bool:
251
+ fsworkbook: Any = c.DTO.fields[0]
252
+ return c.Path == path
253
+
254
+ if _arrow3441():
255
+ pattern_matching_result = 0
256
+ fsworkbook_1 = c.DTO.fields[0]
257
+ p_1 = c.Path
258
+
259
+ else:
260
+ pattern_matching_result = 1
261
+
262
+
263
+ else:
264
+ pattern_matching_result = 1
265
+
266
+
267
+ else:
268
+ pattern_matching_result = 1
269
+
270
+
271
+ else:
272
+ pattern_matching_result = 1
273
+
274
+
275
+ else:
276
+ pattern_matching_result = 1
277
+
278
+
279
+ else:
280
+ pattern_matching_result = 1
281
+
282
+ if pattern_matching_result == 0:
283
+ dm: DataMap = from_fs_workbook(fsworkbook_1)
284
+ DataMap__set_StaticHash_Z524259A4(dm, safe_hash(dm))
285
+ return dm
286
+
287
+ elif pattern_matching_result == 1:
288
+ return None
289
+
290
+
291
+
292
+ def ARCtrl_DataMap__DataMap_ToCreateContractForRun_Z721C83C5(this: DataMap, run_identifier: str) -> Contract:
293
+ path: str = Run_datamapFileNameFromIdentifier(run_identifier)
294
+ return Contract.create_create(path, DTOType(5), DTO(0, to_fs_workbook(this)))
295
+
296
+
297
+ def ARCtrl_DataMap__DataMap_ToUpdateContractForRun_Z721C83C5(this: DataMap, run_identifier: str) -> Contract:
298
+ path: str = Run_datamapFileNameFromIdentifier(run_identifier)
299
+ return Contract.create_update(path, DTOType(5), DTO(0, to_fs_workbook(this)))
300
+
301
+
302
+ def ARCtrl_DataMap__DataMap_ToDeleteContractForRun_Z721C83C5(this: DataMap, run_identifier: str) -> Contract:
303
+ path: str = Run_datamapFileNameFromIdentifier(run_identifier)
304
+ return Contract.create_delete(path)
305
+
306
+
307
+ def ARCtrl_DataMap__DataMap_toDeleteContractForRun_Static_Z721C83C5(run_identifier: str) -> Callable[[DataMap], Contract]:
308
+ def _arrow3442(data_map: DataMap, run_identifier: Any=run_identifier) -> Contract:
309
+ return ARCtrl_DataMap__DataMap_ToDeleteContractForRun_Z721C83C5(data_map, run_identifier)
310
+
311
+ return _arrow3442
312
+
313
+
314
+ def ARCtrl_DataMap__DataMap_toUpdateContractForRun_Static_Z721C83C5(run_identifier: str) -> Callable[[DataMap], Contract]:
315
+ def _arrow3443(data_map: DataMap, run_identifier: Any=run_identifier) -> Contract:
316
+ return ARCtrl_DataMap__DataMap_ToUpdateContractForRun_Z721C83C5(data_map, run_identifier)
317
+
318
+ return _arrow3443
319
+
320
+
321
+ def ARCtrl_DataMap__DataMap_tryFromReadContractForRun_Static(run_identifier: str, c: Contract) -> DataMap | None:
322
+ path: str = Run_datamapFileNameFromIdentifier(run_identifier)
323
+ (pattern_matching_result, fsworkbook_1, p_1) = (None, None, None)
324
+ if c.Operation == "READ":
325
+ if c.DTOType is not None:
326
+ if c.DTOType.tag == 5:
327
+ if c.DTO is not None:
328
+ if c.DTO.tag == 0:
329
+ def _arrow3444(__unit: None=None, run_identifier: Any=run_identifier, c: Any=c) -> bool:
330
+ fsworkbook: Any = c.DTO.fields[0]
331
+ return c.Path == path
332
+
333
+ if _arrow3444():
334
+ pattern_matching_result = 0
335
+ fsworkbook_1 = c.DTO.fields[0]
336
+ p_1 = c.Path
337
+
338
+ else:
339
+ pattern_matching_result = 1
340
+
341
+
342
+ else:
343
+ pattern_matching_result = 1
344
+
345
+
346
+ else:
347
+ pattern_matching_result = 1
348
+
349
+
350
+ else:
351
+ pattern_matching_result = 1
352
+
353
+
354
+ else:
355
+ pattern_matching_result = 1
356
+
357
+
358
+ else:
359
+ pattern_matching_result = 1
360
+
361
+ if pattern_matching_result == 0:
362
+ dm: DataMap = from_fs_workbook(fsworkbook_1)
363
+ DataMap__set_StaticHash_Z524259A4(dm, safe_hash(dm))
364
+ return dm
365
+
366
+ elif pattern_matching_result == 1:
367
+ return None
368
+
369
+
370
+
371
+ __all__ = ["_007CDatamapPath_007C__007C", "ARCtrl_DataMap__DataMap_ToCreateContractForAssay_Z721C83C5", "ARCtrl_DataMap__DataMap_ToUpdateContractForAssay_Z721C83C5", "ARCtrl_DataMap__DataMap_ToDeleteContractForAssay_Z721C83C5", "ARCtrl_DataMap__DataMap_toDeleteContractForAssay_Static_Z721C83C5", "ARCtrl_DataMap__DataMap_toUpdateContractForAssay_Static_Z721C83C5", "ARCtrl_DataMap__DataMap_tryFromReadContractForAssay_Static", "ARCtrl_DataMap__DataMap_ToCreateContractForStudy_Z721C83C5", "ARCtrl_DataMap__DataMap_ToUpdateContractForStudy_Z721C83C5", "ARCtrl_DataMap__DataMap_ToDeleteContractForStudy_Z721C83C5", "ARCtrl_DataMap__DataMap_toDeleteContractForStudy_Static_Z721C83C5", "ARCtrl_DataMap__DataMap_toUpdateContractForStudy_Static_Z721C83C5", "ARCtrl_DataMap__DataMap_tryFromReadContractForStudy_Static", "ARCtrl_DataMap__DataMap_ToCreateContractForWorkflow_Z721C83C5", "ARCtrl_DataMap__DataMap_ToUpdateContractForWorkflow_Z721C83C5", "ARCtrl_DataMap__DataMap_ToDeleteContractForWorkflow_Z721C83C5", "ARCtrl_DataMap__DataMap_toDeleteContractForWorkflow_Static_Z721C83C5", "ARCtrl_DataMap__DataMap_toUpdateContractForWorkflow_Static_Z721C83C5", "ARCtrl_DataMap__DataMap_tryFromReadContractForWorkflow_Static", "ARCtrl_DataMap__DataMap_ToCreateContractForRun_Z721C83C5", "ARCtrl_DataMap__DataMap_ToUpdateContractForRun_Z721C83C5", "ARCtrl_DataMap__DataMap_ToDeleteContractForRun_Z721C83C5", "ARCtrl_DataMap__DataMap_toDeleteContractForRun_Static_Z721C83C5", "ARCtrl_DataMap__DataMap_toUpdateContractForRun_Static_Z721C83C5", "ARCtrl_DataMap__DataMap_tryFromReadContractForRun_Static"]
372
+
@@ -0,0 +1,118 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.option import (default_arg, value)
4
+ from ..fable_modules.fable_library.reflection import (TypeInfo, class_type)
5
+ from ..fable_modules.fable_library.seq import (to_array, delay, append, singleton, empty)
6
+ from ..fable_modules.fable_library.string_ import replace
7
+ from ..fable_modules.fable_library.types import Array
8
+ from ..fable_modules.fable_library.util import IEnumerable_1
9
+ from ..FileSystem.default_gitattributes import dga
10
+ from ..FileSystem.default_gitignore import dgi
11
+ from .contract import (CLITool, Contract, DTOType, DTO)
12
+
13
+ def git_with_args(arguments: Array[str]) -> CLITool:
14
+ return CLITool.create("git", arguments)
15
+
16
+
17
+ def create_git_contract_at(path: str, arguments: Array[str]) -> Contract:
18
+ return Contract.create_execute(git_with_args(arguments), path)
19
+
20
+
21
+ def create_git_contract(arguments: Array[str]) -> Contract:
22
+ return Contract.create_execute(git_with_args(arguments))
23
+
24
+
25
+ gitignore_contract: Contract = Contract.create_create(".gitignore", DTOType(10), DTO(1, dgi))
26
+
27
+ gitattributes_contract: Contract = Contract.create_create(".gitattributes", DTOType(10), DTO(1, dga))
28
+
29
+ def _expr3466() -> TypeInfo:
30
+ return class_type("ARCtrl.Contract.Git.Init", None, Init)
31
+
32
+
33
+ class Init:
34
+ ...
35
+
36
+ Init_reflection = _expr3466
37
+
38
+ def _expr3467() -> TypeInfo:
39
+ return class_type("ARCtrl.Contract.Git.Clone", None, Clone)
40
+
41
+
42
+ class Clone:
43
+ ...
44
+
45
+ Clone_reflection = _expr3467
46
+
47
+ def Init_get_init(__unit: None=None) -> str:
48
+ return "init"
49
+
50
+
51
+ def Init_get_branchFlag(__unit: None=None) -> str:
52
+ return "-b"
53
+
54
+
55
+ def Init_get_remote(__unit: None=None) -> str:
56
+ return "remote"
57
+
58
+
59
+ def Init_get_add(__unit: None=None) -> str:
60
+ return "add"
61
+
62
+
63
+ def Init_get_origin(__unit: None=None) -> str:
64
+ return "origin"
65
+
66
+
67
+ def Init_createInitContract_6DFDD678(branch: str | None=None) -> Contract:
68
+ branch_1: str = default_arg(branch, "main")
69
+ return create_git_contract([Init_get_init(), Init_get_branchFlag(), branch_1])
70
+
71
+
72
+ def Init_createAddRemoteContract_Z721C83C5(remote_url: str) -> Contract:
73
+ return create_git_contract([Init_get_remote(), Init_get_add(), Init_get_origin(), remote_url])
74
+
75
+
76
+ def Clone_get_clone(__unit: None=None) -> str:
77
+ return "clone"
78
+
79
+
80
+ def Clone_get_branchFlag(__unit: None=None) -> str:
81
+ return "-b"
82
+
83
+
84
+ def Clone_get_noLFSConfig(__unit: None=None) -> str:
85
+ return "-c \"filter.lfs.smudge = git-lfs smudge --skip -- %f\" -c \"filter.lfs.process = git-lfs filter-process --skip\""
86
+
87
+
88
+ def Clone_formatRepoString(username: str, pass_: str, url: str) -> str:
89
+ return replace(url, "https://", "https://" + (((username + ":") + pass_) + "@"))
90
+
91
+
92
+ def Clone_createCloneContract_5000466F(remote_url: str, merge: bool | None=None, branch: str | None=None, token: tuple[str, str] | None=None, nolfs: bool | None=None) -> Contract:
93
+ nolfs_1: bool = default_arg(nolfs, False)
94
+ merge_1: bool = default_arg(merge, False)
95
+ remote_url_1: str = remote_url if (token is None) else Clone_formatRepoString(token[0], token[1], remote_url)
96
+ def _arrow3473(__unit: None=None, remote_url: Any=remote_url, merge: Any=merge, branch: Any=branch, token: Any=token, nolfs: Any=nolfs) -> IEnumerable_1[str]:
97
+ def _arrow3472(__unit: None=None) -> IEnumerable_1[str]:
98
+ def _arrow3471(__unit: None=None) -> IEnumerable_1[str]:
99
+ def _arrow3470(__unit: None=None) -> IEnumerable_1[str]:
100
+ def _arrow3469(__unit: None=None) -> IEnumerable_1[str]:
101
+ def _arrow3468(__unit: None=None) -> IEnumerable_1[str]:
102
+ return singleton(".") if merge_1 else empty()
103
+
104
+ return append(singleton(remote_url_1), delay(_arrow3468))
105
+
106
+ return append(singleton(value(branch)) if (branch is not None) else empty(), delay(_arrow3469))
107
+
108
+ return append(singleton(Clone_get_branchFlag()) if (branch is not None) else empty(), delay(_arrow3470))
109
+
110
+ return append(singleton(Clone_get_noLFSConfig()) if nolfs_1 else empty(), delay(_arrow3471))
111
+
112
+ return append(singleton(Clone_get_clone()), delay(_arrow3472))
113
+
114
+ return create_git_contract(to_array(delay(_arrow3473)))
115
+
116
+
117
+ __all__ = ["git_with_args", "create_git_contract_at", "create_git_contract", "gitignore_contract", "gitattributes_contract", "Init_reflection", "Clone_reflection", "Init_get_init", "Init_get_branchFlag", "Init_get_remote", "Init_get_add", "Init_get_origin", "Init_createInitContract_6DFDD678", "Init_createAddRemoteContract_Z721C83C5", "Clone_get_clone", "Clone_get_branchFlag", "Clone_get_noLFSConfig", "Clone_formatRepoString", "Clone_createCloneContract_5000466F"]
118
+