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,231 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.date import now
4
+ from ..fable_modules.fable_library.guid import new_guid
5
+ from ..fable_modules.fable_library.option import default_arg
6
+ from ..fable_modules.fable_library.reflection import (TypeInfo, string_type, union_type, class_type)
7
+ from ..fable_modules.fable_library.types import (Array, Union)
8
+ from ..fable_modules.fable_library.util import (equals, safe_hash)
9
+ from .Helper.collections_ import ResizeArray_map
10
+ from .Helper.hash_codes import (box_hash_array, box_hash_seq, hash_date_time)
11
+ from .Helper.sem_ver import (SemVer_tryOfString_Z721C83C5, SemVer)
12
+ from .ontology_annotation import OntologyAnnotation
13
+ from .person import Person
14
+ from .Table.arc_table import ArcTable
15
+
16
+ def _expr1301() -> TypeInfo:
17
+ return union_type("ARCtrl.Organisation", [], Organisation, lambda: [[], [("Item", string_type)]])
18
+
19
+
20
+ class Organisation(Union):
21
+ def __init__(self, tag: int, *fields: Any) -> None:
22
+ super().__init__()
23
+ self.tag: int = tag or 0
24
+ self.fields: Array[Any] = list(fields)
25
+
26
+ @staticmethod
27
+ def cases() -> list[str]:
28
+ return ["DataPLANT", "Other"]
29
+
30
+ @staticmethod
31
+ def of_string(str_1: str) -> Organisation:
32
+ return Organisation(0) if (str_1.lower() == "dataplant") else Organisation(1, str_1)
33
+
34
+ def __str__(self, __unit: None=None) -> str:
35
+ this: Organisation = self
36
+ return this.fields[0] if (this.tag == 1) else "DataPLANT"
37
+
38
+ def IsOfficial(self, __unit: None=None) -> bool:
39
+ this: Organisation = self
40
+ return equals(this, Organisation(0))
41
+
42
+
43
+ Organisation_reflection = _expr1301
44
+
45
+ def _expr1303() -> TypeInfo:
46
+ return class_type("ARCtrl.Template", None, Template)
47
+
48
+
49
+ class Template:
50
+ def __init__(self, id: str, table: ArcTable, name: str | None=None, description: str | None=None, organisation: Organisation | None=None, version: str | None=None, authors: Array[Person] | None=None, repos: Array[OntologyAnnotation] | None=None, tags: Array[OntologyAnnotation] | None=None, last_updated: Any | None=None) -> None:
51
+ name_1: str = default_arg(name, "")
52
+ description_1: str = default_arg(description, "")
53
+ organisation_1: Organisation = default_arg(organisation, Organisation(1, "Custom Organisation"))
54
+ version_1: str = default_arg(version, "0.0.0")
55
+ authors_1: Array[Person] = default_arg(authors, [])
56
+ repos_1: Array[OntologyAnnotation] = default_arg(repos, [])
57
+ tags_1: Array[OntologyAnnotation] = default_arg(tags, [])
58
+ last_updated_1: Any = default_arg(last_updated, now())
59
+ self._Id: str = id
60
+ self._Table: ArcTable = table
61
+ self._Name: str = name_1
62
+ self._Description: str = description_1
63
+ self._Organisation: Organisation = organisation_1
64
+ self._Version: str = version_1
65
+ self._Authors: Array[Person] = authors_1
66
+ self._EndpointRepositories: Array[OntologyAnnotation] = repos_1
67
+ self._Tags: Array[OntologyAnnotation] = tags_1
68
+ self._LastUpdated: Any = last_updated_1
69
+
70
+ @property
71
+ def Id(self, __unit: None=None) -> str:
72
+ __: Template = self
73
+ return __._Id
74
+
75
+ @Id.setter
76
+ def Id(self, v: str) -> None:
77
+ __: Template = self
78
+ __._Id = v
79
+
80
+ @property
81
+ def Table(self, __unit: None=None) -> ArcTable:
82
+ __: Template = self
83
+ return __._Table
84
+
85
+ @Table.setter
86
+ def Table(self, v: ArcTable) -> None:
87
+ __: Template = self
88
+ __._Table = v
89
+
90
+ @property
91
+ def Name(self, __unit: None=None) -> str:
92
+ __: Template = self
93
+ return __._Name
94
+
95
+ @Name.setter
96
+ def Name(self, v: str) -> None:
97
+ __: Template = self
98
+ __._Name = v
99
+
100
+ @property
101
+ def Description(self, __unit: None=None) -> str:
102
+ __: Template = self
103
+ return __._Description
104
+
105
+ @Description.setter
106
+ def Description(self, v: str) -> None:
107
+ __: Template = self
108
+ __._Description = v
109
+
110
+ @property
111
+ def Organisation(self, __unit: None=None) -> Organisation:
112
+ __: Template = self
113
+ return __._Organisation
114
+
115
+ @Organisation.setter
116
+ def Organisation(self, v: Organisation) -> None:
117
+ __: Template = self
118
+ __._Organisation = v
119
+
120
+ @property
121
+ def Version(self, __unit: None=None) -> str:
122
+ __: Template = self
123
+ return __._Version
124
+
125
+ @Version.setter
126
+ def Version(self, v: str) -> None:
127
+ __: Template = self
128
+ __._Version = v
129
+
130
+ @property
131
+ def Authors(self, __unit: None=None) -> Array[Person]:
132
+ __: Template = self
133
+ return __._Authors
134
+
135
+ @Authors.setter
136
+ def Authors(self, v: Array[Person]) -> None:
137
+ __: Template = self
138
+ __._Authors = v
139
+
140
+ @property
141
+ def EndpointRepositories(self, __unit: None=None) -> Array[OntologyAnnotation]:
142
+ __: Template = self
143
+ return __._EndpointRepositories
144
+
145
+ @EndpointRepositories.setter
146
+ def EndpointRepositories(self, v: Array[OntologyAnnotation]) -> None:
147
+ __: Template = self
148
+ __._EndpointRepositories = v
149
+
150
+ @property
151
+ def Tags(self, __unit: None=None) -> Array[OntologyAnnotation]:
152
+ __: Template = self
153
+ return __._Tags
154
+
155
+ @Tags.setter
156
+ def Tags(self, v: Array[OntologyAnnotation]) -> None:
157
+ __: Template = self
158
+ __._Tags = v
159
+
160
+ @property
161
+ def LastUpdated(self, __unit: None=None) -> Any:
162
+ __: Template = self
163
+ return __._LastUpdated
164
+
165
+ @LastUpdated.setter
166
+ def LastUpdated(self, v: Any) -> None:
167
+ __: Template = self
168
+ __._LastUpdated = v
169
+
170
+ @staticmethod
171
+ def make(id: str, table: ArcTable, name: str, description: str, organisation: Organisation, version: str, authors: Array[Person], repos: Array[OntologyAnnotation], tags: Array[OntologyAnnotation], last_updated: Any) -> Template:
172
+ return Template(id, table, name, description, organisation, version, authors, repos, tags, last_updated)
173
+
174
+ @staticmethod
175
+ def create(id: str, table: ArcTable, name: str | None=None, description: str | None=None, organisation: Organisation | None=None, version: str | None=None, authors: Array[Person] | None=None, repos: Array[OntologyAnnotation] | None=None, tags: Array[OntologyAnnotation] | None=None, last_updated: Any | None=None) -> Template:
176
+ return Template(id, table, name, description, organisation, version, authors, repos, tags, last_updated)
177
+
178
+ @staticmethod
179
+ def init(template_name: str) -> Template:
180
+ return Template(new_guid(), ArcTable.init(template_name), template_name)
181
+
182
+ @property
183
+ def SemVer(self, __unit: None=None) -> SemVer | None:
184
+ this: Template = self
185
+ return SemVer_tryOfString_Z721C83C5(this.Version)
186
+
187
+ def ReferenceEquals(self, other: Template) -> bool:
188
+ this: Template = self
189
+ return this is other
190
+
191
+ def StructurallyEquals(self, other: Template) -> bool:
192
+ this: Template = self
193
+ return safe_hash(this) == safe_hash(other)
194
+
195
+ def Copy(self, __unit: None=None) -> Template:
196
+ this: Template = self
197
+ def f(c: Person) -> Person:
198
+ return c.Copy()
199
+
200
+ next_authors: Array[Person] = ResizeArray_map(f, this.Authors)
201
+ def f_1(c_1: OntologyAnnotation) -> OntologyAnnotation:
202
+ return c_1.Copy()
203
+
204
+ next_repos: Array[OntologyAnnotation] = ResizeArray_map(f_1, this.EndpointRepositories)
205
+ def f_2(c_2: OntologyAnnotation) -> OntologyAnnotation:
206
+ return c_2.Copy()
207
+
208
+ next_tags: Array[OntologyAnnotation] = ResizeArray_map(f_2, this.Tags)
209
+ return Template.create(this.Id, this.Table.Copy(), this.Name, this.Description, this.Organisation, this.Version, next_authors, next_repos, next_tags, this.LastUpdated)
210
+
211
+ def __eq__(self, other: Any=None) -> bool:
212
+ this: Template = self
213
+ return this.StructurallyEquals(other) if isinstance(other, Template) else False
214
+
215
+ def __hash__(self, __unit: None=None) -> Any:
216
+ this: Template = self
217
+ def _arrow1302(__unit: None=None) -> str:
218
+ copy_of_struct: str = this.Id
219
+ return str(copy_of_struct)
220
+
221
+ return box_hash_array([_arrow1302(), safe_hash(this.Table), this.Name, safe_hash(this.Organisation), this.Version, box_hash_seq(this.Authors), box_hash_seq(this.EndpointRepositories), box_hash_seq(this.Tags), hash_date_time(this.LastUpdated)])
222
+
223
+
224
+ Template_reflection = _expr1303
225
+
226
+ def Template__ctor_Z17EA765C(id: str, table: ArcTable, name: str | None=None, description: str | None=None, organisation: Organisation | None=None, version: str | None=None, authors: Array[Person] | None=None, repos: Array[OntologyAnnotation] | None=None, tags: Array[OntologyAnnotation] | None=None, last_updated: Any | None=None) -> Template:
227
+ return Template(id, table, name, description, organisation, version, authors, repos, tags, last_updated)
228
+
229
+
230
+ __all__ = ["Organisation_reflection", "Template_reflection"]
231
+
@@ -0,0 +1,148 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from ..fable_modules.fable_library.array_ import add_range_in_place
5
+ from ..fable_modules.fable_library.option import default_arg
6
+ from ..fable_modules.fable_library.reflection import (TypeInfo, class_type)
7
+ from ..fable_modules.fable_library.seq import contains as contains_1
8
+ from ..fable_modules.fable_library.seq2 import Array_distinct
9
+ from ..fable_modules.fable_library.types import Array
10
+ from ..fable_modules.fable_library.util import (get_enumerator, dispose, equals, safe_hash, uncurry2)
11
+ from .Helper.collections_ import (ResizeArray_filter, ResizeArray_distinct, ResizeArray_collect, ResizeArray_append)
12
+ from .ontology_annotation import OntologyAnnotation
13
+ from .template import Template
14
+
15
+ def TemplatesAux_getComparer(match_all: bool | None=None) -> Callable[[bool, bool], bool]:
16
+ if default_arg(match_all, False):
17
+ def _arrow1305(e: bool, match_all: Any=match_all) -> Callable[[bool], bool]:
18
+ def _arrow1304(e_1: bool) -> bool:
19
+ return e and e_1
20
+
21
+ return _arrow1304
22
+
23
+ return _arrow1305
24
+
25
+ else:
26
+ def _arrow1307(e_2: bool, match_all: Any=match_all) -> Callable[[bool], bool]:
27
+ def _arrow1306(e_3: bool) -> bool:
28
+ return e_2 or e_3
29
+
30
+ return _arrow1306
31
+
32
+ return _arrow1307
33
+
34
+
35
+
36
+ def TemplatesAux_filterOnTags(tag_getter: Callable[[Template], Array[OntologyAnnotation]], query_tags: Array[OntologyAnnotation], comparer: Callable[[bool, bool], bool], templates: Array[Template]) -> Array[Template]:
37
+ def f(t: Template, tag_getter: Any=tag_getter, query_tags: Any=query_tags, comparer: Any=comparer, templates: Any=templates) -> bool:
38
+ template_tags: Array[OntologyAnnotation] = tag_getter(t)
39
+ is_valid: bool | None = None
40
+ enumerator: Any = get_enumerator(query_tags)
41
+ try:
42
+ while enumerator.System_Collections_IEnumerator_MoveNext():
43
+ class ObjectExpr1308:
44
+ @property
45
+ def Equals(self) -> Callable[[OntologyAnnotation, OntologyAnnotation], bool]:
46
+ return equals
47
+
48
+ @property
49
+ def GetHashCode(self) -> Callable[[OntologyAnnotation], int]:
50
+ return safe_hash
51
+
52
+ contains: bool = contains_1(enumerator.System_Collections_Generic_IEnumerator_1_get_Current(), template_tags, ObjectExpr1308())
53
+ is_valid_1: bool | None = is_valid
54
+ if is_valid_1 is not None:
55
+ maybe: bool = is_valid_1
56
+ is_valid = comparer(maybe, contains)
57
+
58
+ else:
59
+ is_valid = contains
60
+
61
+
62
+ finally:
63
+ dispose(enumerator)
64
+
65
+ return default_arg(is_valid, False)
66
+
67
+ return ResizeArray_filter(f, templates)
68
+
69
+
70
+ def _expr1316() -> TypeInfo:
71
+ return class_type("ARCtrl.Templates", None, Templates)
72
+
73
+
74
+ class Templates:
75
+ @staticmethod
76
+ def get_distinct_tags(templates: Array[Template]) -> Array[OntologyAnnotation]:
77
+ def f(t: Template) -> Array[OntologyAnnotation]:
78
+ return t.Tags
79
+
80
+ return ResizeArray_distinct(ResizeArray_collect(f, templates))
81
+
82
+ @staticmethod
83
+ def get_distinct_endpoint_repositories(templates: Array[Template]) -> Array[OntologyAnnotation]:
84
+ def f(t: Template) -> Array[OntologyAnnotation]:
85
+ return t.EndpointRepositories
86
+
87
+ return ResizeArray_distinct(ResizeArray_collect(f, templates))
88
+
89
+ @staticmethod
90
+ def get_distinct_ontology_annotations(templates: Array[Template]) -> Array[OntologyAnnotation]:
91
+ oas: Array[OntologyAnnotation] = []
92
+ for idx in range(0, (len(templates) - 1) + 1, 1):
93
+ t: Template = templates[idx]
94
+ add_range_in_place(t.Tags, oas)
95
+ add_range_in_place(t.EndpointRepositories, oas)
96
+ class ObjectExpr1309:
97
+ @property
98
+ def Equals(self) -> Callable[[OntologyAnnotation, OntologyAnnotation], bool]:
99
+ return equals
100
+
101
+ @property
102
+ def GetHashCode(self) -> Callable[[OntologyAnnotation], int]:
103
+ return safe_hash
104
+
105
+ return Array_distinct(list(oas), ObjectExpr1309())
106
+
107
+ @staticmethod
108
+ def filter_by_tags(query_tags: Array[OntologyAnnotation], match_all: bool | None=None) -> Callable[[Array[Template]], Array[Template]]:
109
+ def _arrow1311(templates: Array[Template]) -> Array[Template]:
110
+ def _arrow1310(t: Template) -> Array[OntologyAnnotation]:
111
+ return t.Tags
112
+
113
+ return TemplatesAux_filterOnTags(_arrow1310, query_tags, uncurry2(TemplatesAux_getComparer(match_all)), templates)
114
+
115
+ return _arrow1311
116
+
117
+ @staticmethod
118
+ def filter_by_endpoint_repositories(query_tags: Array[OntologyAnnotation], match_all: bool | None=None) -> Callable[[Array[Template]], Array[Template]]:
119
+ def _arrow1313(templates: Array[Template]) -> Array[Template]:
120
+ def _arrow1312(t: Template) -> Array[OntologyAnnotation]:
121
+ return t.EndpointRepositories
122
+
123
+ return TemplatesAux_filterOnTags(_arrow1312, query_tags, uncurry2(TemplatesAux_getComparer(match_all)), templates)
124
+
125
+ return _arrow1313
126
+
127
+ @staticmethod
128
+ def filter_by_ontology_annotation(query_tags: Array[OntologyAnnotation], match_all: bool | None=None) -> Callable[[Array[Template]], Array[Template]]:
129
+ def _arrow1315(templates: Array[Template]) -> Array[Template]:
130
+ def _arrow1314(t: Template) -> Array[OntologyAnnotation]:
131
+ return ResizeArray_append(t.Tags, t.EndpointRepositories)
132
+
133
+ return TemplatesAux_filterOnTags(_arrow1314, query_tags, uncurry2(TemplatesAux_getComparer(match_all)), templates)
134
+
135
+ return _arrow1315
136
+
137
+ @staticmethod
138
+ def filter_by_data_plant(templates: Array[Template]) -> Array[Template]:
139
+ def f(t: Template) -> bool:
140
+ return t.Organisation.IsOfficial()
141
+
142
+ return ResizeArray_filter(f, templates)
143
+
144
+
145
+ Templates_reflection = _expr1316
146
+
147
+ __all__ = ["TemplatesAux_getComparer", "TemplatesAux_filterOnTags", "Templates_reflection"]
148
+
arctrl/py/Core/uri.py ADDED
@@ -0,0 +1,11 @@
1
+
2
+ def URIModule_fromString(s: str) -> str:
3
+ return s
4
+
5
+
6
+ def URIModule_toString(s: str) -> str:
7
+ return s
8
+
9
+
10
+ __all__ = ["URIModule_fromString", "URIModule_toString"]
11
+
@@ -0,0 +1,188 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.double import try_parse as try_parse_1
4
+ from ..fable_modules.fable_library.int32 import try_parse
5
+ from ..fable_modules.fable_library.option import default_arg
6
+ from ..fable_modules.fable_library.reflection import (TypeInfo, int32_type, float64_type, string_type, union_type)
7
+ from ..fable_modules.fable_library.string_ import (to_text, printf)
8
+ from ..fable_modules.fable_library.types import (FSharpRef, to_string, Array, Union)
9
+ from ..fable_modules.fable_library.util import int32_to_string
10
+ from .ontology_annotation import (OntologyAnnotation, OntologyAnnotation_reflection)
11
+
12
+ def _expr983() -> TypeInfo:
13
+ return union_type("ARCtrl.Value", [], Value, lambda: [[("Item", OntologyAnnotation_reflection())], [("Item", int32_type)], [("Item", float64_type)], [("Item", string_type)]])
14
+
15
+
16
+ class Value(Union):
17
+ def __init__(self, tag: int, *fields: Any) -> None:
18
+ super().__init__()
19
+ self.tag: int = tag or 0
20
+ self.fields: Array[Any] = list(fields)
21
+
22
+ @staticmethod
23
+ def cases() -> list[str]:
24
+ return ["Ontology", "Int", "Float", "Name"]
25
+
26
+ @staticmethod
27
+ def from_string(value: str) -> Value:
28
+ match_value: tuple[bool, int]
29
+ out_arg: int = 0
30
+ def _arrow978(__unit: None=None) -> int:
31
+ return out_arg
32
+
33
+ def _arrow979(v: int) -> None:
34
+ nonlocal out_arg
35
+ out_arg = v or 0
36
+
37
+ match_value = (try_parse(value, 511, False, 32, FSharpRef(_arrow978, _arrow979)), out_arg)
38
+ if match_value[0]:
39
+ return Value(1, match_value[1])
40
+
41
+ else:
42
+ match_value_1: tuple[bool, float]
43
+ out_arg_1: float = 0.0
44
+ def _arrow980(__unit: None=None) -> float:
45
+ return out_arg_1
46
+
47
+ def _arrow981(v_2: float) -> None:
48
+ nonlocal out_arg_1
49
+ out_arg_1 = v_2
50
+
51
+ match_value_1 = (try_parse_1(value, FSharpRef(_arrow980, _arrow981)), out_arg_1)
52
+ return Value(2, match_value_1[1]) if match_value_1[0] else Value(3, value)
53
+
54
+
55
+ @staticmethod
56
+ def from_options(value: str | None=None, term_source: str | None=None, term_accesssion: str | None=None) -> Value | None:
57
+ def _arrow982(__unit: None=None) -> Value | None:
58
+ value_1: str = value
59
+ return Value.from_string(value_1)
60
+
61
+ return ((None if (term_accesssion is None) else Value(0, OntologyAnnotation.create(default_arg(value, ""), term_source, term_accesssion))) if (term_source is None) else Value(0, OntologyAnnotation.create(default_arg(value, ""), term_source, term_accesssion))) if (value is None) else ((_arrow982() if (term_accesssion is None) else Value(0, OntologyAnnotation.create(default_arg(value, ""), term_source, term_accesssion))) if (term_source is None) else Value(0, OntologyAnnotation.create(default_arg(value, ""), term_source, term_accesssion)))
62
+
63
+ @staticmethod
64
+ def to_options(value: Value) -> tuple[str | None, str | None, str | None]:
65
+ if value.tag == 1:
66
+ return (int32_to_string(value.fields[0]), None, None)
67
+
68
+ elif value.tag == 2:
69
+ return (to_string(value.fields[0]), None, None)
70
+
71
+ elif value.tag == 3:
72
+ return (value.fields[0], None, None)
73
+
74
+ else:
75
+ oa: OntologyAnnotation = value.fields[0]
76
+ return (oa.Name, oa.TermAccessionNumber, oa.TermSourceREF)
77
+
78
+
79
+ @property
80
+ def Text(self, __unit: None=None) -> str:
81
+ this: Value = self
82
+ if this.tag == 2:
83
+ return to_string(this.fields[0])
84
+
85
+ elif this.tag == 1:
86
+ return int32_to_string(this.fields[0])
87
+
88
+ elif this.tag == 3:
89
+ return this.fields[0]
90
+
91
+ else:
92
+ return this.fields[0].NameText
93
+
94
+
95
+ def AsName(self, __unit: None=None) -> str:
96
+ this: Value = self
97
+ if this.tag == 3:
98
+ return this.fields[0]
99
+
100
+ else:
101
+ raise Exception(("Value " + str(this)) + " is not of case name")
102
+
103
+
104
+ def AsInt(self, __unit: None=None) -> int:
105
+ this: Value = self
106
+ if this.tag == 1:
107
+ return this.fields[0]
108
+
109
+ else:
110
+ raise Exception(("Value " + str(this)) + " is not of case int")
111
+
112
+
113
+ def AsFloat(self, __unit: None=None) -> float:
114
+ this: Value = self
115
+ if this.tag == 2:
116
+ return this.fields[0]
117
+
118
+ else:
119
+ raise Exception(("Value " + str(this)) + " is not of case float")
120
+
121
+
122
+ def AsOntology(self, __unit: None=None) -> OntologyAnnotation:
123
+ this: Value = self
124
+ if this.tag == 0:
125
+ return this.fields[0]
126
+
127
+ else:
128
+ raise Exception(("Value " + str(this)) + " is not of case ontology")
129
+
130
+
131
+ @property
132
+ def IsAnOntology(self, __unit: None=None) -> bool:
133
+ this: Value = self
134
+ return True if (this.tag == 0) else False
135
+
136
+ @property
137
+ def IsNumerical(self, __unit: None=None) -> bool:
138
+ this: Value = self
139
+ if (this.tag == 1) or (this.tag == 2):
140
+ return True
141
+
142
+ else:
143
+ return False
144
+
145
+
146
+ @property
147
+ def IsAnInt(self, __unit: None=None) -> bool:
148
+ this: Value = self
149
+ return True if (this.tag == 1) else False
150
+
151
+ @property
152
+ def IsAFloat(self, __unit: None=None) -> bool:
153
+ this: Value = self
154
+ return True if (this.tag == 2) else False
155
+
156
+ @property
157
+ def IsAText(self, __unit: None=None) -> bool:
158
+ this: Value = self
159
+ return True if (this.tag == 3) else False
160
+
161
+ @staticmethod
162
+ def get_text(v: Value) -> str:
163
+ return v.Text
164
+
165
+ def Print(self, __unit: None=None) -> str:
166
+ this: Value = self
167
+ return to_string(this)
168
+
169
+ def PrintCompact(self, __unit: None=None) -> str:
170
+ this: Value = self
171
+ if this.tag == 1:
172
+ return to_text(printf("%i"))(this.fields[0])
173
+
174
+ elif this.tag == 2:
175
+ return to_text(printf("%f"))(this.fields[0])
176
+
177
+ elif this.tag == 3:
178
+ return this.fields[0]
179
+
180
+ else:
181
+ return this.fields[0].NameText
182
+
183
+
184
+
185
+ Value_reflection = _expr983
186
+
187
+ __all__ = ["Value_reflection"]
188
+
File without changes
@@ -0,0 +1,21 @@
1
+ from dataclasses import dataclass
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.reflection import (TypeInfo, string_type, class_type, record_type)
4
+ from ..fable_modules.fable_library.types import Record
5
+
6
+ def _expr669() -> TypeInfo:
7
+ return record_type("ARCtrl.FileSystem.Commit", [], Commit, lambda: [("Hash", string_type), ("UserName", string_type), ("UserEmail", string_type), ("Date", class_type("System.DateTime")), ("Message", string_type)])
8
+
9
+
10
+ @dataclass(eq = False, repr = False, slots = True)
11
+ class Commit(Record):
12
+ Hash: str
13
+ UserName: str
14
+ UserEmail: str
15
+ Date: Any
16
+ Message: str
17
+
18
+ Commit_reflection = _expr669
19
+
20
+ __all__ = ["Commit_reflection"]
21
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,58 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass
4
+ from ..fable_modules.fable_library.array_ import (append, map)
5
+ from ..fable_modules.fable_library.option import default_arg
6
+ from ..fable_modules.fable_library.reflection import (TypeInfo, array_type, record_type)
7
+ from ..fable_modules.fable_library.types import (Array, Record)
8
+ from .commit import (Commit, Commit_reflection)
9
+ from .file_system_tree import (FileSystemTree, FileSystemTree_reflection)
10
+
11
+ def _expr694() -> TypeInfo:
12
+ return record_type("ARCtrl.FileSystem.FileSystem", [], FileSystem, lambda: [("Tree", FileSystemTree_reflection()), ("History", array_type(Commit_reflection()))])
13
+
14
+
15
+ @dataclass(eq = False, repr = False, slots = True)
16
+ class FileSystem(Record):
17
+ Tree: FileSystemTree
18
+ History: Array[Commit]
19
+ @staticmethod
20
+ def create(tree: FileSystemTree, history: Array[Commit] | None=None) -> FileSystem:
21
+ return FileSystem(tree, default_arg(history, []))
22
+
23
+ def AddFile(self, path: str) -> FileSystem:
24
+ this: FileSystem = self
25
+ return FileSystem(this.Tree.AddFile(path), this.History)
26
+
27
+ @staticmethod
28
+ def add_file(path: str) -> Callable[[FileSystem], FileSystem]:
29
+ def _arrow693(fs: FileSystem) -> FileSystem:
30
+ return fs.AddFile(path)
31
+
32
+ return _arrow693
33
+
34
+ @staticmethod
35
+ def from_file_paths(paths: Array[str]) -> FileSystem:
36
+ tree: FileSystemTree = FileSystemTree.from_file_paths(paths)
37
+ return FileSystem.create(tree = tree)
38
+
39
+ def Union(self, other: FileSystem) -> FileSystem:
40
+ this: FileSystem = self
41
+ tree: FileSystemTree = this.Tree.Union(other.Tree)
42
+ history: Array[Commit] = append(this.History, other.History, None)
43
+ return FileSystem.create(tree = tree, history = history)
44
+
45
+ def Copy(self, __unit: None=None) -> FileSystem:
46
+ this: FileSystem = self
47
+ fst_copy: FileSystemTree = this.Tree.Copy()
48
+ def mapping(x: Commit) -> Commit:
49
+ return x
50
+
51
+ history_copy: Array[Commit] = map(mapping, this.History, None)
52
+ return FileSystem.create(tree = fst_copy, history = history_copy)
53
+
54
+
55
+ FileSystem_reflection = _expr694
56
+
57
+ __all__ = ["FileSystem_reflection"]
58
+