arctrl 3.0.0__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 (511) hide show
  1. arctrl/__init__.py +23 -0
  2. arctrl/cwl.py +12 -0
  3. arctrl/py/CWL/__init__.py +0 -0
  4. arctrl/py/CWL/cwlprocessing_unit.py +221 -0
  5. arctrl/py/CWL/cwltypes.py +364 -0
  6. arctrl/py/CWL/decode.py +3532 -0
  7. arctrl/py/CWL/encode.py +1905 -0
  8. arctrl/py/CWL/expression_tool_description.py +192 -0
  9. arctrl/py/CWL/hash_helpers.py +60 -0
  10. arctrl/py/CWL/inputs.py +122 -0
  11. arctrl/py/CWL/operation_description.py +169 -0
  12. arctrl/py/CWL/outputs.py +171 -0
  13. arctrl/py/CWL/parameter_reference.py +74 -0
  14. arctrl/py/CWL/requirements.py +350 -0
  15. arctrl/py/CWL/tool_description.py +192 -0
  16. arctrl/py/CWL/workflow_description.py +181 -0
  17. arctrl/py/CWL/workflow_steps.py +354 -0
  18. arctrl/py/Contract/__init__.py +0 -0
  19. arctrl/py/Contract/arc.py +89 -0
  20. arctrl/py/Contract/arc_assay.py +125 -0
  21. arctrl/py/Contract/arc_investigation.py +88 -0
  22. arctrl/py/Contract/arc_run.py +291 -0
  23. arctrl/py/Contract/arc_study.py +126 -0
  24. arctrl/py/Contract/arc_workflow.py +213 -0
  25. arctrl/py/Contract/contract.py +153 -0
  26. arctrl/py/Contract/datamap.py +396 -0
  27. arctrl/py/Contract/git.py +116 -0
  28. arctrl/py/Contract/license.py +58 -0
  29. arctrl/py/Contract/validation_packages_config.py +107 -0
  30. arctrl/py/ContractIO/__init__.py +0 -0
  31. arctrl/py/ContractIO/contract_io.py +350 -0
  32. arctrl/py/ContractIO/file_system_helper.py +264 -0
  33. arctrl/py/Conversion/__init__.py +0 -0
  34. arctrl/py/Conversion/assay.py +151 -0
  35. arctrl/py/Conversion/basic.py +559 -0
  36. arctrl/py/Conversion/column_index.py +91 -0
  37. arctrl/py/Conversion/datamap.py +36 -0
  38. arctrl/py/Conversion/date_time.py +32 -0
  39. arctrl/py/Conversion/investigation.py +171 -0
  40. arctrl/py/Conversion/person.py +148 -0
  41. arctrl/py/Conversion/process.py +828 -0
  42. arctrl/py/Conversion/run.py +367 -0
  43. arctrl/py/Conversion/scholarly_article.py +163 -0
  44. arctrl/py/Conversion/study.py +99 -0
  45. arctrl/py/Conversion/table.py +229 -0
  46. arctrl/py/Conversion/workflow.py +680 -0
  47. arctrl/py/Core/Helper/__init__.py +0 -0
  48. arctrl/py/Core/Helper/collections_.py +512 -0
  49. arctrl/py/Core/Helper/date_time.py +26 -0
  50. arctrl/py/Core/Helper/hash_codes.py +60 -0
  51. arctrl/py/Core/Helper/identifier.py +290 -0
  52. arctrl/py/Core/Helper/orcid.py +42 -0
  53. arctrl/py/Core/Helper/printer.py +13 -0
  54. arctrl/py/Core/Helper/regex.py +554 -0
  55. arctrl/py/Core/Helper/sem_ver.py +71 -0
  56. arctrl/py/Core/Helper/url.py +148 -0
  57. arctrl/py/Core/Process/__init__.py +0 -0
  58. arctrl/py/Core/Process/column_index.py +280 -0
  59. arctrl/py/Core/Process/component.py +200 -0
  60. arctrl/py/Core/Process/factor.py +151 -0
  61. arctrl/py/Core/Process/factor_value.py +182 -0
  62. arctrl/py/Core/Process/material.py +74 -0
  63. arctrl/py/Core/Process/material_attribute.py +95 -0
  64. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  65. arctrl/py/Core/Process/material_type.py +45 -0
  66. arctrl/py/Core/Process/process.py +477 -0
  67. arctrl/py/Core/Process/process_input.py +265 -0
  68. arctrl/py/Core/Process/process_output.py +235 -0
  69. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  70. arctrl/py/Core/Process/process_sequence.py +435 -0
  71. arctrl/py/Core/Process/protocol.py +175 -0
  72. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  73. arctrl/py/Core/Process/sample.py +82 -0
  74. arctrl/py/Core/Process/source.py +62 -0
  75. arctrl/py/Core/Table/__init__.py +0 -0
  76. arctrl/py/Core/Table/arc_table.py +1206 -0
  77. arctrl/py/Core/Table/arc_table_aux.py +1308 -0
  78. arctrl/py/Core/Table/arc_tables.py +574 -0
  79. arctrl/py/Core/Table/composite_cell.py +319 -0
  80. arctrl/py/Core/Table/composite_column.py +73 -0
  81. arctrl/py/Core/Table/composite_header.py +739 -0
  82. arctrl/py/Core/__init__.py +0 -0
  83. arctrl/py/Core/arc_types.py +5312 -0
  84. arctrl/py/Core/comment.py +128 -0
  85. arctrl/py/Core/comment_list.py +127 -0
  86. arctrl/py/Core/conversion.py +1375 -0
  87. arctrl/py/Core/data.py +247 -0
  88. arctrl/py/Core/data_context.py +157 -0
  89. arctrl/py/Core/data_file.py +112 -0
  90. arctrl/py/Core/datamap.py +217 -0
  91. arctrl/py/Core/identifier_setters.py +43 -0
  92. arctrl/py/Core/iproperty_value.py +36 -0
  93. arctrl/py/Core/ontology_annotation.py +298 -0
  94. arctrl/py/Core/ontology_source_reference.py +114 -0
  95. arctrl/py/Core/person.py +259 -0
  96. arctrl/py/Core/publication.py +161 -0
  97. arctrl/py/Core/template.py +231 -0
  98. arctrl/py/Core/templates.py +148 -0
  99. arctrl/py/Core/uri.py +11 -0
  100. arctrl/py/Core/value.py +188 -0
  101. arctrl/py/FileSystem/__init__.py +0 -0
  102. arctrl/py/FileSystem/commit.py +21 -0
  103. arctrl/py/FileSystem/default_gitattributes.py +1 -0
  104. arctrl/py/FileSystem/default_gitignore.py +1 -0
  105. arctrl/py/FileSystem/default_license.py +1 -0
  106. arctrl/py/FileSystem/file_system.py +58 -0
  107. arctrl/py/FileSystem/file_system_tree.py +483 -0
  108. arctrl/py/FileSystem/path.py +266 -0
  109. arctrl/py/Json/Datamap/__init__.py +0 -0
  110. arctrl/py/Json/Datamap/data_context.py +101 -0
  111. arctrl/py/Json/Datamap/datamap.py +53 -0
  112. arctrl/py/Json/Process/__init__.py +0 -0
  113. arctrl/py/Json/Process/assay_materials.py +46 -0
  114. arctrl/py/Json/Process/component.py +125 -0
  115. arctrl/py/Json/Process/factor.py +107 -0
  116. arctrl/py/Json/Process/factor_value.py +101 -0
  117. arctrl/py/Json/Process/material.py +226 -0
  118. arctrl/py/Json/Process/material_attribute.py +79 -0
  119. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  120. arctrl/py/Json/Process/material_type.py +53 -0
  121. arctrl/py/Json/Process/process.py +296 -0
  122. arctrl/py/Json/Process/process_input.py +83 -0
  123. arctrl/py/Json/Process/process_output.py +67 -0
  124. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  125. arctrl/py/Json/Process/protocol.py +354 -0
  126. arctrl/py/Json/Process/protocol_parameter.py +91 -0
  127. arctrl/py/Json/Process/sample.py +277 -0
  128. arctrl/py/Json/Process/source.py +214 -0
  129. arctrl/py/Json/Process/study_materials.py +52 -0
  130. arctrl/py/Json/Process/value.py +56 -0
  131. arctrl/py/Json/ROCrate/__init__.py +0 -0
  132. arctrl/py/Json/ROCrate/ldcontext.py +143 -0
  133. arctrl/py/Json/ROCrate/ldgraph.py +117 -0
  134. arctrl/py/Json/ROCrate/ldnode.py +304 -0
  135. arctrl/py/Json/ROCrate/ldref.py +44 -0
  136. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  137. arctrl/py/Json/Table/__init__.py +0 -0
  138. arctrl/py/Json/Table/arc_table.py +375 -0
  139. arctrl/py/Json/Table/cell_table.py +83 -0
  140. arctrl/py/Json/Table/composite_cell.py +136 -0
  141. arctrl/py/Json/Table/composite_header.py +67 -0
  142. arctrl/py/Json/Table/iotype.py +24 -0
  143. arctrl/py/Json/Table/oatable.py +82 -0
  144. arctrl/py/Json/Table/templates.py +281 -0
  145. arctrl/py/Json/__init__.py +0 -0
  146. arctrl/py/Json/assay.py +600 -0
  147. arctrl/py/Json/comment.py +206 -0
  148. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  149. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  150. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  151. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  152. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  153. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  154. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  155. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  156. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  157. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  158. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  159. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  160. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  161. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  162. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  163. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  164. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  165. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  166. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  167. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  168. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  169. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  170. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  171. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  172. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  173. arctrl/py/Json/converter_options.py +23 -0
  174. arctrl/py/Json/data.py +356 -0
  175. arctrl/py/Json/data_file.py +63 -0
  176. arctrl/py/Json/decode.py +271 -0
  177. arctrl/py/Json/encode.py +140 -0
  178. arctrl/py/Json/idtable.py +44 -0
  179. arctrl/py/Json/investigation.py +695 -0
  180. arctrl/py/Json/ontology_annotation.py +404 -0
  181. arctrl/py/Json/ontology_source_reference.py +255 -0
  182. arctrl/py/Json/person.py +658 -0
  183. arctrl/py/Json/property_value.py +359 -0
  184. arctrl/py/Json/publication.py +279 -0
  185. arctrl/py/Json/run.py +275 -0
  186. arctrl/py/Json/string_table.py +87 -0
  187. arctrl/py/Json/study.py +793 -0
  188. arctrl/py/Json/workflow.py +307 -0
  189. arctrl/py/JsonIO/Process/__init__.py +0 -0
  190. arctrl/py/JsonIO/Process/component.py +60 -0
  191. arctrl/py/JsonIO/Process/factor.py +36 -0
  192. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  193. arctrl/py/JsonIO/Process/material.py +60 -0
  194. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  195. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  196. arctrl/py/JsonIO/Process/material_type.py +36 -0
  197. arctrl/py/JsonIO/Process/process.py +60 -0
  198. arctrl/py/JsonIO/Process/process_input.py +38 -0
  199. arctrl/py/JsonIO/Process/process_output.py +60 -0
  200. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  201. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  202. arctrl/py/JsonIO/Process/protocol.py +60 -0
  203. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  204. arctrl/py/JsonIO/Process/sample.py +60 -0
  205. arctrl/py/JsonIO/Process/source.py +60 -0
  206. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  207. arctrl/py/JsonIO/Process/value.py +32 -0
  208. arctrl/py/JsonIO/Table/__init__.py +0 -0
  209. arctrl/py/JsonIO/Table/arc_table.py +103 -0
  210. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  211. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  212. arctrl/py/JsonIO/Table/compression.py +67 -0
  213. arctrl/py/JsonIO/Table/iotype.py +36 -0
  214. arctrl/py/JsonIO/Table/templates.py +113 -0
  215. arctrl/py/JsonIO/__init__.py +0 -0
  216. arctrl/py/JsonIO/assay.py +113 -0
  217. arctrl/py/JsonIO/comment.py +80 -0
  218. arctrl/py/JsonIO/data.py +60 -0
  219. arctrl/py/JsonIO/data_file.py +58 -0
  220. arctrl/py/JsonIO/datamap.py +36 -0
  221. arctrl/py/JsonIO/decode.py +9 -0
  222. arctrl/py/JsonIO/encode.py +1 -0
  223. arctrl/py/JsonIO/investigation.py +91 -0
  224. arctrl/py/JsonIO/ldobject.py +106 -0
  225. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  226. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  227. arctrl/py/JsonIO/person.py +82 -0
  228. arctrl/py/JsonIO/publication.py +82 -0
  229. arctrl/py/JsonIO/run.py +68 -0
  230. arctrl/py/JsonIO/study.py +114 -0
  231. arctrl/py/JsonIO/workflow.py +68 -0
  232. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  233. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  234. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  235. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  236. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  237. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  238. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  239. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  240. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  241. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  242. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  243. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  244. arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
  245. arctrl/py/ROCrate/LDTypes/comment.py +131 -0
  246. arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
  247. arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
  248. arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
  249. arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
  250. arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
  251. arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
  252. arctrl/py/ROCrate/LDTypes/file.py +281 -0
  253. arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
  254. arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
  255. arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
  256. arctrl/py/ROCrate/LDTypes/organization.py +83 -0
  257. arctrl/py/ROCrate/LDTypes/person.py +484 -0
  258. arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
  259. arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
  260. arctrl/py/ROCrate/LDTypes/sample.py +202 -0
  261. arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
  262. arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
  263. arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
  264. arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
  265. arctrl/py/ROCrate/__init__.py +0 -0
  266. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  267. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  268. arctrl/py/ROCrate/helper.py +8 -0
  269. arctrl/py/ROCrate/ldcontext.py +406 -0
  270. arctrl/py/ROCrate/ldobject.py +1247 -0
  271. arctrl/py/ROCrate/rocrate_context.py +51 -0
  272. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  273. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
  274. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  275. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
  276. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  277. arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
  278. arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
  279. arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
  280. arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
  281. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  282. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  283. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  284. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  285. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  286. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  287. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  288. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  289. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  290. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  291. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  292. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  293. arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
  294. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  295. arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
  296. arctrl/py/Spreadsheet/__init__.py +0 -0
  297. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  298. arctrl/py/Spreadsheet/arc_investigation.py +435 -0
  299. arctrl/py/Spreadsheet/arc_run.py +190 -0
  300. arctrl/py/Spreadsheet/arc_study.py +144 -0
  301. arctrl/py/Spreadsheet/arc_workflow.py +177 -0
  302. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  303. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  304. arctrl/py/Spreadsheet/datamap.py +43 -0
  305. arctrl/py/Spreadsheet/template.py +460 -0
  306. arctrl/py/ValidationPackages/__init__.py +0 -0
  307. arctrl/py/ValidationPackages/validation_package.py +82 -0
  308. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  309. arctrl/py/WebRequest/__init__.py +0 -0
  310. arctrl/py/WebRequest/web_request.py +9 -0
  311. arctrl/py/WebRequest/web_request_py.py +135 -0
  312. arctrl/py/WorkflowGraph/__init__.py +0 -0
  313. arctrl/py/WorkflowGraph/adapters.py +141 -0
  314. arctrl/py/WorkflowGraph/build_options.py +45 -0
  315. arctrl/py/WorkflowGraph/builder.py +720 -0
  316. arctrl/py/WorkflowGraph/graph_types.py +260 -0
  317. arctrl/py/WorkflowGraph/query_helpers.py +76 -0
  318. arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
  319. arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
  320. arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
  321. arctrl/py/Yaml/__init__.py +0 -0
  322. arctrl/py/Yaml/decode.py +1 -0
  323. arctrl/py/Yaml/encode.py +10 -0
  324. arctrl/py/Yaml/validation_package.py +77 -0
  325. arctrl/py/Yaml/validation_packages_config.py +86 -0
  326. arctrl/py/__init__.py +0 -0
  327. arctrl/py/arc.py +1891 -0
  328. arctrl/py/column_index.py +280 -0
  329. arctrl/py/conversion.py +142 -0
  330. arctrl/py/cross_async.py +76 -0
  331. arctrl/py/cwlrun_resolver.py +228 -0
  332. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  333. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  334. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  335. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  336. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  337. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  338. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  339. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  340. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  341. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  342. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  343. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  344. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  345. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  346. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  347. arctrl/py/fable_modules/fable_library/char.py +237 -0
  348. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  349. arctrl/py/fable_modules/fable_library/date.py +779 -0
  350. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  351. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  352. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  353. arctrl/py/fable_modules/fable_library/double.py +87 -0
  354. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  355. arctrl/py/fable_modules/fable_library/event.py +206 -0
  356. arctrl/py/fable_modules/fable_library/file.py +107 -0
  357. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  358. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  359. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  360. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  361. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  362. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  363. arctrl/py/fable_modules/fable_library/long.py +240 -0
  364. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  365. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  366. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  367. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  368. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  369. arctrl/py/fable_modules/fable_library/native.py +45 -0
  370. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  371. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  372. arctrl/py/fable_modules/fable_library/option.py +128 -0
  373. arctrl/py/fable_modules/fable_library/path.py +62 -0
  374. arctrl/py/fable_modules/fable_library/range.py +117 -0
  375. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  376. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  377. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  378. arctrl/py/fable_modules/fable_library/result.py +212 -0
  379. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  380. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  381. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  382. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  383. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  384. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  385. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  386. arctrl/py/fable_modules/fable_library/task.py +116 -0
  387. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  388. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  389. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  390. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  391. arctrl/py/fable_modules/fable_library/types.py +401 -0
  392. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  393. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  394. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  395. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  396. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  397. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  398. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  399. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  400. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  401. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  402. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  403. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  404. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  405. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  406. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  407. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  408. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  409. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  410. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  411. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  412. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  413. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  414. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  415. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  416. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  417. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  418. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  419. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  420. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  421. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
  422. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
  423. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  424. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  425. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  426. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  427. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  428. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  429. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  430. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  431. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  432. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
  433. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  434. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  435. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  436. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  437. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  438. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  439. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
  440. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  441. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  442. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
  443. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  444. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
  445. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
  446. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
  447. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
  448. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  449. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  450. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
  451. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
  452. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  453. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  454. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
  455. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  456. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  457. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
  458. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
  459. arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
  460. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
  461. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  462. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
  463. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  464. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  465. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  466. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
  467. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
  468. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
  469. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  470. arctrl/py/fable_modules/siren/__init__.py +0 -0
  471. arctrl/py/fable_modules/siren/config.py +1038 -0
  472. arctrl/py/fable_modules/siren/formatting.py +1121 -0
  473. arctrl/py/fable_modules/siren/siren.py +1941 -0
  474. arctrl/py/fable_modules/siren/siren_types.py +1229 -0
  475. arctrl/py/fable_modules/siren/theme_variables.py +517 -0
  476. arctrl/py/fable_modules/siren/util.py +37 -0
  477. arctrl/py/fable_modules/siren/yaml.py +101 -0
  478. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  479. arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
  480. arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
  481. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  482. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  483. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  484. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  485. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  486. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  487. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  488. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  489. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  490. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  491. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  492. arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
  493. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  494. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  495. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  496. arctrl/py/fable_modules/yamlicious/reader.py +739 -0
  497. arctrl/py/fable_modules/yamlicious/regex.py +29 -0
  498. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
  499. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  500. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  501. arctrl/py/json.py +389 -0
  502. arctrl/py/license.py +169 -0
  503. arctrl/py/rocrate_io.py +242 -0
  504. arctrl/py/template_web.py +23 -0
  505. arctrl/py/xlsx.py +212 -0
  506. arctrl/py/yaml.py +79 -0
  507. arctrl/rocrate.py +21 -0
  508. arctrl-3.0.0.dist-info/METADATA +157 -0
  509. arctrl-3.0.0.dist-info/RECORD +511 -0
  510. arctrl-3.0.0.dist-info/WHEEL +4 -0
  511. arctrl-3.0.0.dist-info/licenses/LICENSE +21 -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 _expr4000() -> 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 = _expr4000
