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,242 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from .Core.arc_types import (ArcInvestigation, ArcRun, ArcWorkflow)
4
+ from .Core.Helper.collections_ import ResizeArray_choose
5
+ from .FileSystem.file_system import FileSystem
6
+ from .Json.ROCrate.ldgraph import (encoder, decoder)
7
+ from .Json.ROCrate.ldnode import decoder as decoder_1
8
+ from .ROCrate.ldcontext import LDContext
9
+ from .ROCrate.ldobject import (LDNode, LDRef, LDGraph, DynamicObj_DynamicObj__DynamicObj_HasProperty_Z721C83C5)
10
+ from .ROCrate.LDTypes.computational_workflow import LDComputationalWorkflow
11
+ from .ROCrate.LDTypes.create_action import LDCreateAction
12
+ from .ROCrate.LDTypes.creative_work import LDCreativeWork
13
+ from .ROCrate.LDTypes.dataset import LDDataset
14
+ from .ROCrate.LDTypes.file import LDFile
15
+ from .ROCrate.rocrate_context import (init_v1_2, init_bioschemas_context, init_v1_1)
16
+ from .conversion import (ARCtrl_ArcInvestigation__ArcInvestigation_ToROCrateInvestigation_Z7960E96B, ARCtrl_ArcInvestigation__ArcInvestigation_fromROCrateInvestigation_Static_Z6839B9E8, ARCtrl_ArcRun__ArcRun_ToROCrateRun_1695DD5C, ARCtrl_ArcWorkflow__ArcWorkflow_ToROCrateWorkflow_1695DD5C)
17
+ from .JsonIO.ldobject import ARCtrl_ROCrate_LDGraph__LDGraph_toROCrateJsonString_Static_71136F3F
18
+ from .license import License
19
+ from .fable_modules.fable_library.date import now
20
+ from .fable_modules.fable_library.list import (of_array, filter, FSharpList, is_empty, map as map_1)
21
+ from .fable_modules.fable_library.option import (bind, default_arg, value as value_2)
22
+ from .fable_modules.fable_library.reflection import (TypeInfo, class_type)
23
+ from .fable_modules.fable_library.seq import (iterate, try_head, exactly_one)
24
+ from .fable_modules.fable_library.string_ import (join, replace, to_fail, printf)
25
+ from .fable_modules.fable_library.types import Array
26
+ from .fable_modules.thoth_json_core.decode import map
27
+ from .fable_modules.thoth_json_core.types import (IEncodable, Decoder_1)
28
+
29
+ def _expr4425() -> TypeInfo:
30
+ return class_type("ARCtrl.Json.ARC.ROCrate", None, ROCrate)
31
+
32
+
33
+ class ROCrate:
34
+ ...
35
+
36
+ ROCrate_reflection = _expr4425
37
+
38
+ def ROCrate_get_metadataFileDescriptor(__unit: None=None) -> LDNode:
39
+ node: LDNode = LDNode("ro-crate-metadata.json", ["http://schema.org/CreativeWork"])
40
+ node.SetProperty("http://purl.org/dc/terms/conformsTo", LDRef("https://w3id.org/ro/crate/1.2"))
41
+ node.SetProperty("http://schema.org/about", LDRef("./"))
42
+ return node
43
+
44
+
45
+ def ROCrate_get_metadataFileDescriptorWfRun(__unit: None=None) -> LDNode:
46
+ node: LDNode = LDNode("ro-crate-metadata.json", ["http://schema.org/CreativeWork"])
47
+ node.SetProperty("http://purl.org/dc/terms/conformsTo", of_array([LDRef("https://w3id.org/ro/crate/1.1"), LDRef("https://w3id.org/workflowhub/workflow-ro-crate/1.0")]))
48
+ node.SetProperty("http://schema.org/about", LDRef("./"))
49
+ return node
50
+
51
+
52
+ def ROCrate_createLicenseNode_29619109(license: License | None=None) -> LDNode:
53
+ if license is None:
54
+ return LDCreativeWork.create("#LICENSE", None, None, None, None, None, None, None, None, "ALL RIGHTS RESERVED BY THE AUTHORS")
55
+
56
+ else:
57
+ license_1: License = license
58
+ text: str
59
+ match_value: str = license_1.Type
60
+ text = license_1.Content
61
+ return LDCreativeWork.create(license_1.Path, None, None, None, None, None, None, None, None, text)
62
+
63
+
64
+
65
+ def ROCrate_getLicense_Z2F770004(license: LDNode, context: LDContext | None=None) -> License | None:
66
+ text: str | None = LDCreativeWork.try_get_text_as_string(license, context)
67
+ match_value: str = license.Id
68
+ (pattern_matching_result, text_1, path, text_2, path_1) = (None, None, None, None, None)
69
+ if match_value == "#LICENSE":
70
+ if text is not None:
71
+ if text == "ALL RIGHTS RESERVED BY THE AUTHORS":
72
+ pattern_matching_result = 0
73
+
74
+ else:
75
+ pattern_matching_result = 1
76
+ text_1 = text
77
+
78
+
79
+ else:
80
+ pattern_matching_result = 0
81
+
82
+
83
+ elif text is None:
84
+ pattern_matching_result = 3
85
+ path_1 = match_value
86
+
87
+ else:
88
+ pattern_matching_result = 2
89
+ path = match_value
90
+ text_2 = text
91
+
92
+ if pattern_matching_result == 0:
93
+ return None
94
+
95
+ elif pattern_matching_result == 1:
96
+ return License("fulltext", text_1)
97
+
98
+ elif pattern_matching_result == 2:
99
+ return License("fulltext", text_2, path)
100
+
101
+ elif pattern_matching_result == 3:
102
+ return License("fulltext", "", path_1)
103
+
104
+
105
+
106
+ def ROCrate_encoder_Z7FE34C43(isa: ArcInvestigation, license: License | None=None, fs: FileSystem | None=None, ignore_broken_wr: bool | None=None) -> IEncodable:
107
+ license_1: LDNode = ROCrate_createLicenseNode_29619109(license)
108
+ isa_1: LDNode = ARCtrl_ArcInvestigation__ArcInvestigation_ToROCrateInvestigation_Z7960E96B(isa, fs, ignore_broken_wr)
109
+ LDDataset.set_sddate_published_as_date_time(isa_1, now())
110
+ LDDataset.set_license_as_creative_work(isa_1, license_1)
111
+ graph: LDGraph = isa_1.Flatten()
112
+ context: LDContext = LDContext(None, [init_v1_2(), init_bioschemas_context()])
113
+ graph.SetContext(context)
114
+ graph.AddNode(ROCrate_get_metadataFileDescriptor())
115
+ graph.Compact_InPlace()
116
+ return encoder(graph)
117
+
118
+
119
+ def ROCrate_get_decoder(__unit: None=None) -> Decoder_1[tuple[ArcInvestigation, Array[str], License | None]]:
120
+ def ctor(graph: LDGraph) -> tuple[ArcInvestigation, Array[str], License | None]:
121
+ match_value: LDNode | None = graph.TryGetNode("./")
122
+ if match_value is None:
123
+ raise Exception("RO-Crate graph did not contain root data Entity")
124
+
125
+ else:
126
+ node: LDNode = match_value
127
+ def f(n: LDNode, graph: Any=graph) -> str | None:
128
+ if (not n.HasType(LDDataset.schema_type(), graph.TryGetContext())) if ((not (n.Id.find("#") >= 0)) if LDFile.validate(n, graph.TryGetContext()) else False) else False:
129
+ return n.Id
130
+
131
+ else:
132
+ return None
133
+
134
+
135
+ files: Array[str] = ResizeArray_choose(f, graph.Nodes)
136
+ def binder(n_1: LDNode, graph: Any=graph) -> License | None:
137
+ return ROCrate_getLicense_Z2F770004(n_1, graph.TryGetContext())
138
+
139
+ license: License | None = bind(binder, LDDataset.try_get_license_as_creative_work(node, graph, graph.TryGetContext()))
140
+ return (ARCtrl_ArcInvestigation__ArcInvestigation_fromROCrateInvestigation_Static_Z6839B9E8(node, graph, graph.TryGetContext()), files, license)
141
+
142
+
143
+ return map(ctor, decoder)
144
+
145
+
146
+ def ROCrate_packDatasetAsCrate_Z2DB026F7(dataset: LDNode, dataset_name: str, dataset_description: str, metadata_file_descriptor: LDNode | None, license: License) -> LDGraph:
147
+ metadata_file_descriptor_1: LDNode = default_arg(metadata_file_descriptor, ROCrate_get_metadataFileDescriptor())
148
+ license_1: LDNode = ROCrate_createLicenseNode_29619109(license)
149
+ main_entity: LDNode = LDDataset.create("./", None, None, None, None, None, dataset_description, None, dataset_name)
150
+ def action(kv: Any, dataset: Any=dataset, dataset_name: Any=dataset_name, dataset_description: Any=dataset_description, metadata_file_descriptor: Any=metadata_file_descriptor, license: Any=license) -> None:
151
+ main_entity.SetProperty(kv[0], kv[1])
152
+
153
+ iterate(action, dataset.GetProperties(False))
154
+ LDDataset.set_date_created_as_date_time(main_entity, now())
155
+ LDDataset.set_license_as_creative_work(main_entity, license_1)
156
+ graph: LDGraph = main_entity.Flatten()
157
+ context: LDContext = LDContext(None, [init_v1_2(), init_bioschemas_context()])
158
+ graph.SetContext(context)
159
+ graph.AddNode(metadata_file_descriptor_1)
160
+ graph.Compact_InPlace()
161
+ return graph
162
+
163
+
164
+ def ROCrate_writeRunAsCrate_5E53831D(arc_run: ArcRun, file_system: FileSystem, license: License) -> str:
165
+ run_dataset: LDNode = ARCtrl_ArcRun__ArcRun_ToROCrateRun_1695DD5C(arc_run, file_system)
166
+ def predicate(prop: str, arc_run: Any=arc_run, file_system: Any=file_system, license: Any=license) -> bool:
167
+ return not DynamicObj_DynamicObj__DynamicObj_HasProperty_Z721C83C5(run_dataset, prop)
168
+
169
+ missing_dataset_props: FSharpList[str] = filter(predicate, of_array([LDDataset.identifier(), LDDataset.name(), LDDataset.description(), LDDataset.about(), LDDataset.mentions(), LDDataset.creator(), LDDataset.has_part()]))
170
+ if not is_empty(missing_dataset_props):
171
+ def mapping(p: str, arc_run: Any=arc_run, file_system: Any=file_system, license: Any=license) -> str:
172
+ return replace(p, "http://schema.org/", "")
173
+
174
+ missing_props_str: str = join(", ", map_1(mapping, missing_dataset_props))
175
+ to_fail(printf("Run dataset is missing required properties: %s"))(missing_props_str)
176
+
177
+ workflow_invocation: LDNode
178
+ match_value: LDNode | None = try_head(LDDataset.get_abouts_as_workflow_invocation(run_dataset))
179
+ if match_value is None:
180
+ raise Exception("Run dataset \'about\' property must contain a workflowInvocation")
181
+
182
+ else:
183
+ workflow_invocation = match_value
184
+
185
+ def predicate_1(prop_1: str, arc_run: Any=arc_run, file_system: Any=file_system, license: Any=license) -> bool:
186
+ return not DynamicObj_DynamicObj__DynamicObj_HasProperty_Z721C83C5(workflow_invocation, prop_1)
187
+
188
+ missing_wf_invocation_props: FSharpList[str] = filter(predicate_1, of_array([LDCreateAction.name(), LDCreateAction.instrument(), LDCreateAction.result(), LDCreateAction.object_()]))
189
+ if not is_empty(missing_wf_invocation_props):
190
+ def mapping_1(p_1: str, arc_run: Any=arc_run, file_system: Any=file_system, license: Any=license) -> str:
191
+ return replace(p_1, "http://schema.org/", "")
192
+
193
+ missing_props_str_1: str = join(", ", map_1(mapping_1, missing_wf_invocation_props))
194
+ to_fail(printf("WorkflowInvocation is missing required properties: %s"))(missing_props_str_1)
195
+
196
+ return ARCtrl_ROCrate_LDGraph__LDGraph_toROCrateJsonString_Static_71136F3F(2)(ROCrate_packDatasetAsCrate_Z2DB026F7(run_dataset, value_2(arc_run.Title), value_2(arc_run.Description), ROCrate_get_metadataFileDescriptorWfRun(), license))
197
+
198
+
199
+ def ROCrate_writeWorkflowAsCrate_Z4A0538D9(arc_workflow: ArcWorkflow, file_system: FileSystem, license: License) -> str:
200
+ workflow_dataset: LDNode = ARCtrl_ArcWorkflow__ArcWorkflow_ToROCrateWorkflow_1695DD5C(arc_workflow, file_system)
201
+ def predicate(prop: str, arc_workflow: Any=arc_workflow, file_system: Any=file_system, license: Any=license) -> bool:
202
+ return not DynamicObj_DynamicObj__DynamicObj_HasProperty_Z721C83C5(workflow_dataset, prop)
203
+
204
+ missing_dataset_props: FSharpList[str] = filter(predicate, of_array([LDDataset.identifier(), LDDataset.name(), LDDataset.description(), LDDataset.main_entity(), LDDataset.has_part(), LDDataset.creator()]))
205
+ if not is_empty(missing_dataset_props):
206
+ def mapping(p: str, arc_workflow: Any=arc_workflow, file_system: Any=file_system, license: Any=license) -> str:
207
+ return replace(p, "http://schema.org/", "")
208
+
209
+ missing_props_str: str = join(", ", map_1(mapping, missing_dataset_props))
210
+ to_fail(printf("Workflow dataset is missing required properties: %s"))(missing_props_str)
211
+
212
+ workflow_protocol: LDNode
213
+ match_value: LDNode | None = LDDataset.try_get_main_entity_as_workflow_protocol(workflow_dataset)
214
+ if match_value is None:
215
+ raise Exception("Workflow dataset \'mainEntity\' property must contain a workflow protocol")
216
+
217
+ else:
218
+ workflow_protocol = match_value
219
+
220
+ def predicate_1(prop_1: str, arc_workflow: Any=arc_workflow, file_system: Any=file_system, license: Any=license) -> bool:
221
+ return not DynamicObj_DynamicObj__DynamicObj_HasProperty_Z721C83C5(workflow_protocol, prop_1)
222
+
223
+ missing_protocol_props: FSharpList[str] = filter(predicate_1, of_array([LDComputationalWorkflow.creator(), LDComputationalWorkflow.name(), LDComputationalWorkflow.input(), LDComputationalWorkflow.output(), LDComputationalWorkflow.programming_language(), LDComputationalWorkflow.url(), LDComputationalWorkflow.version(), LDComputationalWorkflow.date_created()]))
224
+ if not is_empty(missing_protocol_props):
225
+ def mapping_1(p_1: str, arc_workflow: Any=arc_workflow, file_system: Any=file_system, license: Any=license) -> str:
226
+ return replace(p_1, "http://schema.org/", "")
227
+
228
+ missing_props_str_1: str = join(", ", map_1(mapping_1, missing_protocol_props))
229
+ to_fail(printf("Workflow protocol is missing required properties: %s"))(missing_props_str_1)
230
+
231
+ return ARCtrl_ROCrate_LDGraph__LDGraph_toROCrateJsonString_Static_71136F3F(2)(ROCrate_packDatasetAsCrate_Z2DB026F7(workflow_dataset, value_2(arc_workflow.Title), value_2(arc_workflow.Description), ROCrate_get_metadataFileDescriptorWfRun(), license))
232
+
233
+
234
+ def ROCrate_get_decoderDeprecated(__unit: None=None) -> Decoder_1[ArcInvestigation]:
235
+ def ctor(ldnode: LDNode) -> ArcInvestigation:
236
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromROCrateInvestigation_Static_Z6839B9E8(exactly_one(LDDataset.get_abouts(ldnode)), None, init_v1_1())
237
+
238
+ return map(ctor, decoder_1)
239
+
240
+
241
+ __all__ = ["ROCrate_reflection", "ROCrate_get_metadataFileDescriptor", "ROCrate_get_metadataFileDescriptorWfRun", "ROCrate_createLicenseNode_29619109", "ROCrate_getLicense_Z2F770004", "ROCrate_encoder_Z7FE34C43", "ROCrate_get_decoder", "ROCrate_packDatasetAsCrate_Z2DB026F7", "ROCrate_writeRunAsCrate_5E53831D", "ROCrate_writeWorkflowAsCrate_Z4A0538D9", "ROCrate_get_decoderDeprecated"]
242
+
@@ -0,0 +1,23 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from .Core.template import Template
4
+ from .JsonIO.Table.templates import Templates_fromJsonString
5
+ from .fable_modules.fable_library.async_builder import (singleton, Async)
6
+ from .fable_modules.fable_library.option import default_arg
7
+ from .fable_modules.fable_library.types import Array
8
+ from .WebRequest.web_request import download_file
9
+
10
+ def get_templates(url: str | None=None) -> Async[Array[Template]]:
11
+ url_1: str = default_arg(url, "https://github.com/nfdi4plants/Swate-templates/releases/download/latest/templates_v2.0.0.json")
12
+ def _arrow4466(__unit: None=None, url: Any=url) -> Async[Array[Template]]:
13
+ def _arrow4465(_arg: str) -> Async[Array[Template]]:
14
+ map_result: Array[Template] = Templates_fromJsonString(_arg)
15
+ return singleton.Return(map_result)
16
+
17
+ return singleton.Bind(download_file(url_1), _arrow4465)
18
+
19
+ return singleton.Delay(_arrow4466)
20
+
21
+
22
+ __all__ = ["get_templates"]
23
+
arctrl/py/xlsx.py ADDED
@@ -0,0 +1,212 @@
1
+ from __future__ import annotations
2
+ from .Core.arc_types import (ArcAssay, ArcStudy, ArcWorkflow, ArcRun, ArcInvestigation)
3
+ from .Core.datamap import Datamap
4
+ from .Spreadsheet.arc_assay import (ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D, ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F)
5
+ from .Spreadsheet.arc_investigation import (ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D, ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF)
6
+ from .Spreadsheet.arc_run import (ARCtrl_ArcRun__ArcRun_fromFsWorkbook_Static_32154C9D, ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8)
7
+ from .Spreadsheet.arc_study import (ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D, ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522)
8
+ from .Spreadsheet.arc_workflow import (ARCtrl_ArcWorkflow__ArcWorkflow_fromFsWorkbook_Static_32154C9D, ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E)
9
+ from .Spreadsheet.datamap import (from_fs_workbook, to_fs_workbook)
10
+ from .fable_modules.fable_library.list import (FSharpList, of_seq)
11
+ from .fable_modules.fable_library.option import map
12
+ from .fable_modules.fable_library.reflection import (TypeInfo, class_type)
13
+ from .fable_modules.fable_library.types import Array
14
+ from .fable_modules.fs_spreadsheet.fs_workbook import FsWorkbook
15
+ from .fable_modules.fs_spreadsheet_py.fs_extension import (FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5, FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static)
16
+
17
+ def _expr4529() -> TypeInfo:
18
+ return class_type("ARCtrl.XlsxHelper.DatamapXlsx", None, XlsxHelper_DatamapXlsx)
19
+
20
+
21
+ class XlsxHelper_DatamapXlsx:
22
+ def __init__(self, __unit: None=None) -> None:
23
+ pass
24
+
25
+ def from_fs_workbook(self, fswb: FsWorkbook) -> Datamap:
26
+ return from_fs_workbook(fswb)
27
+
28
+ def to_fs_workbook(self, datamap: Datamap) -> FsWorkbook:
29
+ return to_fs_workbook(datamap)
30
+
31
+ def from_xlsx_file(self, path: str) -> Datamap:
32
+ return from_fs_workbook(FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path))
33
+
34
+ def to_xlsx_file(self, path: str, datamap: Datamap) -> None:
35
+ FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, to_fs_workbook(datamap))
36
+
37
+
38
+ XlsxHelper_DatamapXlsx_reflection = _expr4529
39
+
40
+ def XlsxHelper_DatamapXlsx__ctor(__unit: None=None) -> XlsxHelper_DatamapXlsx:
41
+ return XlsxHelper_DatamapXlsx(__unit)
42
+
43
+
44
+ def _expr4530() -> TypeInfo:
45
+ return class_type("ARCtrl.XlsxHelper.AssayXlsx", None, XlsxHelper_AssayXlsx)
46
+
47
+
48
+ class XlsxHelper_AssayXlsx:
49
+ def __init__(self, __unit: None=None) -> None:
50
+ pass
51
+
52
+ def from_fs_workbook(self, fswb: FsWorkbook) -> ArcAssay:
53
+ return ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D(fswb)
54
+
55
+ def to_fs_workbook(self, assay: ArcAssay) -> FsWorkbook:
56
+ return ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F(assay)
57
+
58
+ def from_xlsx_file(self, path: str) -> ArcAssay:
59
+ return ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D(FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path))
60
+
61
+ def to_xlsx_file(self, path: str, assay: ArcAssay) -> None:
62
+ FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F(assay))
63
+
64
+
65
+ XlsxHelper_AssayXlsx_reflection = _expr4530
66
+
67
+ def XlsxHelper_AssayXlsx__ctor(__unit: None=None) -> XlsxHelper_AssayXlsx:
68
+ return XlsxHelper_AssayXlsx(__unit)
69
+
70
+
71
+ def _expr4531() -> TypeInfo:
72
+ return class_type("ARCtrl.XlsxHelper.StudyXlsx", None, XlsxHelper_StudyXlsx)
73
+
74
+
75
+ class XlsxHelper_StudyXlsx:
76
+ def __init__(self, __unit: None=None) -> None:
77
+ pass
78
+
79
+ def from_fs_workbook(self, fswb: FsWorkbook) -> tuple[ArcStudy, FSharpList[ArcAssay]]:
80
+ return ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D(fswb)
81
+
82
+ def to_fs_workbook(self, study: ArcStudy, assays: Array[ArcAssay] | None=None) -> FsWorkbook:
83
+ return ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(study, map(of_seq, assays))
84
+
85
+ def from_xlsx_file(self, path: str) -> tuple[ArcStudy, FSharpList[ArcAssay]]:
86
+ return ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D(FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path))
87
+
88
+ def to_xlsx_file(self, path: str, study: ArcStudy, assays: Array[ArcAssay] | None=None) -> None:
89
+ FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(study, map(of_seq, assays)))
90
+
91
+
92
+ XlsxHelper_StudyXlsx_reflection = _expr4531
93
+
94
+ def XlsxHelper_StudyXlsx__ctor(__unit: None=None) -> XlsxHelper_StudyXlsx:
95
+ return XlsxHelper_StudyXlsx(__unit)
96
+
97
+
98
+ def _expr4532() -> TypeInfo:
99
+ return class_type("ARCtrl.XlsxHelper.WorkflowXlsx", None, XlsxHelper_WorkflowXlsx)
100
+
101
+
102
+ class XlsxHelper_WorkflowXlsx:
103
+ def __init__(self, __unit: None=None) -> None:
104
+ pass
105
+
106
+ def from_fs_workbook(self, fswb: FsWorkbook) -> ArcWorkflow:
107
+ return ARCtrl_ArcWorkflow__ArcWorkflow_fromFsWorkbook_Static_32154C9D(fswb)
108
+
109
+ def to_fs_workbook(self, workflow: ArcWorkflow) -> FsWorkbook:
110
+ return ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E(workflow)
111
+
112
+ def from_xlsx_file(self, path: str) -> ArcWorkflow:
113
+ return ARCtrl_ArcWorkflow__ArcWorkflow_fromFsWorkbook_Static_32154C9D(FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path))
114
+
115
+ def to_xlsx_file(self, path: str, workflow: ArcWorkflow) -> None:
116
+ FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E(workflow))
117
+
118
+
119
+ XlsxHelper_WorkflowXlsx_reflection = _expr4532
120
+
121
+ def XlsxHelper_WorkflowXlsx__ctor(__unit: None=None) -> XlsxHelper_WorkflowXlsx:
122
+ return XlsxHelper_WorkflowXlsx(__unit)
123
+
124
+
125
+ def _expr4533() -> TypeInfo:
126
+ return class_type("ARCtrl.XlsxHelper.RunXlsx", None, XlsxHelper_RunXlsx)
127
+
128
+
129
+ class XlsxHelper_RunXlsx:
130
+ def __init__(self, __unit: None=None) -> None:
131
+ pass
132
+
133
+ def from_fs_workbook(self, fswb: FsWorkbook) -> ArcRun:
134
+ return ARCtrl_ArcRun__ArcRun_fromFsWorkbook_Static_32154C9D(fswb)
135
+
136
+ def to_fs_workbook(self, run: ArcRun) -> FsWorkbook:
137
+ return ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8(run)
138
+
139
+ def from_xlsx_file(self, path: str) -> ArcRun:
140
+ return ARCtrl_ArcRun__ArcRun_fromFsWorkbook_Static_32154C9D(FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path))
141
+
142
+ def to_xlsx_file(self, path: str, run: ArcRun) -> None:
143
+ FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8(run))
144
+
145
+
146
+ XlsxHelper_RunXlsx_reflection = _expr4533
147
+
148
+ def XlsxHelper_RunXlsx__ctor(__unit: None=None) -> XlsxHelper_RunXlsx:
149
+ return XlsxHelper_RunXlsx(__unit)
150
+
151
+
152
+ def _expr4534() -> TypeInfo:
153
+ return class_type("ARCtrl.XlsxHelper.InvestigationXlsx", None, XlsxHelper_InvestigationXlsx)
154
+
155
+
156
+ class XlsxHelper_InvestigationXlsx:
157
+ def __init__(self, __unit: None=None) -> None:
158
+ pass
159
+
160
+ def from_fs_workbook(self, fswb: FsWorkbook) -> ArcInvestigation:
161
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D(fswb)
162
+
163
+ def to_fs_workbook(self, investigation: ArcInvestigation) -> FsWorkbook:
164
+ return ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF(investigation)
165
+
166
+ def from_xlsx_file(self, path: str) -> ArcInvestigation:
167
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D(FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path))
168
+
169
+ def to_xlsx_file(self, path: str, investigation: ArcInvestigation) -> None:
170
+ FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF(investigation))
171
+
172
+
173
+ XlsxHelper_InvestigationXlsx_reflection = _expr4534
174
+
175
+ def XlsxHelper_InvestigationXlsx__ctor(__unit: None=None) -> XlsxHelper_InvestigationXlsx:
176
+ return XlsxHelper_InvestigationXlsx(__unit)
177
+
178
+
179
+ def _expr4535() -> TypeInfo:
180
+ return class_type("ARCtrl.XlsxController", None, XlsxController)
181
+
182
+
183
+ class XlsxController:
184
+ @staticmethod
185
+ def Datamap() -> XlsxHelper_DatamapXlsx:
186
+ return XlsxHelper_DatamapXlsx()
187
+
188
+ @staticmethod
189
+ def Assay() -> XlsxHelper_AssayXlsx:
190
+ return XlsxHelper_AssayXlsx()
191
+
192
+ @staticmethod
193
+ def Study() -> XlsxHelper_StudyXlsx:
194
+ return XlsxHelper_StudyXlsx()
195
+
196
+ @staticmethod
197
+ def Workflow() -> XlsxHelper_WorkflowXlsx:
198
+ return XlsxHelper_WorkflowXlsx()
199
+
200
+ @staticmethod
201
+ def Run() -> XlsxHelper_RunXlsx:
202
+ return XlsxHelper_RunXlsx()
203
+
204
+ @staticmethod
205
+ def Investigation() -> XlsxHelper_InvestigationXlsx:
206
+ return XlsxHelper_InvestigationXlsx()
207
+
208
+
209
+ XlsxController_reflection = _expr4535
210
+
211
+ __all__ = ["XlsxHelper_DatamapXlsx_reflection", "XlsxHelper_AssayXlsx_reflection", "XlsxHelper_StudyXlsx_reflection", "XlsxHelper_WorkflowXlsx_reflection", "XlsxHelper_RunXlsx_reflection", "XlsxHelper_InvestigationXlsx_reflection", "XlsxController_reflection"]
212
+
arctrl/py/yaml.py ADDED
@@ -0,0 +1,79 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from .CWL.cwlprocessing_unit import CWLProcessingUnit
4
+ from .CWL.decode import (Decode_decodeCWLProcessingUnit, DecodeParameters_decodeYAMLParameterFile)
5
+ from .CWL.encode import (encode_processing_unit, write_yaml, y_map)
6
+ from .CWL.parameter_reference import CWLParameterReference
7
+ from .fable_modules.fable_library.reflection import (TypeInfo, class_type)
8
+ from .fable_modules.fable_library.seq import (to_list, map)
9
+ from .fable_modules.fable_library.types import Array
10
+ from .fable_modules.yamlicious.encode import (string, seq)
11
+ from .fable_modules.yamlicious.yamlicious_types import YAMLElement
12
+
13
+ def _expr4516() -> TypeInfo:
14
+ return class_type("ARCtrl.YamlHelper.ProcessingUnitYAML", None, YamlHelper_ProcessingUnitYAML)
15
+
16
+
17
+ class YamlHelper_ProcessingUnitYAML:
18
+ def __init__(self, __unit: None=None) -> None:
19
+ pass
20
+
21
+ def from_yamlstring(self, s: str) -> CWLProcessingUnit:
22
+ return Decode_decodeCWLProcessingUnit(s)
23
+
24
+ def to_yamlstring(self, pu: CWLProcessingUnit) -> str:
25
+ return encode_processing_unit(pu)
26
+
27
+
28
+ YamlHelper_ProcessingUnitYAML_reflection = _expr4516
29
+
30
+ def YamlHelper_ProcessingUnitYAML__ctor(__unit: None=None) -> YamlHelper_ProcessingUnitYAML:
31
+ return YamlHelper_ProcessingUnitYAML(__unit)
32
+
33
+
34
+ def _expr4518() -> TypeInfo:
35
+ return class_type("ARCtrl.YamlHelper.ParameterReferenceYAML", None, YamlHelper_ParameterReferenceYAML)
36
+
37
+
38
+ class YamlHelper_ParameterReferenceYAML:
39
+ def __init__(self, __unit: None=None) -> None:
40
+ pass
41
+
42
+ def from_yamlstring(self, s: str) -> Array[CWLParameterReference]:
43
+ return DecodeParameters_decodeYAMLParameterFile(s)
44
+
45
+ def to_yamlstring(self, pr: Array[CWLParameterReference]) -> str:
46
+ def mapping(p: CWLParameterReference) -> tuple[str, YAMLElement]:
47
+ def _arrow4517(value: str, p: Any=p) -> YAMLElement:
48
+ return string(value)
49
+
50
+ values: YAMLElement = string(p.Values[0]) if (len(p.Values) == 1) else seq(_arrow4517, p.Values)
51
+ return (p.Key, values)
52
+
53
+ return write_yaml(y_map(to_list(map(mapping, pr))))
54
+
55
+
56
+ YamlHelper_ParameterReferenceYAML_reflection = _expr4518
57
+
58
+ def YamlHelper_ParameterReferenceYAML__ctor(__unit: None=None) -> YamlHelper_ParameterReferenceYAML:
59
+ return YamlHelper_ParameterReferenceYAML(__unit)
60
+
61
+
62
+ def _expr4520() -> TypeInfo:
63
+ return class_type("ARCtrl.YamlController", None, YamlController)
64
+
65
+
66
+ class YamlController:
67
+ @staticmethod
68
+ def ProcessingUnit() -> YamlHelper_ProcessingUnitYAML:
69
+ return YamlHelper_ProcessingUnitYAML()
70
+
71
+ @staticmethod
72
+ def ParameterReference() -> YamlHelper_ParameterReferenceYAML:
73
+ return YamlHelper_ParameterReferenceYAML()
74
+
75
+
76
+ YamlController_reflection = _expr4520
77
+
78
+ __all__ = ["YamlHelper_ProcessingUnitYAML_reflection", "YamlHelper_ParameterReferenceYAML_reflection", "YamlController_reflection"]
79
+
arctrl/rocrate.py ADDED
@@ -0,0 +1,21 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from .py.ROCrate.ldobject import LDGraph, LDNode, LDValue, LDRef
5
+ from .py.ROCrate.ldcontext import LDContext
6
+ from .py.ROCrate.rocrate_context import init_v1_1, init_v1_2, init_bioschemas_context
7
+ from .py.ROCrate.LDTypes.comment import LDComment
8
+ from .py.ROCrate.LDTypes.defined_term import LDDefinedTerm
9
+ from .py.ROCrate.LDTypes.file import LDFile
10
+ from .py.ROCrate.LDTypes.lab_process import LDLabProcess
11
+ from .py.ROCrate.LDTypes.lab_protocol import LDLabProtocol
12
+ from .py.ROCrate.LDTypes.organization import LDOrganization
13
+ from .py.ROCrate.LDTypes.person import LDPerson
14
+ from .py.ROCrate.LDTypes.postal_address import LDPostalAddress
15
+ from .py.ROCrate.LDTypes.property_value import LDPropertyValue
16
+ from .py.ROCrate.LDTypes.sample import LDSample
17
+ from .py.ROCrate.LDTypes.scholarly_article import LDScholarlyArticle
18
+ from .py.ROCrate.LDTypes.dataset import LDDataset
19
+ from .py.JsonIO.ldobject import LDGraphExtensions_PyJsInterop as LDGraphIO
20
+ from .py.JsonIO.ldobject import LDNodeExtensions_PyJsInterop as LDNodeIO
21
+ from .py.conversion import Conversion as Conversion