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,266 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.array_ import (filter, map_indexed, append, last)
4
+ from ..fable_modules.fable_library.char import is_letter
5
+ from ..fable_modules.fable_library.list import (of_array, FSharpList)
6
+ from ..fable_modules.fable_library.string_ import (split as split_1, starts_with_exact, substring, ends_with_exact, join, trim_end, trim_start, trim)
7
+ from ..fable_modules.fable_library.types import Array
8
+
9
+ seperators: Array[str] = ["/", "\\"]
10
+
11
+ alternative_licensefile_names: FSharpList[str] = of_array(["LICENSE.txt", "LICENSE.md", "LICENSE.rst"])
12
+
13
+ def split(path: str) -> Array[str]:
14
+ def predicate(p: str, path: Any=path) -> bool:
15
+ if p != "":
16
+ return p != "."
17
+
18
+ else:
19
+ return False
20
+
21
+
22
+ return filter(predicate, split_1(path, seperators, None, 3))
23
+
24
+
25
+ def has_leading_separator(path: str) -> bool:
26
+ if len(path) > 0:
27
+ if path[0] == "/":
28
+ return True
29
+
30
+ else:
31
+ return path[0] == "\\"
32
+
33
+
34
+ else:
35
+ return False
36
+
37
+
38
+
39
+ def is_unc_path(path: str) -> bool:
40
+ if starts_with_exact(path, "//"):
41
+ return True
42
+
43
+ else:
44
+ return starts_with_exact(path, "\\\\")
45
+
46
+
47
+
48
+ def try_get_drive_prefix(path: str) -> str | None:
49
+ if (True if (path[2] == "/") else (path[2] == "\\")) if ((path[1] == ":") if (is_letter(path[0]) if (len(path) > 2) else False) else False) else False:
50
+ return substring(path, 0, 2)
51
+
52
+ else:
53
+ return None
54
+
55
+
56
+
57
+ def split_with_prefix(path: str) -> tuple[str | None, Array[str]]:
58
+ trimmed: str = path.strip()
59
+ match_value: str | None = try_get_drive_prefix(trimmed)
60
+ if match_value is None:
61
+ if is_unc_path(trimmed):
62
+ return ("//", split(trimmed))
63
+
64
+ elif has_leading_separator(trimmed):
65
+ return ("/", split(trimmed))
66
+
67
+ else:
68
+ return (None, split(trimmed))
69
+
70
+
71
+ else:
72
+ return (match_value, split(substring(trimmed, 2)))
73
+
74
+
75
+
76
+ def normalize_root_prefix(prefix: str) -> str:
77
+ if prefix == "//":
78
+ return "//"
79
+
80
+ elif ends_with_exact(prefix, ":"):
81
+ return ("" + prefix) + "/"
82
+
83
+ else:
84
+ return "/"
85
+
86
+
87
+
88
+ def build_path_from_prefix_and_segments(prefix_opt: str | None, segments: Array[str]) -> str:
89
+ if len(segments) == 0:
90
+ if prefix_opt is None:
91
+ return ""
92
+
93
+ else:
94
+ return normalize_root_prefix(prefix_opt)
95
+
96
+
97
+ else:
98
+ combined: str = join("/", segments)
99
+ (pattern_matching_result, prefix_3, prefix_4) = (None, None, None)
100
+ if prefix_opt is None:
101
+ pattern_matching_result = 4
102
+
103
+ elif prefix_opt == "//":
104
+ pattern_matching_result = 0
105
+
106
+ elif prefix_opt == "/":
107
+ if ends_with_exact(prefix_opt, ":"):
108
+ pattern_matching_result = 1
109
+ prefix_3 = prefix_opt
110
+
111
+ else:
112
+ pattern_matching_result = 2
113
+
114
+
115
+ elif ends_with_exact(prefix_opt, ":"):
116
+ pattern_matching_result = 1
117
+ prefix_3 = prefix_opt
118
+
119
+ else:
120
+ pattern_matching_result = 3
121
+ prefix_4 = prefix_opt
122
+
123
+ if pattern_matching_result == 0:
124
+ return ("//" + combined) + ""
125
+
126
+ elif pattern_matching_result == 1:
127
+ return ((("" + prefix_3) + "/") + combined) + ""
128
+
129
+ elif pattern_matching_result == 2:
130
+ return ("/" + combined) + ""
131
+
132
+ elif pattern_matching_result == 3:
133
+ return ((("" + prefix_4) + "/") + combined) + ""
134
+
135
+ elif pattern_matching_result == 4:
136
+ return combined
137
+
138
+
139
+
140
+
141
+ def combine(path1: str, path2: str) -> str:
142
+ return (trim_end(path1, *seperators) + "/") + trim_start(path2, *seperators)
143
+
144
+
145
+ def combine_many(paths: Array[str]) -> str:
146
+ def mapping(i: int, p: str, paths: Any=paths) -> str:
147
+ if i == 0:
148
+ return trim_end(p, *seperators)
149
+
150
+ elif i == (len(paths) - 1):
151
+ return trim_start(p, *seperators)
152
+
153
+ else:
154
+ return trim(p, *seperators)
155
+
156
+
157
+ return join("/", map_indexed(mapping, paths, None))
158
+
159
+
160
+ def normalize_segments(segments: Array[str]) -> Array[str]:
161
+ resolved: Array[str] = []
162
+ for idx in range(0, (len(segments) - 1) + 1, 1):
163
+ raw_segment: str = segments[idx]
164
+ segment: str = raw_segment.strip()
165
+ if True if (segment == "") else (segment == "."):
166
+ pass
167
+
168
+ elif segment == "..":
169
+ if (resolved[len(resolved) - 1] != "..") if (len(resolved) > 0) else False:
170
+ resolved.pop(len(resolved) - 1)
171
+
172
+ else:
173
+ (resolved.append(segment))
174
+
175
+
176
+ else:
177
+ (resolved.append(segment))
178
+
179
+ return resolved[:]
180
+
181
+
182
+ def normalize(path: str) -> str:
183
+ trimmed_path: str = path.strip()
184
+ pattern_input: tuple[str | None, Array[str]] = split_with_prefix(trimmed_path)
185
+ prefix_opt: str | None = pattern_input[0]
186
+ normalized_segments: Array[str] = normalize_segments(pattern_input[1])
187
+ if len(normalized_segments) == 0:
188
+ if prefix_opt is None:
189
+ return trimmed_path
190
+
191
+ else:
192
+ return normalize_root_prefix(prefix_opt)
193
+
194
+
195
+ else:
196
+ return build_path_from_prefix_and_segments(prefix_opt, normalized_segments)
197
+
198
+
199
+
200
+ def normalize_path_key(path: str) -> str:
201
+ normalized: str = normalize(path)
202
+ if normalized == "":
203
+ return path.strip()
204
+
205
+ else:
206
+ trimmed_leading_separators: str = trim_start(normalized, *seperators)
207
+ if trimmed_leading_separators == "":
208
+ return normalized
209
+
210
+ else:
211
+ return trimmed_leading_separators
212
+
213
+
214
+
215
+
216
+ def resolve_path_from_file(file_path: str, path: str) -> str:
217
+ trimmed_path: str = path.strip()
218
+ pattern_input: tuple[str | None, Array[str]] = split_with_prefix(trimmed_path)
219
+ if pattern_input[0] is not None:
220
+ return normalize(trimmed_path)
221
+
222
+ else:
223
+ pattern_input_1: tuple[str | None, Array[str]] = split_with_prefix(file_path)
224
+ file_prefix_opt: str | None = pattern_input_1[0]
225
+ file_path_segments: Array[str] = pattern_input_1[1]
226
+ resolved_segments: Array[str] = normalize_segments(append([] if (len(file_path_segments) <= 1) else file_path_segments[0:(len(file_path_segments) - 2) + 1], pattern_input[1], None))
227
+ if len(resolved_segments) == 0:
228
+ if file_prefix_opt is None:
229
+ return trimmed_path
230
+
231
+ else:
232
+ return normalize_root_prefix(file_prefix_opt)
233
+
234
+
235
+ else:
236
+ return build_path_from_prefix_and_segments(file_prefix_opt, resolved_segments)
237
+
238
+
239
+
240
+
241
+ def get_file_name(path: str) -> str:
242
+ return last(split(path))
243
+
244
+
245
+ def is_file(file_name: str, path: str) -> bool:
246
+ return get_file_name(path) == file_name
247
+
248
+
249
+ def get_assay_folder_path(assay_identifier: str) -> str:
250
+ return combine("assays", assay_identifier)
251
+
252
+
253
+ def get_study_folder_path(study_identifier: str) -> str:
254
+ return combine("studies", study_identifier)
255
+
256
+
257
+ def get_workflow_folder_path(workflow_identifier: str) -> str:
258
+ return combine("workflows", workflow_identifier)
259
+
260
+
261
+ def get_run_folder_path(run_identifier: str) -> str:
262
+ return combine("runs", run_identifier)
263
+
264
+
265
+ __all__ = ["seperators", "alternative_licensefile_names", "split", "has_leading_separator", "is_unc_path", "try_get_drive_prefix", "split_with_prefix", "normalize_root_prefix", "build_path_from_prefix_and_segments", "combine", "combine_many", "normalize_segments", "normalize", "normalize_path_key", "resolve_path_from_file", "get_file_name", "is_file", "get_assay_folder_path", "get_study_folder_path", "get_workflow_folder_path", "get_run_folder_path"]
266
+
File without changes
@@ -0,0 +1,101 @@
1
+ from __future__ import annotations
2
+ from typing import (Any, TypeVar)
3
+ from ...fable_modules.fable_library.list import (choose, of_array, FSharpList)
4
+ from ...fable_modules.fable_library.option import map
5
+ from ...fable_modules.fable_library.seq import map as map_1
6
+ from ...fable_modules.fable_library.util import IEnumerable_1
7
+ from ...fable_modules.thoth_json_core.decode import (object, IRequiredGetter, IOptionalGetter, string, IGetters)
8
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
9
+ from ...Core.data import Data
10
+ from ...Core.data_context import (DataContext__get_Explication, DataContext__get_Unit, DataContext__get_ObjectType, DataContext__get_Description, DataContext__get_GeneratedBy, DataContext__get_Label, DataContext, DataContext__ctor_Z780A8A2A)
11
+ from ...Core.ontology_annotation import OntologyAnnotation
12
+ from ..data import (encoder as encoder_1, decoder as decoder_1)
13
+ from ..encode import try_include
14
+ from ..ontology_annotation import (OntologyAnnotation_encoder, OntologyAnnotation_decoder)
15
+
16
+ __A_ = TypeVar("__A_")
17
+
18
+ def encoder(dc: DataContext) -> IEncodable:
19
+ def chooser(tupled_arg: tuple[str, IEncodable | None], dc: Any=dc) -> tuple[str, IEncodable] | None:
20
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
21
+ return (tupled_arg[0], v_1)
22
+
23
+ return map(mapping, tupled_arg[1])
24
+
25
+ def _arrow3443(oa: OntologyAnnotation, dc: Any=dc) -> IEncodable:
26
+ return OntologyAnnotation_encoder(oa)
27
+
28
+ def _arrow3444(oa_1: OntologyAnnotation, dc: Any=dc) -> IEncodable:
29
+ return OntologyAnnotation_encoder(oa_1)
30
+
31
+ def _arrow3445(oa_2: OntologyAnnotation, dc: Any=dc) -> IEncodable:
32
+ return OntologyAnnotation_encoder(oa_2)
33
+
34
+ def _arrow3447(value: str, dc: Any=dc) -> IEncodable:
35
+ class ObjectExpr3446(IEncodable):
36
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
37
+ return helpers.encode_string(value)
38
+
39
+ return ObjectExpr3446()
40
+
41
+ def _arrow3449(value_2: str, dc: Any=dc) -> IEncodable:
42
+ class ObjectExpr3448(IEncodable):
43
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
44
+ return helpers_1.encode_string(value_2)
45
+
46
+ return ObjectExpr3448()
47
+
48
+ def _arrow3451(value_4: str, dc: Any=dc) -> IEncodable:
49
+ class ObjectExpr3450(IEncodable):
50
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
51
+ return helpers_2.encode_string(value_4)
52
+
53
+ return ObjectExpr3450()
54
+
55
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("data", encoder_1(dc)), try_include("explication", _arrow3443, DataContext__get_Explication(dc)), try_include("unit", _arrow3444, DataContext__get_Unit(dc)), try_include("objectType", _arrow3445, DataContext__get_ObjectType(dc)), try_include("description", _arrow3447, DataContext__get_Description(dc)), try_include("generatedBy", _arrow3449, DataContext__get_GeneratedBy(dc)), try_include("label", _arrow3451, DataContext__get_Label(dc))]))
56
+ class ObjectExpr3452(IEncodable):
57
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any], dc: Any=dc) -> Any:
58
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
59
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_3))
60
+
61
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
62
+ return helpers_3.encode_object(arg)
63
+
64
+ return ObjectExpr3452()
65
+
66
+
67
+ def _arrow3463(get: IGetters) -> DataContext:
68
+ data: Data
69
+ object_arg: IRequiredGetter = get.Required
70
+ data = object_arg.Field("data", decoder_1)
71
+ def _arrow3453(__unit: None=None) -> OntologyAnnotation | None:
72
+ object_arg_1: IOptionalGetter = get.Optional
73
+ return object_arg_1.Field("explication", OntologyAnnotation_decoder)
74
+
75
+ def _arrow3454(__unit: None=None) -> OntologyAnnotation | None:
76
+ object_arg_2: IOptionalGetter = get.Optional
77
+ return object_arg_2.Field("unit", OntologyAnnotation_decoder)
78
+
79
+ def _arrow3455(__unit: None=None) -> OntologyAnnotation | None:
80
+ object_arg_3: IOptionalGetter = get.Optional
81
+ return object_arg_3.Field("objectType", OntologyAnnotation_decoder)
82
+
83
+ def _arrow3456(__unit: None=None) -> str | None:
84
+ object_arg_4: IOptionalGetter = get.Optional
85
+ return object_arg_4.Field("label", string)
86
+
87
+ def _arrow3461(__unit: None=None) -> str | None:
88
+ object_arg_5: IOptionalGetter = get.Optional
89
+ return object_arg_5.Field("description", string)
90
+
91
+ def _arrow3462(__unit: None=None) -> str | None:
92
+ object_arg_6: IOptionalGetter = get.Optional
93
+ return object_arg_6.Field("generatedBy", string)
94
+
95
+ return DataContext__ctor_Z780A8A2A(data.ID, data.Name, data.DataType, data.Format, data.SelectorFormat, _arrow3453(), _arrow3454(), _arrow3455(), _arrow3456(), _arrow3461(), _arrow3462(), data.Comments)
96
+
97
+
98
+ decoder: Decoder_1[DataContext] = object(_arrow3463)
99
+
100
+ __all__ = ["encoder", "decoder"]
101
+
@@ -0,0 +1,53 @@
1
+ from __future__ import annotations
2
+ from typing import (Any, TypeVar)
3
+ from ...fable_modules.fable_library.seq import map
4
+ from ...fable_modules.fable_library.types import Array
5
+ from ...fable_modules.fable_library.util import (to_enumerable, IEnumerable_1)
6
+ from ...fable_modules.thoth_json_core.decode import (object, resize_array, IRequiredGetter, IGetters)
7
+ from ...fable_modules.thoth_json_core.encode import seq
8
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
9
+ from ...Core.data_context import DataContext
10
+ from ...Core.datamap import Datamap
11
+ from ...Core.ontology_annotation import OntologyAnnotation
12
+ from ...Core.Table.composite_cell import CompositeCell
13
+ from .data_context import (encoder as encoder_1, decoder as decoder_1)
14
+
15
+ __A_ = TypeVar("__A_")
16
+
17
+ def encoder(dm: Datamap) -> IEncodable:
18
+ def mapping(dc: DataContext, dm: Any=dm) -> IEncodable:
19
+ return encoder_1(dc)
20
+
21
+ values_1: IEnumerable_1[tuple[str, IEncodable]] = to_enumerable([("dataContexts", seq(map(mapping, dm.DataContexts)))])
22
+ class ObjectExpr3503(IEncodable):
23
+ def Encode(self, helpers: IEncoderHelpers_1[Any], dm: Any=dm) -> Any:
24
+ def mapping_1(tupled_arg: tuple[str, IEncodable]) -> tuple[str, __A_]:
25
+ return (tupled_arg[0], tupled_arg[1].Encode(helpers))
26
+
27
+ arg: IEnumerable_1[tuple[str, __A_]] = map(mapping_1, values_1)
28
+ return helpers.encode_object(arg)
29
+
30
+ return ObjectExpr3503()
31
+
32
+
33
+ def _arrow3507(get: IGetters) -> Datamap:
34
+ def _arrow3506(__unit: None=None) -> Array[DataContext]:
35
+ arg_1: Decoder_1[Array[DataContext]] = resize_array(decoder_1)
36
+ object_arg: IRequiredGetter = get.Required
37
+ return object_arg.Field("dataContexts", arg_1)
38
+
39
+ return Datamap(_arrow3506())
40
+
41
+
42
+ decoder: Decoder_1[Datamap] = object(_arrow3507)
43
+
44
+ def encoder_compressed(string_table: Any, oa_table: Any, cell_table: Any, dm: Datamap) -> IEncodable:
45
+ return encoder(dm)
46
+
47
+
48
+ def decoder_compressed(string_table: Array[str], oa_table: Array[OntologyAnnotation], cell_table: Array[CompositeCell]) -> Decoder_1[Datamap]:
49
+ return decoder
50
+
51
+
52
+ __all__ = ["encoder", "decoder", "encoder_compressed", "decoder_compressed"]
53
+
File without changes
@@ -0,0 +1,46 @@
1
+ from __future__ import annotations
2
+ from typing import (Any, TypeVar)
3
+ from ...fable_modules.fable_library.list import (FSharpList, choose, of_array)
4
+ from ...fable_modules.fable_library.option import map
5
+ from ...fable_modules.fable_library.seq import map as map_1
6
+ from ...fable_modules.fable_library.util import IEnumerable_1
7
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1)
8
+ from ...Core.Process.material import Material
9
+ from ...Core.Process.process import Process
10
+ from ...Core.Process.process_sequence import (get_samples, get_materials)
11
+ from ...Core.Process.sample import Sample
12
+ from ..encode import try_include_list
13
+ from .material import ISAJson_encoder as ISAJson_encoder_1
14
+ from .sample import ISAJson_encoder
15
+
16
+ __A_ = TypeVar("__A_")
17
+
18
+ def encoder(id_map: Any | None, ps: FSharpList[Process]) -> IEncodable:
19
+ samples: FSharpList[Sample] = get_samples(ps)
20
+ materials: FSharpList[Material] = get_materials(ps)
21
+ def chooser(tupled_arg: tuple[str, IEncodable | None], id_map: Any=id_map, ps: Any=ps) -> tuple[str, IEncodable] | None:
22
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
23
+ return (tupled_arg[0], v_1)
24
+
25
+ return map(mapping, tupled_arg[1])
26
+
27
+ def _arrow3344(oa: Sample, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
28
+ return ISAJson_encoder(id_map, oa)
29
+
30
+ def _arrow3345(c: Material, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
31
+ return ISAJson_encoder_1(id_map, c)
32
+
33
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include_list("samples", _arrow3344, samples), try_include_list("otherMaterials", _arrow3345, materials)]))
34
+ class ObjectExpr3346(IEncodable):
35
+ def Encode(self, helpers: IEncoderHelpers_1[Any], id_map: Any=id_map, ps: Any=ps) -> Any:
36
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
37
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers))
38
+
39
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
40
+ return helpers.encode_object(arg)
41
+
42
+ return ObjectExpr3346()
43
+
44
+
45
+ __all__ = ["encoder"]
46
+
@@ -0,0 +1,125 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ...fable_modules.fable_library.list import (choose, of_array, FSharpList)
5
+ from ...fable_modules.fable_library.option import map
6
+ from ...fable_modules.fable_library.seq import map as map_1
7
+ from ...fable_modules.fable_library.util import IEnumerable_1
8
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IGetters)
9
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
10
+ from ...Core.ontology_annotation import OntologyAnnotation
11
+ from ...Core.Process.component import (Component, Component_createAsPV, Component__get_ComponentName, Component_decomposeName_Z721C83C5)
12
+ from ...Core.value import Value
13
+ from ..decode import Decode_uri
14
+ from ..encode import try_include
15
+ from ..ontology_annotation import (OntologyAnnotation_encoder, OntologyAnnotation_decoder, OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
16
+ from ..property_value import (encoder as encoder_2, decoder as decoder_2, gen_id)
17
+ from .value import (encoder as encoder_1, decoder as decoder_1)
18
+
19
+ __A_ = TypeVar("__A_")
20
+
21
+ def encoder(value: Component) -> IEncodable:
22
+ def chooser(tupled_arg: tuple[str, IEncodable | None], value: Any=value) -> tuple[str, IEncodable] | None:
23
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
24
+ return (tupled_arg[0], v_1)
25
+
26
+ return map(mapping, tupled_arg[1])
27
+
28
+ def _arrow3136(oa: OntologyAnnotation, value: Any=value) -> IEncodable:
29
+ return OntologyAnnotation_encoder(oa)
30
+
31
+ def _arrow3137(value_1: Value, value: Any=value) -> IEncodable:
32
+ return encoder_1(None, value_1)
33
+
34
+ def _arrow3138(oa_1: OntologyAnnotation, value: Any=value) -> IEncodable:
35
+ return OntologyAnnotation_encoder(oa_1)
36
+
37
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("type", _arrow3136, value.ComponentType), try_include("value", _arrow3137, value.ComponentValue), try_include("unit", _arrow3138, value.ComponentUnit)]))
38
+ class ObjectExpr3139(IEncodable):
39
+ def Encode(self, helpers: IEncoderHelpers_1[Any], value: Any=value) -> Any:
40
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
41
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers))
42
+
43
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
44
+ return helpers.encode_object(arg)
45
+
46
+ return ObjectExpr3139()
47
+
48
+
49
+ def _arrow3142(get: IGetters) -> Component:
50
+ ComponentType: OntologyAnnotation | None
51
+ object_arg: IOptionalGetter = get.Optional
52
+ ComponentType = object_arg.Field("type", OntologyAnnotation_decoder)
53
+ def _arrow3140(__unit: None=None) -> Value | None:
54
+ object_arg_1: IOptionalGetter = get.Optional
55
+ return object_arg_1.Field("value", decoder_1)
56
+
57
+ def _arrow3141(__unit: None=None) -> OntologyAnnotation | None:
58
+ object_arg_2: IOptionalGetter = get.Optional
59
+ return object_arg_2.Field("unit", OntologyAnnotation_decoder)
60
+
61
+ return Component(_arrow3140(), _arrow3141(), ComponentType)
62
+
63
+
64
+ decoder: Decoder_1[Component] = object(_arrow3142)
65
+
66
+ ROCrate_encoder: Callable[[Component], IEncodable] = encoder_2
67
+
68
+ ROCrate_decoder: Decoder_1[Component] = decoder_2(Component_createAsPV)
69
+
70
+ def ISAJson_genID(c: Component) -> str:
71
+ return gen_id(c)
72
+
73
+
74
+ def ISAJson_encoder(id_map: Any | None, c: Component) -> IEncodable:
75
+ def chooser(tupled_arg: tuple[str, IEncodable | None], id_map: Any=id_map, c: Any=c) -> tuple[str, IEncodable] | None:
76
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
77
+ return (tupled_arg[0], v_1)
78
+
79
+ return map(mapping, tupled_arg[1])
80
+
81
+ def _arrow3146(value: str, id_map: Any=id_map, c: Any=c) -> IEncodable:
82
+ class ObjectExpr3145(IEncodable):
83
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
84
+ return helpers.encode_string(value)
85
+
86
+ return ObjectExpr3145()
87
+
88
+ def _arrow3147(oa: OntologyAnnotation, id_map: Any=id_map, c: Any=c) -> IEncodable:
89
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa)
90
+
91
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("componentName", _arrow3146, Component__get_ComponentName(c)), try_include("componentType", _arrow3147, c.ComponentType)]))
92
+ class ObjectExpr3148(IEncodable):
93
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], id_map: Any=id_map, c: Any=c) -> Any:
94
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
95
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_1))
96
+
97
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
98
+ return helpers_1.encode_object(arg)
99
+
100
+ return ObjectExpr3148()
101
+
102
+
103
+ def _arrow3150(get: IGetters) -> Component:
104
+ name: str | None
105
+ object_arg: IOptionalGetter = get.Optional
106
+ name = object_arg.Field("componentName", Decode_uri)
107
+ pattern_input_1: tuple[Value | None, OntologyAnnotation | None]
108
+ if name is None:
109
+ pattern_input_1 = (None, None)
110
+
111
+ else:
112
+ pattern_input: tuple[Value, OntologyAnnotation | None] = Component_decomposeName_Z721C83C5(name)
113
+ pattern_input_1 = (pattern_input[0], pattern_input[1])
114
+
115
+ def _arrow3149(__unit: None=None) -> OntologyAnnotation | None:
116
+ object_arg_1: IOptionalGetter = get.Optional
117
+ return object_arg_1.Field("componentType", OntologyAnnotation_ISAJson_decoder)
118
+
119
+ return Component(pattern_input_1[0], pattern_input_1[1], _arrow3149())
120
+
121
+
122
+ ISAJson_decoder: Decoder_1[Component] = object(_arrow3150)
123
+
124
+ __all__ = ["encoder", "decoder", "ROCrate_encoder", "ROCrate_decoder", "ISAJson_genID", "ISAJson_encoder", "ISAJson_decoder"]
125
+