arctrl 3.0.0a3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. arctrl/__init__.py +18 -0
  2. arctrl/py/CWL/__init__.py +0 -0
  3. arctrl/py/CWL/cwltypes.py +150 -0
  4. arctrl/py/CWL/decode.py +973 -0
  5. arctrl/py/CWL/encode.py +1 -0
  6. arctrl/py/CWL/inputs.py +88 -0
  7. arctrl/py/CWL/outputs.py +85 -0
  8. arctrl/py/CWL/requirements.py +77 -0
  9. arctrl/py/CWL/tool_description.py +103 -0
  10. arctrl/py/CWL/workflow_description.py +104 -0
  11. arctrl/py/CWL/workflow_steps.py +113 -0
  12. arctrl/py/Contract/__init__.py +0 -0
  13. arctrl/py/Contract/arc.py +60 -0
  14. arctrl/py/Contract/arc_assay.py +125 -0
  15. arctrl/py/Contract/arc_investigation.py +88 -0
  16. arctrl/py/Contract/arc_run.py +125 -0
  17. arctrl/py/Contract/arc_study.py +126 -0
  18. arctrl/py/Contract/arc_workflow.py +125 -0
  19. arctrl/py/Contract/contract.py +153 -0
  20. arctrl/py/Contract/datamap.py +372 -0
  21. arctrl/py/Contract/git.py +118 -0
  22. arctrl/py/Contract/validation_packages_config.py +107 -0
  23. arctrl/py/ContractIO/__init__.py +0 -0
  24. arctrl/py/ContractIO/contract_io.py +344 -0
  25. arctrl/py/ContractIO/file_system_helper.py +264 -0
  26. arctrl/py/Core/Helper/__init__.py +0 -0
  27. arctrl/py/Core/Helper/collections_.py +438 -0
  28. arctrl/py/Core/Helper/date_time.py +26 -0
  29. arctrl/py/Core/Helper/hash_codes.py +60 -0
  30. arctrl/py/Core/Helper/identifier.py +248 -0
  31. arctrl/py/Core/Helper/orcid.py +42 -0
  32. arctrl/py/Core/Helper/printer.py +13 -0
  33. arctrl/py/Core/Helper/regex.py +554 -0
  34. arctrl/py/Core/Helper/sem_ver.py +71 -0
  35. arctrl/py/Core/Helper/url.py +148 -0
  36. arctrl/py/Core/Process/__init__.py +0 -0
  37. arctrl/py/Core/Process/column_index.py +280 -0
  38. arctrl/py/Core/Process/component.py +200 -0
  39. arctrl/py/Core/Process/factor.py +151 -0
  40. arctrl/py/Core/Process/factor_value.py +182 -0
  41. arctrl/py/Core/Process/material.py +74 -0
  42. arctrl/py/Core/Process/material_attribute.py +95 -0
  43. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  44. arctrl/py/Core/Process/material_type.py +45 -0
  45. arctrl/py/Core/Process/process.py +477 -0
  46. arctrl/py/Core/Process/process_input.py +265 -0
  47. arctrl/py/Core/Process/process_output.py +235 -0
  48. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  49. arctrl/py/Core/Process/process_sequence.py +435 -0
  50. arctrl/py/Core/Process/protocol.py +175 -0
  51. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  52. arctrl/py/Core/Process/sample.py +82 -0
  53. arctrl/py/Core/Process/source.py +62 -0
  54. arctrl/py/Core/Table/__init__.py +0 -0
  55. arctrl/py/Core/Table/arc_table.py +1264 -0
  56. arctrl/py/Core/Table/arc_table_aux.py +575 -0
  57. arctrl/py/Core/Table/arc_tables.py +591 -0
  58. arctrl/py/Core/Table/composite_cell.py +319 -0
  59. arctrl/py/Core/Table/composite_column.py +73 -0
  60. arctrl/py/Core/Table/composite_header.py +739 -0
  61. arctrl/py/Core/__init__.py +0 -0
  62. arctrl/py/Core/arc_types.py +5064 -0
  63. arctrl/py/Core/comment.py +128 -0
  64. arctrl/py/Core/comment_list.py +127 -0
  65. arctrl/py/Core/conversion.py +1313 -0
  66. arctrl/py/Core/data.py +245 -0
  67. arctrl/py/Core/data_context.py +157 -0
  68. arctrl/py/Core/data_file.py +112 -0
  69. arctrl/py/Core/data_map.py +225 -0
  70. arctrl/py/Core/identifier_setters.py +31 -0
  71. arctrl/py/Core/iproperty_value.py +36 -0
  72. arctrl/py/Core/ontology_annotation.py +299 -0
  73. arctrl/py/Core/ontology_source_reference.py +114 -0
  74. arctrl/py/Core/person.py +259 -0
  75. arctrl/py/Core/publication.py +161 -0
  76. arctrl/py/Core/template.py +231 -0
  77. arctrl/py/Core/templates.py +148 -0
  78. arctrl/py/Core/uri.py +11 -0
  79. arctrl/py/Core/value.py +188 -0
  80. arctrl/py/FileSystem/__init__.py +0 -0
  81. arctrl/py/FileSystem/commit.py +21 -0
  82. arctrl/py/FileSystem/default_gitattributes.py +5 -0
  83. arctrl/py/FileSystem/default_gitignore.py +5 -0
  84. arctrl/py/FileSystem/file_system.py +58 -0
  85. arctrl/py/FileSystem/file_system_tree.py +426 -0
  86. arctrl/py/FileSystem/path.py +64 -0
  87. arctrl/py/Json/DataMap/__init__.py +0 -0
  88. arctrl/py/Json/DataMap/data_context.py +101 -0
  89. arctrl/py/Json/DataMap/data_map.py +53 -0
  90. arctrl/py/Json/Process/__init__.py +0 -0
  91. arctrl/py/Json/Process/assay_materials.py +46 -0
  92. arctrl/py/Json/Process/component.py +79 -0
  93. arctrl/py/Json/Process/factor.py +107 -0
  94. arctrl/py/Json/Process/factor_value.py +101 -0
  95. arctrl/py/Json/Process/material.py +226 -0
  96. arctrl/py/Json/Process/material_attribute.py +79 -0
  97. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  98. arctrl/py/Json/Process/material_type.py +53 -0
  99. arctrl/py/Json/Process/process.py +296 -0
  100. arctrl/py/Json/Process/process_input.py +83 -0
  101. arctrl/py/Json/Process/process_output.py +67 -0
  102. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  103. arctrl/py/Json/Process/protocol.py +354 -0
  104. arctrl/py/Json/Process/protocol_parameter.py +79 -0
  105. arctrl/py/Json/Process/sample.py +277 -0
  106. arctrl/py/Json/Process/source.py +214 -0
  107. arctrl/py/Json/Process/study_materials.py +52 -0
  108. arctrl/py/Json/Process/value.py +56 -0
  109. arctrl/py/Json/ROCrate/__init__.py +0 -0
  110. arctrl/py/Json/ROCrate/ldcontext.py +133 -0
  111. arctrl/py/Json/ROCrate/ldgraph.py +111 -0
  112. arctrl/py/Json/ROCrate/ldnode.py +290 -0
  113. arctrl/py/Json/ROCrate/ldref.py +44 -0
  114. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  115. arctrl/py/Json/Table/__init__.py +0 -0
  116. arctrl/py/Json/Table/arc_table.py +393 -0
  117. arctrl/py/Json/Table/cell_table.py +83 -0
  118. arctrl/py/Json/Table/composite_cell.py +136 -0
  119. arctrl/py/Json/Table/composite_header.py +67 -0
  120. arctrl/py/Json/Table/iotype.py +24 -0
  121. arctrl/py/Json/Table/oatable.py +82 -0
  122. arctrl/py/Json/Table/templates.py +281 -0
  123. arctrl/py/Json/__init__.py +0 -0
  124. arctrl/py/Json/assay.py +600 -0
  125. arctrl/py/Json/comment.py +206 -0
  126. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  127. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  128. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  129. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  130. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  131. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  132. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  133. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  134. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  135. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  136. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  137. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  138. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  139. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  140. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  141. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  142. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  143. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  144. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  145. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  146. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  147. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  148. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  149. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  150. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  151. arctrl/py/Json/converter_options.py +23 -0
  152. arctrl/py/Json/data.py +356 -0
  153. arctrl/py/Json/data_file.py +63 -0
  154. arctrl/py/Json/decode.py +155 -0
  155. arctrl/py/Json/encode.py +92 -0
  156. arctrl/py/Json/idtable.py +44 -0
  157. arctrl/py/Json/investigation.py +695 -0
  158. arctrl/py/Json/ontology_annotation.py +404 -0
  159. arctrl/py/Json/ontology_source_reference.py +255 -0
  160. arctrl/py/Json/person.py +658 -0
  161. arctrl/py/Json/property_value.py +359 -0
  162. arctrl/py/Json/publication.py +279 -0
  163. arctrl/py/Json/string_table.py +76 -0
  164. arctrl/py/Json/study.py +793 -0
  165. arctrl/py/JsonIO/DataMap/__init__.py +0 -0
  166. arctrl/py/JsonIO/DataMap/data_map.py +53 -0
  167. arctrl/py/JsonIO/Process/__init__.py +0 -0
  168. arctrl/py/JsonIO/Process/component.py +60 -0
  169. arctrl/py/JsonIO/Process/factor.py +36 -0
  170. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  171. arctrl/py/JsonIO/Process/material.py +60 -0
  172. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  173. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  174. arctrl/py/JsonIO/Process/material_type.py +36 -0
  175. arctrl/py/JsonIO/Process/process.py +60 -0
  176. arctrl/py/JsonIO/Process/process_input.py +38 -0
  177. arctrl/py/JsonIO/Process/process_output.py +60 -0
  178. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  179. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  180. arctrl/py/JsonIO/Process/protocol.py +60 -0
  181. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  182. arctrl/py/JsonIO/Process/sample.py +60 -0
  183. arctrl/py/JsonIO/Process/source.py +60 -0
  184. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  185. arctrl/py/JsonIO/Process/value.py +32 -0
  186. arctrl/py/JsonIO/Table/__init__.py +0 -0
  187. arctrl/py/JsonIO/Table/arc_table.py +121 -0
  188. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  189. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  190. arctrl/py/JsonIO/Table/compression.py +85 -0
  191. arctrl/py/JsonIO/Table/iotype.py +36 -0
  192. arctrl/py/JsonIO/Table/templates.py +113 -0
  193. arctrl/py/JsonIO/__init__.py +0 -0
  194. arctrl/py/JsonIO/assay.py +113 -0
  195. arctrl/py/JsonIO/comment.py +80 -0
  196. arctrl/py/JsonIO/data.py +60 -0
  197. arctrl/py/JsonIO/data_file.py +58 -0
  198. arctrl/py/JsonIO/decode.py +9 -0
  199. arctrl/py/JsonIO/encode.py +1 -0
  200. arctrl/py/JsonIO/investigation.py +113 -0
  201. arctrl/py/JsonIO/ldobject.py +106 -0
  202. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  203. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  204. arctrl/py/JsonIO/person.py +82 -0
  205. arctrl/py/JsonIO/publication.py +82 -0
  206. arctrl/py/JsonIO/study.py +114 -0
  207. arctrl/py/ROCrate/Generic/__init__.py +0 -0
  208. arctrl/py/ROCrate/Generic/comment.py +131 -0
  209. arctrl/py/ROCrate/Generic/dataset.py +817 -0
  210. arctrl/py/ROCrate/Generic/defined_term.py +131 -0
  211. arctrl/py/ROCrate/Generic/file.py +237 -0
  212. arctrl/py/ROCrate/Generic/lab_process.py +324 -0
  213. arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
  214. arctrl/py/ROCrate/Generic/organization.py +83 -0
  215. arctrl/py/ROCrate/Generic/person.py +484 -0
  216. arctrl/py/ROCrate/Generic/postal_address.py +195 -0
  217. arctrl/py/ROCrate/Generic/property_value.py +696 -0
  218. arctrl/py/ROCrate/Generic/sample.py +202 -0
  219. arctrl/py/ROCrate/Generic/scholarly_article.py +229 -0
  220. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  221. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  222. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  223. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  224. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  225. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  226. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  227. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  228. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  229. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  230. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  231. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  232. arctrl/py/ROCrate/__init__.py +0 -0
  233. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  234. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  235. arctrl/py/ROCrate/helper.py +8 -0
  236. arctrl/py/ROCrate/ldcontext.py +362 -0
  237. arctrl/py/ROCrate/ldobject.py +1247 -0
  238. arctrl/py/ROCrate/rocrate_context.py +51 -0
  239. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  240. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +193 -0
  241. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  242. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
  243. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  244. arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
  245. arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
  246. arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
  247. arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -0
  248. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  249. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  250. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  251. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  252. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  253. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  254. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  255. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  256. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  257. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  258. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  259. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  260. arctrl/py/Spreadsheet/Metadata/sparse_table.py +508 -0
  261. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  262. arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
  263. arctrl/py/Spreadsheet/__init__.py +0 -0
  264. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  265. arctrl/py/Spreadsheet/arc_investigation.py +418 -0
  266. arctrl/py/Spreadsheet/arc_run.py +190 -0
  267. arctrl/py/Spreadsheet/arc_study.py +144 -0
  268. arctrl/py/Spreadsheet/arc_workflow.py +176 -0
  269. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  270. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  271. arctrl/py/Spreadsheet/data_map.py +44 -0
  272. arctrl/py/Spreadsheet/template.py +460 -0
  273. arctrl/py/ValidationPackages/__init__.py +0 -0
  274. arctrl/py/ValidationPackages/validation_package.py +82 -0
  275. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  276. arctrl/py/WebRequest/__init__.py +0 -0
  277. arctrl/py/WebRequest/web_request.py +9 -0
  278. arctrl/py/WebRequest/web_request_py.py +135 -0
  279. arctrl/py/Yaml/__init__.py +0 -0
  280. arctrl/py/Yaml/decode.py +1 -0
  281. arctrl/py/Yaml/encode.py +10 -0
  282. arctrl/py/Yaml/validation_package.py +77 -0
  283. arctrl/py/Yaml/validation_packages_config.py +86 -0
  284. arctrl/py/__init__.py +0 -0
  285. arctrl/py/arc.py +1400 -0
  286. arctrl/py/column_index.py +280 -0
  287. arctrl/py/conversion.py +2184 -0
  288. arctrl/py/cross_async.py +76 -0
  289. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  290. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  291. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  292. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  293. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  294. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  295. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  296. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  297. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  298. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  299. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  300. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  301. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  302. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  303. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  304. arctrl/py/fable_modules/fable_library/char.py +237 -0
  305. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  306. arctrl/py/fable_modules/fable_library/date.py +779 -0
  307. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  308. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  309. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  310. arctrl/py/fable_modules/fable_library/double.py +87 -0
  311. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  312. arctrl/py/fable_modules/fable_library/event.py +206 -0
  313. arctrl/py/fable_modules/fable_library/file.py +107 -0
  314. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  315. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  316. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  317. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  318. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  319. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  320. arctrl/py/fable_modules/fable_library/long.py +240 -0
  321. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  322. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  323. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  324. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  325. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  326. arctrl/py/fable_modules/fable_library/native.py +45 -0
  327. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  328. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  329. arctrl/py/fable_modules/fable_library/option.py +128 -0
  330. arctrl/py/fable_modules/fable_library/path.py +62 -0
  331. arctrl/py/fable_modules/fable_library/range.py +117 -0
  332. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  333. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  334. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  335. arctrl/py/fable_modules/fable_library/result.py +212 -0
  336. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  337. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  338. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  339. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  340. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  341. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  342. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  343. arctrl/py/fable_modules/fable_library/task.py +116 -0
  344. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  345. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  346. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  347. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  348. arctrl/py/fable_modules/fable_library/types.py +401 -0
  349. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  350. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  351. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  352. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  353. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  354. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  355. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  356. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  357. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  358. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  359. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  360. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  361. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  362. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  363. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  364. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  365. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  366. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  367. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  368. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  369. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  370. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  371. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  372. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  373. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  374. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  375. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  376. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  377. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  378. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +338 -0
  379. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -0
  380. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  381. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  382. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  383. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  384. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  385. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  386. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  387. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  388. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  389. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +464 -0
  390. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  391. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  392. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  393. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  394. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  395. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  396. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +57 -0
  397. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  398. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  399. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +217 -0
  400. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  401. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
  402. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
  403. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
  404. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -0
  405. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  406. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  407. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +393 -0
  408. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -0
  409. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  410. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  411. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +218 -0
  412. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  413. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  414. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +180 -0
  415. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
  416. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
  417. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  418. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -0
  419. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  420. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  421. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  422. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +53 -0
  423. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
  424. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
  425. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  426. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  427. arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
  428. arctrl/py/fable_modules/thoth_json_core/encode.py +261 -0
  429. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  430. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  431. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  432. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  433. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  434. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  435. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  436. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  437. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  438. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  439. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  440. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  441. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  442. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  443. arctrl/py/fable_modules/yamlicious/reader.py +665 -0
  444. arctrl/py/fable_modules/yamlicious/regex.py +21 -0
  445. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
  446. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  447. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  448. arctrl/py/json.py +213 -0
  449. arctrl/py/rocrate_io.py +72 -0
  450. arctrl/py/template_web.py +23 -0
  451. arctrl/py/xlsx.py +148 -0
  452. arctrl/rocrate.py +21 -0
  453. arctrl-3.0.0a3.dist-info/LICENSE +21 -0
  454. arctrl-3.0.0a3.dist-info/METADATA +119 -0
  455. arctrl-3.0.0a3.dist-info/RECORD +456 -0
  456. arctrl-3.0.0a3.dist-info/WHEEL +4 -0