24
+
25
+ def _expr4005() -> 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 = _expr4005
39
+
40
+ def _expr4006() -> 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 = _expr4006
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 _expr4027() -> 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 = _expr4027
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,396 @@
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.datamap import Datamap
8
+ from ..Core.Helper.identifier import (Assay_datamapFileNameFromIdentifier, Study_datamapFileNameFromIdentifier, Workflow_datamapFileNameFromIdentifier, Run_datamapFileNameFromIdentifier)
9
+ from ..FileSystem.path import combine_many
10
+ from ..Spreadsheet.datamap 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 _arrow4123(x: str, y: str, input: Any=input) -> bool:
16
+ return x == y
17
+
18
+ if (len(input) == 3) if (not equals_with(_arrow4123, 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 = 4
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 = 4
33
+
34
+
35
+ elif input[0] == "workflows":
36
+ if input[2] == "isa.datamap.xlsx":
37
+ pattern_matching_result = 2
38
+
39
+ else:
40
+ pattern_matching_result = 4
41
+
42
+
43
+ elif input[0] == "runs":
44
+ if input[2] == "isa.datamap.xlsx":
45
+ pattern_matching_result = 3
46
+
47
+ else:
48
+ pattern_matching_result = 4
49
+
50
+
51
+ else:
52
+ pattern_matching_result = 4
53
+
54
+
55
+ else:
56
+ pattern_matching_result = 4
57
+
58
+ if pattern_matching_result == 0:
59
+ any_assay_name: str = input[1]
60
+ return combine_many(input)
61
+
62
+ elif pattern_matching_result == 1:
63
+ any_study_name: str = input[1]
64
+ return combine_many(input)
65
+
66
+ elif pattern_matching_result == 2:
67
+ any_workflow_name: str = input[1]
68
+ return combine_many(input)
69
+
70
+ elif pattern_matching_result == 3:
71
+ any_run_name: str = input[1]
72
+ return combine_many(input)
73
+
74
+ elif pattern_matching_result == 4:
75
+ return None
76
+
77
+
78
+
79
+ def ARCtrl_Datamap__Datamap_ToCreateContractForAssay_Z721C83C5(this: Datamap, assay_identifier: str) -> Contract:
80
+ path: str = Assay_datamapFileNameFromIdentifier(assay_identifier)
81
+ return Contract.create_create(path, DTOType(5), DTO(0, to_fs_workbook(this)))
82
+
83
+
84
+ def ARCtrl_Datamap__Datamap_ToUpdateContractForAssay_Z721C83C5(this: Datamap, assay_identifier: str) -> Contract:
85
+ path: str = Assay_datamapFileNameFromIdentifier(assay_identifier)
86
+ return Contract.create_update(path, DTOType(5), DTO(0, to_fs_workbook(this)))
87
+
88
+
89
+ def ARCtrl_Datamap__Datamap_ToDeleteContractForAssay_Z721C83C5(this: Datamap, assay_identifier: str) -> Contract:
90
+ path: str = Assay_datamapFileNameFromIdentifier(assay_identifier)
91
+ return Contract.create_delete(path)
92
+
93
+
94
+ def ARCtrl_Datamap__Datamap_toDeleteContractForAssay_Static_Z721C83C5(assay_identifier: str) -> Callable[[Datamap], Contract]:
95
+ def _arrow4124(datamap: Datamap, assay_identifier: Any=assay_identifier) -> Contract:
96
+ return ARCtrl_Datamap__Datamap_ToDeleteContractForAssay_Z721C83C5(datamap, assay_identifier)
97
+
98
+ return _arrow4124
99
+
100
+
101
+ def ARCtrl_Datamap__Datamap_toUpdateContractForAssay_Static_Z721C83C5(assay_identifier: str) -> Callable[[Datamap], Contract]:
102
+ def _arrow4125(datamap: Datamap, assay_identifier: Any=assay_identifier) -> Contract:
103
+ return ARCtrl_Datamap__Datamap_ToUpdateContractForAssay_Z721C83C5(datamap, assay_identifier)
104
+
105
+ return _arrow4125
106
+
107
+
108
+ def ARCtrl_Datamap__Datamap_tryFromReadContractForAssay_Static(assay_identifier: str, c: Contract) -> Datamap | None:
109
+ path: str = Assay_datamapFileNameFromIdentifier(assay_identifier)
110
+ (pattern_matching_result, fsworkbook_1, p_1) = (None, None, None)
111
+ if c.Operation == "READ":
112
+ if c.DTOType is not None:
113
+ if c.DTOType.tag == 5:
114
+ if c.DTO is not None:
115
+ if c.DTO.tag == 0:
116
+ def _arrow4126(__unit: None=None, assay_identifier: Any=assay_identifier, c: Any=c) -> bool:
117
+ fsworkbook: Any = c.DTO.fields[0]
118
+ return c.Path == path
119
+
120
+ if _arrow4126():
121
+ pattern_matching_result = 0
122
+ fsworkbook_1 = c.DTO.fields[0]
123
+ p_1 = c.Path
124
+
125
+ else:
126
+ pattern_matching_result = 1
127
+
128
+
129
+ else:
130
+ pattern_matching_result = 1
131
+
132
+
133
+ else:
134
+ pattern_matching_result = 1
135
+
136
+
137
+ else:
138
+ pattern_matching_result = 1
139
+
140
+
141
+ else:
142
+ pattern_matching_result = 1
143
+
144
+
145
+ else:
146
+ pattern_matching_result = 1
147
+
148
+ if pattern_matching_result == 0:
149
+ dm: Datamap = from_fs_workbook(fsworkbook_1)
150
+ dm.StaticHash = safe_hash(dm) or 0
151
+ return dm
152
+
153
+ elif pattern_matching_result == 1:
154
+ return None
155
+
156
+
157
+
158
+ def ARCtrl_Datamap__Datamap_ToCreateContractForStudy_Z721C83C5(this: Datamap, study_identifier: str) -> Contract:
159
+ path: str = Study_datamapFileNameFromIdentifier(study_identifier)
160
+ return Contract.create_create(path, DTOType(5), DTO(0, to_fs_workbook(this)))
161
+
162
+
163
+ def ARCtrl_Datamap__Datamap_ToUpdateContractForStudy_Z721C83C5(this: Datamap, study_identifier: str) -> Contract:
164
+ path: str = Study_datamapFileNameFromIdentifier(study_identifier)
165
+ return Contract.create_update(path, DTOType(5), DTO(0, to_fs_workbook(this)))
166
+
167
+
168
+ def ARCtrl_Datamap__Datamap_ToDeleteContractForStudy_Z721C83C5(this: Datamap, study_identifier: str) -> Contract:
169
+ path: str = Study_datamapFileNameFromIdentifier(study_identifier)
170
+ return Contract.create_delete(path)
171
+
172
+
173
+ def ARCtrl_Datamap__Datamap_toDeleteContractForStudy_Static_Z721C83C5(study_identifier: str) -> Callable[[Datamap], Contract]:
174
+ def _arrow4130(datamap: Datamap, study_identifier: Any=study_identifier) -> Contract:
175
+ return ARCtrl_Datamap__Datamap_ToDeleteContractForStudy_Z721C83C5(datamap, study_identifier)
176
+
177
+ return _arrow4130
178
+
179
+
180
+ def ARCtrl_Datamap__Datamap_toUpdateContractForStudy_Static_Z721C83C5(study_identifier: str) -> Callable[[Datamap], Contract]:
181
+ def _arrow4131(datamap: Datamap, study_identifier: Any=study_identifier) -> Contract:
182
+ return ARCtrl_Datamap__Datamap_ToUpdateContractForStudy_Z721C83C5(datamap, study_identifier)
183
+
184
+ return _arrow4131
185
+
186
+
187
+ def ARCtrl_Datamap__Datamap_tryFromReadContractForStudy_Static(study_identifier: str, c: Contract) -> Datamap | None:
188
+ path: str = Study_datamapFileNameFromIdentifier(study_identifier)
189
+ (pattern_matching_result, fsworkbook_1, p_1) = (None, None, None)
190
+ if c.Operation == "READ":
191
+ if c.DTOType is not None:
192
+ if c.DTOType.tag == 5:
193
+ if c.DTO is not None:
194
+ if c.DTO.tag == 0:
195
+ def _arrow4132(__unit: None=None, study_identifier: Any=study_identifier, c: Any=c) -> bool:
196
+ fsworkbook: Any = c.DTO.fields[0]
197
+ return c.Path == path
198
+
199
+ if _arrow4132():
200
+ pattern_matching_result = 0
201
+ fsworkbook_1 = c.DTO.fields[0]
202
+ p_1 = c.Path
203
+
204
+ else:
205
+ pattern_matching_result = 1
206
+
207
+
208
+ else:
209
+ pattern_matching_result = 1
210
+
211
+
212
+ else:
213
+ pattern_matching_result = 1
214
+
215
+
216
+ else:
217
+ pattern_matching_result = 1
218
+
219
+
220
+ else:
221
+ pattern_matching_result = 1
222
+
223
+
224
+ else:
225
+ pattern_matching_result = 1
226
+
227
+ if pattern_matching_result == 0:
228
+ dm: Datamap = from_fs_workbook(fsworkbook_1)
229
+ dm.StaticHash = safe_hash(dm) or 0
230
+ return dm
231
+
232
+ elif pattern_matching_result == 1:
233
+ return None
234
+
235
+
236
+
237
+ def ARCtrl_Datamap__Datamap_ToCreateContractForWorkflow_Z721C83C5(this: Datamap, workflow_identifier: str) -> Contract:
238
+ path: str = Workflow_datamapFileNameFromIdentifier(workflow_identifier)
239
+ return Contract.create_create(path, DTOType(5), DTO(0, to_fs_workbook(this)))
240
+
241
+
242
+ def ARCtrl_Datamap__Datamap_ToUpdateContractForWorkflow_Z721C83C5(this: Datamap, workflow_identifier: str) -> Contract:
243
+ path: str = Workflow_datamapFileNameFromIdentifier(workflow_identifier)
244
+ return Contract.create_update(path, DTOType(5), DTO(0, to_fs_workbook(this)))
245
+
246
+
247
+ def ARCtrl_Datamap__Datamap_ToDeleteContractForWorkflow_Z721C83C5(this: Datamap, workflow_identifier: str) -> Contract:
248
+ path: str = Workflow_datamapFileNameFromIdentifier(workflow_identifier)
249
+ return Contract.create_delete(path)
250
+
251
+
252
+ def ARCtrl_Datamap__Datamap_toDeleteContractForWorkflow_Static_Z721C83C5(workflow_identifier: str) -> Callable[[Datamap], Contract]:
253
+ def _arrow4133(datamap: Datamap, workflow_identifier: Any=workflow_identifier) -> Contract:
254
+ return ARCtrl_Datamap__Datamap_ToDeleteContractForWorkflow_Z721C83C5(datamap, workflow_identifier)
255
+
256
+ return _arrow4133
257
+
258
+
259
+ def ARCtrl_Datamap__Datamap_toUpdateContractForWorkflow_Static_Z721C83C5(workflow_identifier: str) -> Callable[[Datamap], Contract]:
260
+ def _arrow4134(datamap: Datamap, workflow_identifier: Any=workflow_identifier) -> Contract:
261
+ return ARCtrl_Datamap__Datamap_ToUpdateContractForWorkflow_Z721C83C5(datamap, workflow_identifier)
262
+
263
+ return _arrow4134
264
+
265
+
266
+ def ARCtrl_Datamap__Datamap_tryFromReadContractForWorkflow_Static(workflow_identifier: str, c: Contract) -> Datamap | None:
267
+ path: str = Workflow_datamapFileNameFromIdentifier(workflow_identifier)
268
+ (pattern_matching_result, fsworkbook_1, p_1) = (None, None, None)
269
+ if c.Operation == "READ":
270
+ if c.DTOType is not None:
271
+ if c.DTOType.tag == 5:
272
+ if c.DTO is not None:
273
+ if c.DTO.tag == 0:
274
+ def _arrow4135(__unit: None=None, workflow_identifier: Any=workflow_identifier, c: Any=c) -> bool:
275
+ fsworkbook: Any = c.DTO.fields[0]
276
+ return c.Path == path
277
+
278
+ if _arrow4135():
279
+ pattern_matching_result = 0
280
+ fsworkbook_1 = c.DTO.fields[0]
281
+ p_1 = c.Path
282
+
283
+ else:
284
+ pattern_matching_result = 1
285
+
286
+
287
+ else:
288
+ pattern_matching_result = 1
289
+
290
+
291
+ else:
292
+ pattern_matching_result = 1
293
+
294
+
295
+ else:
296
+ pattern_matching_result = 1
297
+
298
+
299
+ else:
300
+ pattern_matching_result = 1
301
+
302
+
303
+ else:
304
+ pattern_matching_result = 1
305
+
306
+ if pattern_matching_result == 0:
307
+ dm: Datamap = from_fs_workbook(fsworkbook_1)
308
+ dm.StaticHash = safe_hash(dm) or 0
309
+ return dm
310
+
311
+ elif pattern_matching_result == 1:
312
+ return None
313
+
314
+
315
+
316
+ def ARCtrl_Datamap__Datamap_ToCreateContractForRun_Z721C83C5(this: Datamap, run_identifier: str) -> Contract:
317
+ path: str = Run_datamapFileNameFromIdentifier(run_identifier)
318
+ return Contract.create_create(path, DTOType(5), DTO(0, to_fs_workbook(this)))
319
+
320
+
321
+ def ARCtrl_Datamap__Datamap_ToUpdateContractForRun_Z721C83C5(this: Datamap, run_identifier: str) -> Contract:
322
+ path: str = Run_datamapFileNameFromIdentifier(run_identifier)
323
+ return Contract.create_update(path, DTOType(5), DTO(0, to_fs_workbook(this)))
324
+
325
+
326
+ def ARCtrl_Datamap__Datamap_ToDeleteContractForRun_Z721C83C5(this: Datamap, run_identifier: str) -> Contract:
327
+ path: str = Run_datamapFileNameFromIdentifier(run_identifier)
328
+ return Contract.create_delete(path)
329
+
330
+
331
+ def ARCtrl_Datamap__Datamap_toDeleteContractForRun_Static_Z721C83C5(run_identifier: str) -> Callable[[Datamap], Contract]:
332
+ def _arrow4136(datamap: Datamap, run_identifier: Any=run_identifier) -> Contract:
333
+ return ARCtrl_Datamap__Datamap_ToDeleteContractForRun_Z721C83C5(datamap, run_identifier)
334
+
335
+ return _arrow4136
336
+
337
+
338
+ def ARCtrl_Datamap__Datamap_toUpdateContractForRun_Static_Z721C83C5(run_identifier: str) -> Callable[[Datamap], Contract]:
339
+ def _arrow4137(datamap: Datamap, run_identifier: Any=run_identifier) -> Contract:
340
+ return ARCtrl_Datamap__Datamap_ToUpdateContractForRun_Z721C83C5(datamap, run_identifier)
341
+
342
+ return _arrow4137
343
+
344
+
345
+ def ARCtrl_Datamap__Datamap_tryFromReadContractForRun_Static(run_identifier: str, c: Contract) -> Datamap | None:
346
+ path: str = Run_datamapFileNameFromIdentifier(run_identifier)
347
+ (pattern_matching_result, fsworkbook_1, p_1) = (None, None, None)
348
+ if c.Operation == "READ":
349
+ if c.DTOType is not None:
350
+ if c.DTOType.tag == 5:
351
+ if c.DTO is not None:
352
+ if c.DTO.tag == 0:
353
+ def _arrow4138(__unit: None=None, run_identifier: Any=run_identifier, c: Any=c) -> bool:
354
+ fsworkbook: Any = c.DTO.fields[0]
355
+ return c.Path == path
356
+
357
+ if _arrow4138():
358
+ pattern_matching_result = 0
359
+ fsworkbook_1 = c.DTO.fields[0]
360
+ p_1 = c.Path
361
+
362
+ else:
363
+ pattern_matching_result = 1
364
+
365
+
366
+ else:
367
+ pattern_matching_result = 1
368
+
369
+
370
+ else:
371
+ pattern_matching_result = 1
372
+
373
+
374
+ else:
375
+ pattern_matching_result = 1
376
+
377
+
378
+ else:
379
+ pattern_matching_result = 1
380
+
381
+
382
+ else:
383
+ pattern_matching_result = 1
384
+
385
+ if pattern_matching_result == 0:
386
+ dm: Datamap = from_fs_workbook(fsworkbook_1)
387
+ dm.StaticHash = safe_hash(dm) or 0
388
+ return dm
389
+
390
+ elif pattern_matching_result == 1:
391
+ return None
392
+
393
+
394
+
395
+ __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"]
396
+
@@ -0,0 +1,116 @@
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 .contract import (CLITool, Contract, DTOType, DTO)
10
+
11
+ def git_with_args(arguments: Array[str]) -> CLITool:
12
+ return CLITool.create("git", arguments)
13
+
14
+
15
+ def create_git_contract_at(path: str, arguments: Array[str]) -> Contract:
16
+ return Contract.create_execute(git_with_args(arguments), path)
17
+
18
+
19
+ def create_git_contract(arguments: Array[str]) -> Contract:
20
+ return Contract.create_execute(git_with_args(arguments))
21
+
22
+
23
+ gitignore_contract: Contract = Contract.create_create(".gitignore", DTOType(10), DTO(1, "# ----- macos rules -----\r\n# taken from https://github.com/github/gitignore/blob/main/Global/macOS.gitignore\r\n# General\r\n.DS_Store\r\n.AppleDouble\r\n.LSOverride\r\n# Icon must end with two \\r\r\nIcon\r\n# Thumbnails\r\n._*\r\n# Files that might appear in the root of a volume\r\n.DocumentRevisions-V100\r\n.fseventsd\r\n.Spotlight-V100\r\n.TemporaryItems\r\n.Trashes\r\n.VolumeIcon.icns\r\n.com.apple.timemachine.donotpresent\r\n# Directories potentially created on remote AFP share\r\n.AppleDB\r\n.AppleDesktop\r\nNetwork Trash Folder\r\nTemporary Items\r\n.apdisk\r\n# ----- windows rules -----\r\n# taken from https://github.com/github/gitignore/blob/main/Global/Windows.gitignore\r\n# Windows thumbnail cache files\r\nThumbs.db\r\nThumbs.db:encryptable\r\nehthumbs.db\r\nehthumbs_vista.db\r\n# Dump file\r\n*.stackdump\r\n# Folder config file\r\n[Dd]esktop.ini\r\n# Recycle Bin used on file shares\r\n$RECYCLE.BIN/\r\n# Windows Installer files\r\n*.cab\r\n*.msi\r\n*.msix\r\n*.msm\r\n*.msp\r\n# Windows shortcuts\r\n*.lnk\r\n# ----- linux rules -----\r\n# taken from https://github.com/github/gitignore/blob/main/Global/Linux.gitignore\r\n*~\r\n# temporary files which can be created if a process still has a handle open of a deleted file\r\n.fuse_hidden*\r\n# KDE directory preferences\r\n.directory\r\n# Linux trash folder which might appear on any partition or disk\r\n.Trash-*\r\n# .nfs files are created when an open file is removed but is still being accessed\r\n.nfs*\r\n"))
24
+
25
+ gitattributes_contract: Contract = Contract.create_create(".gitattributes", DTOType(10), DTO(1, "**/dataset/** filter=lfs diff=lfs merge=lfs -text"))
26
+
27
+ def _expr4170() -> TypeInfo:
28
+ return class_type("ARCtrl.Contract.Git.Init", None, Init)
29
+
30
+
31
+ class Init:
32
+ ...
33
+
34
+ Init_reflection = _expr4170
35
+
36
+ def _expr4171() -> TypeInfo:
37
+ return class_type("ARCtrl.Contract.Git.Clone", None, Clone)
38
+
39
+
40
+ class Clone:
41
+ ...
42
+
43
+ Clone_reflection = _expr4171
44
+
45
+ def Init_get_init(__unit: None=None) -> str:
46
+ return "init"
47
+
48
+
49
+ def Init_get_branchFlag(__unit: None=None) -> str:
50
+ return "-b"
51
+
52
+
53
+ def Init_get_remote(__unit: None=None) -> str:
54
+ return "remote"
55
+
56
+
57
+ def Init_get_add(__unit: None=None) -> str:
58
+ return "add"
59
+
60
+
61
+ def Init_get_origin(__unit: None=None) -> str:
62
+ return "origin"
63
+
64
+
65
+ def Init_createInitContract_6DFDD678(branch: str | None=None) -> Contract:
66
+ branch_1: str = default_arg(branch, "main")
67
+ return create_git_contract([Init_get_init(), Init_get_branchFlag(), branch_1])
68
+
69
+
70
+ def Init_createAddRemoteContract_Z721C83C5(remote_url: str) -> Contract:
71
+ return create_git_contract([Init_get_remote(), Init_get_add(), Init_get_origin(), remote_url])
72
+
73
+
74
+ def Clone_get_clone(__unit: None=None) -> str:
75
+ return "clone"
76
+
77
+
78
+ def Clone_get_branchFlag(__unit: None=None) -> str:
79
+ return "-b"
80
+
81
+
82
+ def Clone_get_noLFSConfig(__unit: None=None) -> str:
83
+ return "-c \"filter.lfs.smudge = git-lfs smudge --skip -- %f\" -c \"filter.lfs.process = git-lfs filter-process --skip\""
84
+
85
+
86
+ def Clone_formatRepoString(username: str, pass_: str, url: str) -> str:
87
+ return replace(url, "https://", "https://" + (((username + ":") + pass_) + "@"))
88
+
89
+
90
+ 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:
91
+ nolfs_1: bool = default_arg(nolfs, False)
92
+ merge_1: bool = default_arg(merge, False)
93
+ remote_url_1: str = remote_url if (token is None) else Clone_formatRepoString(token[0], token[1], remote_url)
94
+ def _arrow4177(__unit: None=None, remote_url: Any=remote_url, merge: Any=merge, branch: Any=branch, token: Any=token, nolfs: Any=nolfs) -> IEnumerable_1[str]:
95
+ def _arrow4176(__unit: None=None) -> IEnumerable_1[str]:
96
+ def _arrow4175(__unit: None=None) -> IEnumerable_1[str]:
97
+ def _arrow4174(__unit: None=None) -> IEnumerable_1[str]:
98
+ def _arrow4173(__unit: None=None) -> IEnumerable_1[str]:
99
+ def _arrow4172(__unit: None=None) -> IEnumerable_1[str]:
100
+ return singleton(".") if merge_1 else empty()
101
+
102
+ return append(singleton(remote_url_1), delay(_arrow4172))
103
+
104
+ return append(singleton(value(branch)) if (branch is not None) else empty(), delay(_arrow4173))
105
+
106
+ return append(singleton(Clone_get_branchFlag()) if (branch is not None) else empty(), delay(_arrow4174))
107
+
108
+ return append(singleton(Clone_get_noLFSConfig()) if nolfs_1 else empty(), delay(_arrow4175))
109
+
110
+ return append(singleton(Clone_get_clone()), delay(_arrow4176))
111
+
112
+ return create_git_contract(to_array(delay(_arrow4177)))
113
+
114
+
115
+ __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"]
116
+