@@ -0,0 +1,554 @@
1
+ from typing import Any
2
+ from ...fable_modules.fable_library.int32 import parse
3
+ from ...fable_modules.fable_library.option import map
4
+ from ...fable_modules.fable_library.reg_exp import (match, create, get_item, groups)
5
+ from ...fable_modules.fable_library.string_ import replace
6
+
7
+ def Pattern_handleGroupPatterns(pattern: str) -> str:
8
+ return replace(pattern, "(?<", "(?P<")
9
+
10
+
11
+ Pattern_ExcelNumberFormat: str = ("\"(?<" + "numberFormat") + ">(.*?))\""
12
+
13
+ Pattern_TermAnnotationShortPattern: str = ((("(?<" + "idspace") + ">\\w+?):(?<") + "localid") + ">\\w+)"
14
+
15
+ Pattern_TermAnnotationURIPattern: str = ((("http://purl.obolibrary.org/obo/(?<" + "idspace") + ">\\w+?)_(?<") + "localid") + ">\\w+)"
16
+
17
+ Pattern_TermAnnotationURIPattern_lessRestrictive: str = (((".*\\/(?<" + "idspace") + ">\\w+?)[:_](?<") + "localid") + ">\\w+)"
18
+
19
+ Pattern_TermAnnotationURIPattern_MS_RO_PO: str = (((".*252F(?<" + "idspace") + ">\\w+?)_(?<") + "localid") + ">\\w+)"
20
+
21
+ Pattern_IOTypePattern: str = ("(Input|Output)\\s*\\[(?<" + "iotype") + ">.+)\\]"
22
+
23
+ Pattern_InputPattern: str = ("Input\\s*\\[(?<" + "iotype") + ">.+)\\]"
24
+
25
+ Pattern_OutputPattern: str = ("Output\\s*\\[(?<" + "iotype") + ">.+)\\]"
26
+
27
+ Pattern_CommentPattern: str = ("Comment\\s*\\[(?<" + "commentKey") + ">.+)\\]"
28
+
29
+ def ActivePatterns__007CRegex_007C__007C(pattern: str, input: str) -> Any | None:
30
+ m: Any = match(create(Pattern_handleGroupPatterns(pattern)), input.strip())
31
+ if m is not None:
32
+ return m
33
+
34
+ else:
35
+ return None
36
+
37
+
38
+
39
+ def ActivePatterns__007CReferenceColumnHeader_007C__007C(input: str) -> dict[str, Any] | None:
40
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C("(Term Source REF|Term Accession Number)\\s*\\((?<id>.*)\\)", input)
41
+ if active_pattern_result is not None:
42
+ r: Any = active_pattern_result
43
+ return {
44
+ "Annotation": get_item(groups(r), "id") or ""
45
+ }
46
+
47
+ else:
48
+ return None
49
+
50
+
51
+
52
+ def ActivePatterns__007CTermColumn_007C__007C(input: str) -> dict[str, Any] | None:
53
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C("(?<termcolumntype>.+?)\\s*\\[(?<termname>.+)\\]", input)
54
+ if active_pattern_result is not None:
55
+ r: Any = active_pattern_result
56
+ return {
57
+ "TermColumnType": get_item(groups(r), "termcolumntype") or "",
58
+ "TermName": get_item(groups(r), "termname") or ""
59
+ }
60
+
61
+ else:
62
+ return None
63
+
64
+
65
+
66
+ def ActivePatterns__007CUnitColumnHeader_007C__007C(input: str) -> str | None:
67
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C("Unit", input)
68
+ if active_pattern_result is not None:
69
+ o: Any = active_pattern_result
70
+ return o[0]
71
+
72
+ else:
73
+ return None
74
+
75
+
76
+
77
+ def ActivePatterns__007CParameterColumnHeader_007C__007C(input: str) -> str | None:
78
+ active_pattern_result: dict[str, Any] | None = ActivePatterns__007CTermColumn_007C__007C(input)
79
+ if active_pattern_result is not None:
80
+ r: dict[str, Any] = active_pattern_result
81
+ match_value: str = r["TermColumnType"]
82
+ (pattern_matching_result,) = (None,)
83
+ if match_value == "Parameter":
84
+ pattern_matching_result = 0
85
+
86
+ elif match_value == "Parameter Value":
87
+ pattern_matching_result = 0
88
+
89
+ else:
90
+ pattern_matching_result = 1
91
+
92
+ if pattern_matching_result == 0:
93
+ return r["TermName"]
94
+
95
+ elif pattern_matching_result == 1:
96
+ return None
97
+
98
+
99
+ else:
100
+ return None
101
+
102
+
103
+
104
+ def ActivePatterns__007CFactorColumnHeader_007C__007C(input: str) -> str | None:
105
+ active_pattern_result: dict[str, Any] | None = ActivePatterns__007CTermColumn_007C__007C(input)
106
+ if active_pattern_result is not None:
107
+ r: dict[str, Any] = active_pattern_result
108
+ match_value: str = r["TermColumnType"]
109
+ (pattern_matching_result,) = (None,)
110
+ if match_value == "Factor":
111
+ pattern_matching_result = 0
112
+
113
+ elif match_value == "Factor Value":
114
+ pattern_matching_result = 0
115
+
116
+ else:
117
+ pattern_matching_result = 1
118
+
119
+ if pattern_matching_result == 0:
120
+ return r["TermName"]
121
+
122
+ elif pattern_matching_result == 1:
123
+ return None
124
+
125
+
126
+ else:
127
+ return None
128
+
129
+
130
+
131
+ def ActivePatterns__007CCharacteristicColumnHeader_007C__007C(input: str) -> str | None:
132
+ active_pattern_result: dict[str, Any] | None = ActivePatterns__007CTermColumn_007C__007C(input)
133
+ if active_pattern_result is not None:
134
+ r: dict[str, Any] = active_pattern_result
135
+ match_value: str = r["TermColumnType"]
136
+ (pattern_matching_result,) = (None,)
137
+ if match_value == "Characteristic":
138
+ pattern_matching_result = 0
139
+
140
+ elif match_value == "Characteristics":
141
+ pattern_matching_result = 0
142
+
143
+ elif match_value == "Characteristics Value":
144
+ pattern_matching_result = 0
145
+
146
+ else:
147
+ pattern_matching_result = 1
148
+
149
+ if pattern_matching_result == 0:
150
+ return r["TermName"]
151
+
152
+ elif pattern_matching_result == 1:
153
+ return None
154
+
155
+
156
+ else:
157
+ return None
158
+
159
+
160
+
161
+ def ActivePatterns__007CComponentColumnHeader_007C__007C(input: str) -> str | None:
162
+ active_pattern_result: dict[str, Any] | None = ActivePatterns__007CTermColumn_007C__007C(input)
163
+ if active_pattern_result is not None:
164
+ r: dict[str, Any] = active_pattern_result
165
+ match_value: str = r["TermColumnType"]
166
+ (pattern_matching_result,) = (None,)
167
+ if match_value == "Component":
168
+ pattern_matching_result = 0
169
+
170
+ elif match_value == "Component Value":
171
+ pattern_matching_result = 0
172
+
173
+ else:
174
+ pattern_matching_result = 1
175
+
176
+ if pattern_matching_result == 0:
177
+ return r["TermName"]
178
+
179
+ elif pattern_matching_result == 1:
180
+ return None
181
+
182
+
183
+ else:
184
+ return None
185
+
186
+
187
+
188
+ def ActivePatterns__007CTermAnnotationShort_007C__007C(input: str) -> dict[str, Any] | None:
189
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_TermAnnotationShortPattern, input)
190
+ if active_pattern_result is not None:
191
+ value: Any = active_pattern_result
192
+ return {
193
+ "IDSpace": get_item(groups(value), "idspace") or "",
194
+ "LocalID": get_item(groups(value), "localid") or ""
195
+ }
196
+
197
+ else:
198
+ return None
199
+
200
+
201
+
202
+ def ActivePatterns__007CTermAnnotation_007C__007C(input: str) -> dict[str, Any] | None:
203
+ (pattern_matching_result, value) = (None, None)
204
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_TermAnnotationShortPattern, input)
205
+ if active_pattern_result is not None:
206
+ pattern_matching_result = 0
207
+ value = active_pattern_result
208
+
209
+ else:
210
+ active_pattern_result_1: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_TermAnnotationURIPattern, input)
211
+ if active_pattern_result_1 is not None:
212
+ pattern_matching_result = 0
213
+ value = active_pattern_result_1
214
+
215
+ else:
216
+ active_pattern_result_2: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_TermAnnotationURIPattern_lessRestrictive, input)
217
+ if active_pattern_result_2 is not None:
218
+ pattern_matching_result = 0
219
+ value = active_pattern_result_2
220
+
221
+ else:
222
+ active_pattern_result_3: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_TermAnnotationURIPattern_MS_RO_PO, input)
223
+ if active_pattern_result_3 is not None:
224
+ pattern_matching_result = 0
225
+ value = active_pattern_result_3
226
+
227
+ else:
228
+ pattern_matching_result = 1
229
+
230
+
231
+
232
+
233
+ if pattern_matching_result == 0:
234
+ return {
235
+ "IDSpace": get_item(groups(value), "idspace") or "",
236
+ "LocalID": get_item(groups(value), "localid") or ""
237
+ }
238
+
239
+ elif pattern_matching_result == 1:
240
+ return None
241
+
242
+
243
+
244
+ def ActivePatterns__007CTSRColumnHeader_007C__007C(input: str) -> dict[str, Any] | None:
245
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C("Term Source REF\\s*\\((?<id>.*)\\)", input)
246
+ if active_pattern_result is not None:
247
+ r: Any = active_pattern_result
248
+ match_value: str = get_item(groups(r), "id") or ""
249
+ active_pattern_result_1: dict[str, Any] | None = ActivePatterns__007CTermAnnotation_007C__007C(match_value)
250
+ if active_pattern_result_1 is not None:
251
+ r_1: dict[str, Any] = active_pattern_result_1
252
+ return r_1
253
+
254
+ else:
255
+ return {
256
+ "IDSpace": "",
257
+ "LocalID": ""
258
+ }
259
+
260
+
261
+ else:
262
+ return None
263
+
264
+
265
+
266
+ def ActivePatterns__007CTANColumnHeader_007C__007C(input: str) -> dict[str, Any] | None:
267
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C("Term Accession Number\\s*\\((?<id>.*)\\)", input)
268
+ if active_pattern_result is not None:
269
+ r: Any = active_pattern_result
270
+ match_value: str = get_item(groups(r), "id") or ""
271
+ active_pattern_result_1: dict[str, Any] | None = ActivePatterns__007CTermAnnotation_007C__007C(match_value)
272
+ if active_pattern_result_1 is not None:
273
+ r_1: dict[str, Any] = active_pattern_result_1
274
+ return r_1
275
+
276
+ else:
277
+ return {
278
+ "IDSpace": "",
279
+ "LocalID": ""
280
+ }
281
+
282
+
283
+ else:
284
+ return None
285
+
286
+
287
+
288
+ def ActivePatterns__007CInputColumnHeader_007C__007C(input: str) -> str | None:
289
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_InputPattern, input)
290
+ if active_pattern_result is not None:
291
+ r: Any = active_pattern_result
292
+ return get_item(groups(r), "iotype") or ""
293
+
294
+ else:
295
+ return None
296
+
297
+
298
+
299
+ def ActivePatterns__007COutputColumnHeader_007C__007C(input: str) -> str | None:
300
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_OutputPattern, input)
301
+ if active_pattern_result is not None:
302
+ r: Any = active_pattern_result
303
+ return get_item(groups(r), "iotype") or ""
304
+
305
+ else:
306
+ return None
307
+
308
+
309
+
310
+ def ActivePatterns__007CAutoGeneratedTableName_007C__007C(input: str) -> int | None:
311
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C("^New\\sTable\\s(?<number>\\d+)$", input)
312
+ if active_pattern_result is not None:
313
+ r: Any = active_pattern_result
314
+ return parse(get_item(groups(r), "number") or "", 511, False, 32)
315
+
316
+ else:
317
+ return None
318
+
319
+
320
+
321
+ def ActivePatterns__007CComment_007C__007C(input: str) -> str | None:
322
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_CommentPattern, input)
323
+ if active_pattern_result is not None:
324
+ r: Any = active_pattern_result
325
+ return get_item(groups(r), "commentKey") or ""
326
+
327
+ else:
328
+ return None
329
+
330
+
331
+
332
+ def try_parse_reference_column_header(str_1: str) -> dict[str, Any] | None:
333
+ match_value: str = str_1.strip()
334
+ active_pattern_result: dict[str, Any] | None = ActivePatterns__007CReferenceColumnHeader_007C__007C(match_value)
335
+ if active_pattern_result is not None:
336
+ v: dict[str, Any] = active_pattern_result
337
+ return v
338
+
339
+ else:
340
+ return None
341
+
342
+
343
+
344
+ def try_parse_term_annotation_short(str_1: str) -> dict[str, Any] | None:
345
+ match_value: str = str_1.strip()
346
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_TermAnnotationShortPattern, match_value)
347
+ if active_pattern_result is not None:
348
+ value: Any = active_pattern_result
349
+ return {
350
+ "IDSpace": get_item(groups(value), "idspace") or "",
351
+ "LocalID": get_item(groups(value), "localid") or ""
352
+ }
353
+
354
+ else:
355
+ return None
356
+
357
+
358
+
359
+ def try_parse_term_annotation(str_1: str) -> dict[str, Any] | None:
360
+ match_value: str = str_1.strip()
361
+ (pattern_matching_result, value) = (None, None)
362
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_TermAnnotationShortPattern, match_value)
363
+ if active_pattern_result is not None:
364
+ pattern_matching_result = 0
365
+ value = active_pattern_result
366
+
367
+ else:
368
+ active_pattern_result_1: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_TermAnnotationURIPattern, match_value)
369
+ if active_pattern_result_1 is not None:
370
+ pattern_matching_result = 0
371
+ value = active_pattern_result_1
372
+
373
+ else:
374
+ active_pattern_result_2: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_TermAnnotationURIPattern_lessRestrictive, match_value)
375
+ if active_pattern_result_2 is not None:
376
+ pattern_matching_result = 0
377
+ value = active_pattern_result_2
378
+
379
+ else:
380
+ active_pattern_result_3: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_TermAnnotationURIPattern_MS_RO_PO, match_value)
381
+ if active_pattern_result_3 is not None:
382
+ pattern_matching_result = 0
383
+ value = active_pattern_result_3
384
+
385
+ else:
386
+ pattern_matching_result = 1
387
+
388
+
389
+
390
+
391
+ if pattern_matching_result == 0:
392
+ return {
393
+ "IDSpace": get_item(groups(value), "idspace") or "",
394
+ "LocalID": get_item(groups(value), "localid") or ""
395
+ }
396
+
397
+ elif pattern_matching_result == 1:
398
+ return None
399
+
400
+
401
+
402
+ def try_get_term_annotation_short_string(str_1: str) -> str | None:
403
+ def mapping(r: dict[str, Any], str_1: Any=str_1) -> str:
404
+ return (r["IDSpace"] + ":") + r["LocalID"]
405
+
406
+ return map(mapping, try_parse_term_annotation(str_1))
407
+
408
+
409
+ def get_term_annotation_short_string(str_1: str) -> str:
410
+ match_value: str | None = try_get_term_annotation_short_string(str_1)
411
+ if match_value is None:
412
+ raise Exception(("Unable to parse \'" + str_1) + "\' to term accession.")
413
+
414
+ else:
415
+ return match_value
416
+
417
+
418
+
419
+ def try_parse_excel_number_format(header_str: str) -> str | None:
420
+ match_value: str = header_str.strip()
421
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_ExcelNumberFormat, match_value)
422
+ if active_pattern_result is not None:
423
+ value: Any = active_pattern_result
424
+ return get_item(groups(value), "numberFormat") or ""
425
+
426
+ else:
427
+ return None
428
+
429
+
430
+
431
+ def try_parse_iotype_header(header_str: str) -> str | None:
432
+ match_value: str = header_str.strip()
433
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C(Pattern_IOTypePattern, match_value)
434
+ if active_pattern_result is not None:
435
+ value: Any = active_pattern_result
436
+ return get_item(groups(value), "iotype") or ""
437
+
438
+ else:
439
+ return None
440
+
441
+
442
+
443
+ def try_parse_term_column(input: str) -> dict[str, Any] | None:
444
+ active_pattern_result: dict[str, Any] | None = ActivePatterns__007CTermColumn_007C__007C(input)
445
+ if active_pattern_result is not None:
446
+ r: dict[str, Any] = active_pattern_result
447
+ return r
448
+
449
+ else:
450
+ return None
451
+
452
+
453
+
454
+ def try_parse_unit_column_header(input: str) -> str | None:
455
+ active_pattern_result: str | None = ActivePatterns__007CUnitColumnHeader_007C__007C(input)
456
+ if active_pattern_result is not None:
457
+ r: str = active_pattern_result
458
+ return r
459
+
460
+ else:
461
+ return None
462
+
463
+
464
+
465
+ def try_parse_parameter_column_header(input: str) -> str | None:
466
+ active_pattern_result: str | None = ActivePatterns__007CParameterColumnHeader_007C__007C(input)
467
+ if active_pattern_result is not None:
468
+ r: str = active_pattern_result
469
+ return r
470
+
471
+ else:
472
+ return None
473
+
474
+
475
+
476
+ def try_parse_factor_column_header(input: str) -> str | None:
477
+ active_pattern_result: str | None = ActivePatterns__007CFactorColumnHeader_007C__007C(input)
478
+ if active_pattern_result is not None:
479
+ r: str = active_pattern_result
480
+ return r
481
+
482
+ else:
483
+ return None
484
+
485
+
486
+
487
+ def try_parse_characteristic_column_header(input: str) -> str | None:
488
+ active_pattern_result: str | None = ActivePatterns__007CCharacteristicColumnHeader_007C__007C(input)
489
+ if active_pattern_result is not None:
490
+ r: str = active_pattern_result
491
+ return r
492
+
493
+ else:
494
+ return None
495
+
496
+
497
+
498
+ def try_parse_component_column_header(input: str) -> str | None:
499
+ active_pattern_result: str | None = ActivePatterns__007CComponentColumnHeader_007C__007C(input)
500
+ if active_pattern_result is not None:
501
+ r: str = active_pattern_result
502
+ return r
503
+
504
+ else:
505
+ return None
506
+
507
+
508
+
509
+ def try_parse_tsrcolumn_header(input: str) -> dict[str, Any] | None:
510
+ active_pattern_result: dict[str, Any] | None = ActivePatterns__007CTSRColumnHeader_007C__007C(input)
511
+ if active_pattern_result is not None:
512
+ r: dict[str, Any] = active_pattern_result
513
+ return r
514
+
515
+ else:
516
+ return None
517
+
518
+
519
+
520
+ def try_parse_tancolumn_header(input: str) -> dict[str, Any] | None:
521
+ active_pattern_result: dict[str, Any] | None = ActivePatterns__007CTANColumnHeader_007C__007C(input)
522
+ if active_pattern_result is not None:
523
+ r: dict[str, Any] = active_pattern_result
524
+ return r
525
+
526
+ else:
527
+ return None
528
+
529
+
530
+
531
+ def try_parse_input_column_header(input: str) -> str | None:
532
+ active_pattern_result: str | None = ActivePatterns__007CInputColumnHeader_007C__007C(input)
533
+ if active_pattern_result is not None:
534
+ r: str = active_pattern_result
535
+ return r
536
+
537
+ else:
538
+ return None
539
+
540
+
541
+
542
+ def try_parse_output_column_header(input: str) -> str | None:
543
+ active_pattern_result: str | None = ActivePatterns__007COutputColumnHeader_007C__007C(input)
544
+ if active_pattern_result is not None:
545
+ r: str = active_pattern_result
546
+ return r
547
+
548
+ else:
549
+ return None
550
+
551
+
552
+
553
+ __all__ = ["Pattern_handleGroupPatterns", "Pattern_ExcelNumberFormat", "Pattern_TermAnnotationShortPattern", "Pattern_TermAnnotationURIPattern", "Pattern_TermAnnotationURIPattern_lessRestrictive", "Pattern_TermAnnotationURIPattern_MS_RO_PO", "Pattern_IOTypePattern", "Pattern_InputPattern", "Pattern_OutputPattern", "Pattern_CommentPattern", "ActivePatterns__007CRegex_007C__007C", "ActivePatterns__007CReferenceColumnHeader_007C__007C", "ActivePatterns__007CTermColumn_007C__007C", "ActivePatterns__007CUnitColumnHeader_007C__007C", "ActivePatterns__007CParameterColumnHeader_007C__007C", "ActivePatterns__007CFactorColumnHeader_007C__007C", "ActivePatterns__007CCharacteristicColumnHeader_007C__007C", "ActivePatterns__007CComponentColumnHeader_007C__007C", "ActivePatterns__007CTermAnnotationShort_007C__007C", "ActivePatterns__007CTermAnnotation_007C__007C", "ActivePatterns__007CTSRColumnHeader_007C__007C", "ActivePatterns__007CTANColumnHeader_007C__007C", "ActivePatterns__007CInputColumnHeader_007C__007C", "ActivePatterns__007COutputColumnHeader_007C__007C", "ActivePatterns__007CAutoGeneratedTableName_007C__007C", "ActivePatterns__007CComment_007C__007C", "try_parse_reference_column_header", "try_parse_term_annotation_short", "try_parse_term_annotation", "try_get_term_annotation_short_string", "get_term_annotation_short_string", "try_parse_excel_number_format", "try_parse_iotype_header", "try_parse_term_column", "try_parse_unit_column_header", "try_parse_parameter_column_header", "try_parse_factor_column_header", "try_parse_characteristic_column_header", "try_parse_component_column_header", "try_parse_tsrcolumn_header", "try_parse_tancolumn_header", "try_parse_input_column_header", "try_parse_output_column_header"]
554
+
@@ -0,0 +1,71 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+ from typing import Any
4
+ from ...fable_modules.fable_library.int32 import parse
5
+ from ...fable_modules.fable_library.option import value as value_3
6
+ from ...fable_modules.fable_library.reflection import (TypeInfo, int32_type, string_type, option_type, record_type)
7
+ from ...fable_modules.fable_library.reg_exp import (groups, get_item)
8
+ from ...fable_modules.fable_library.string_ import (to_text, printf)
9
+ from ...fable_modules.fable_library.system_text import (StringBuilder__ctor, StringBuilder__Append_Z721C83C5)
10
+ from ...fable_modules.fable_library.types import (Record, to_string)
11
+ from ...fable_modules.fable_library.util import ignore
12
+ from .regex import ActivePatterns__007CRegex_007C__007C
13
+
14
+ SemVerAux_Pattern: str = "^(?<major>\\d+)(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?(-(?<pre>[0-9A-Za-z-\\.]+))?(\\+(?<build>[0-9A-Za-z-\\.]+))?$"
15
+
16
+ def _expr513() -> TypeInfo:
17
+ return record_type("ARCtrl.Helper.SemVer.SemVer", [], SemVer, lambda: [("Major", int32_type), ("Minor", int32_type), ("Patch", int32_type), ("PreRelease", option_type(string_type)), ("Metadata", option_type(string_type))])
18
+
19
+
20
+ @dataclass(eq = False, repr = False, slots = True)
21
+ class SemVer(Record):
22
+ Major: int
23
+ Minor: int
24
+ Patch: int
25
+ PreRelease: str | None
26
+ Metadata: str | None
27
+
28
+ SemVer_reflection = _expr513
29
+
30
+ def SemVer_make(major: int, minor: int, patch: int, pre: str | None=None, meta: str | None=None) -> SemVer:
31
+ return SemVer(major, minor, patch, pre, meta)
32
+
33
+
34
+ def SemVer_create_Z55658624(major: int, minor: int, patch: int, pre: str | None=None, meta: str | None=None) -> SemVer:
35
+ return SemVer(major, minor, patch, pre, meta)
36
+
37
+
38
+ def SemVer_tryOfString_Z721C83C5(str_1: str) -> SemVer | None:
39
+ active_pattern_result: Any | None = ActivePatterns__007CRegex_007C__007C(SemVerAux_Pattern, str_1)
40
+ if active_pattern_result is not None:
41
+ m: Any = active_pattern_result
42
+ g: Any = groups(m)
43
+ return SemVer_create_Z55658624(parse(get_item(g, "major") or "", 511, False, 32), parse(get_item(g, "minor") or "", 511, False, 32), parse(get_item(g, "patch") or "", 511, False, 32), (get_item(g, "pre") or "") if (get_item(g, "pre") is not None) else None, (get_item(g, "build") or "") if (get_item(g, "build") is not None) else None)
44
+
45
+ else:
46
+ return None
47
+
48
+
49
+
50
+ def SemVer__AsString(this: SemVer) -> str:
51
+ sb: Any = StringBuilder__ctor()
52
+ ignore(StringBuilder__Append_Z721C83C5(sb, to_text(printf("%i.%i.%i"))(this.Major)(this.Minor)(this.Patch)))
53
+ if this.PreRelease is not None:
54
+ def _arrow514(__unit: None=None, this: Any=this) -> str:
55
+ arg_3: str = value_3(this.PreRelease)
56
+ return to_text(printf("-%s"))(arg_3)
57
+
58
+ ignore(StringBuilder__Append_Z721C83C5(sb, _arrow514()))
59
+
60
+ if this.Metadata is not None:
61
+ def _arrow515(__unit: None=None, this: Any=this) -> str:
62
+ arg_4: str = value_3(this.Metadata)
63
+ return to_text(printf("+%s"))(arg_4)
64
+
65
+ ignore(StringBuilder__Append_Z721C83C5(sb, _arrow515()))
66
+
67
+ return to_string(sb)
68
+
69
+
70
+ __all__ = ["SemVerAux_Pattern", "SemVer_reflection", "SemVer_make", "SemVer_create_Z55658624", "SemVer_tryOfString_Z721C83C5", "SemVer__AsString"]
71
+