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
arctrl/py/Json/data.py ADDED
@@ -0,0 +1,356 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ..fable_modules.fable_library.list import (choose, of_array, FSharpList, singleton)
5
+ from ..fable_modules.fable_library.option import map
6
+ from ..fable_modules.fable_library.seq import map as map_1
7
+ from ..fable_modules.fable_library.string_ import replace
8
+ from ..fable_modules.fable_library.types import Array
9
+ from ..fable_modules.fable_library.util import IEnumerable_1
10
+ from ..fable_modules.thoth_json_core.decode import (object, IOptionalGetter, string, resize_array, IGetters)
11
+ from ..fable_modules.thoth_json_core.encode import list_1 as list_1_1
12
+ from ..fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
13
+ from ..Core.comment import Comment
14
+ from ..Core.data import Data
15
+ from ..Core.data_file import DataFile
16
+ from ..Core.uri import URIModule_toString
17
+ from .comment import (encoder as encoder_1, decoder as decoder_1, ROCrate_encoder as ROCrate_encoder_2, ROCrate_decoder as ROCrate_decoder_2, ISAJson_encoder as ISAJson_encoder_2, ISAJson_decoder as ISAJson_decoder_2)
18
+ from .context.rocrate.isa_data_context import context_jsonvalue
19
+ from .data_file import (ISAJson_encoder as ISAJson_encoder_1, ISAJson_decoder as ISAJson_decoder_1, ROCrate_encoder as ROCrate_encoder_1, ROCrate_decoder as ROCrate_decoder_1)
20
+ from .decode import (Decode_uri, Decode_objectNoAdditionalProperties)
21
+ from .encode import (try_include, try_include_seq)
22
+ from .idtable import encode
23
+ from .string_table import (encode_string, decode_string)
24
+
25
+ __A_ = TypeVar("__A_")
26
+
27
+ def encoder(d: Data) -> IEncodable:
28
+ def chooser(tupled_arg: tuple[str, IEncodable | None], d: Any=d) -> tuple[str, IEncodable] | None:
29
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
30
+ return (tupled_arg[0], v_1)
31
+
32
+ return map(mapping, tupled_arg[1])
33
+
34
+ def _arrow2167(value: str, d: Any=d) -> IEncodable:
35
+ class ObjectExpr2166(IEncodable):
36
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
37
+ return helpers.encode_string(value)
38
+
39
+ return ObjectExpr2166()
40
+
41
+ def _arrow2169(value_2: str, d: Any=d) -> IEncodable:
42
+ class ObjectExpr2168(IEncodable):
43
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
44
+ return helpers_1.encode_string(value_2)
45
+
46
+ return ObjectExpr2168()
47
+
48
+ def _arrow2171(value_4: str, d: Any=d) -> IEncodable:
49
+ class ObjectExpr2170(IEncodable):
50
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
51
+ return helpers_2.encode_string(value_4)
52
+
53
+ return ObjectExpr2170()
54
+
55
+ def _arrow2173(value_6: str, d: Any=d) -> IEncodable:
56
+ class ObjectExpr2172(IEncodable):
57
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
58
+ return helpers_3.encode_string(value_6)
59
+
60
+ return ObjectExpr2172()
61
+
62
+ def _arrow2174(comment: Comment, d: Any=d) -> IEncodable:
63
+ return encoder_1(comment)
64
+
65
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2167, d.ID), try_include("name", _arrow2169, d.Name), try_include("dataType", ISAJson_encoder_1, d.DataType), try_include("format", _arrow2171, d.Format), try_include("selectorFormat", _arrow2173, d.SelectorFormat), try_include_seq("comments", _arrow2174, d.Comments)]))
66
+ class ObjectExpr2175(IEncodable):
67
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any], d: Any=d) -> Any:
68
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
69
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_4))
70
+
71
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
72
+ return helpers_4.encode_object(arg)
73
+
74
+ return ObjectExpr2175()
75
+
76
+
77
+ def _arrow2182(get: IGetters) -> Data:
78
+ def _arrow2176(__unit: None=None) -> str | None:
79
+ object_arg: IOptionalGetter = get.Optional
80
+ return object_arg.Field("@id", Decode_uri)
81
+
82
+ def _arrow2177(__unit: None=None) -> str | None:
83
+ object_arg_1: IOptionalGetter = get.Optional
84
+ return object_arg_1.Field("name", string)
85
+
86
+ def _arrow2178(__unit: None=None) -> DataFile | None:
87
+ object_arg_2: IOptionalGetter = get.Optional
88
+ return object_arg_2.Field("dataType", ISAJson_decoder_1)
89
+
90
+ def _arrow2179(__unit: None=None) -> str | None:
91
+ object_arg_3: IOptionalGetter = get.Optional
92
+ return object_arg_3.Field("format", string)
93
+
94
+ def _arrow2180(__unit: None=None) -> str | None:
95
+ object_arg_4: IOptionalGetter = get.Optional
96
+ return object_arg_4.Field("selectorFormat", Decode_uri)
97
+
98
+ def _arrow2181(__unit: None=None) -> Array[Comment] | None:
99
+ arg_11: Decoder_1[Array[Comment]] = resize_array(decoder_1)
100
+ object_arg_5: IOptionalGetter = get.Optional
101
+ return object_arg_5.Field("comments", arg_11)
102
+
103
+ return Data(_arrow2176(), _arrow2177(), _arrow2178(), _arrow2179(), _arrow2180(), _arrow2181())
104
+
105
+
106
+ decoder: Decoder_1[Data] = object(_arrow2182)
107
+
108
+ def compressed_encoder(string_table: Any, d: Data) -> IEncodable:
109
+ def chooser(tupled_arg: tuple[str, IEncodable | None], string_table: Any=string_table, d: Any=d) -> tuple[str, IEncodable] | None:
110
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
111
+ return (tupled_arg[0], v_1)
112
+
113
+ return map(mapping, tupled_arg[1])
114
+
115
+ def _arrow2184(s: str, string_table: Any=string_table, d: Any=d) -> IEncodable:
116
+ return encode_string(string_table, s)
117
+
118
+ def _arrow2185(s_1: str, string_table: Any=string_table, d: Any=d) -> IEncodable:
119
+ return encode_string(string_table, s_1)
120
+
121
+ def _arrow2186(s_2: str, string_table: Any=string_table, d: Any=d) -> IEncodable:
122
+ return encode_string(string_table, s_2)
123
+
124
+ def _arrow2187(s_3: str, string_table: Any=string_table, d: Any=d) -> IEncodable:
125
+ return encode_string(string_table, s_3)
126
+
127
+ def _arrow2188(comment: Comment, string_table: Any=string_table, d: Any=d) -> IEncodable:
128
+ return encoder_1(comment)
129
+
130
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("i", _arrow2184, d.ID), try_include("n", _arrow2185, d.Name), try_include("d", ISAJson_encoder_1, d.DataType), try_include("f", _arrow2186, d.Format), try_include("s", _arrow2187, d.SelectorFormat), try_include_seq("c", _arrow2188, d.Comments)]))
131
+ class ObjectExpr2189(IEncodable):
132
+ def Encode(self, helpers: IEncoderHelpers_1[Any], string_table: Any=string_table, d: Any=d) -> Any:
133
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
134
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers))
135
+
136
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
137
+ return helpers.encode_object(arg)
138
+
139
+ return ObjectExpr2189()
140
+
141
+
142
+ def compressed_decoder(string_table: Array[str]) -> Decoder_1[Data]:
143
+ def _arrow2196(get: IGetters, string_table: Any=string_table) -> Data:
144
+ def _arrow2190(__unit: None=None) -> str | None:
145
+ arg_1: Decoder_1[str] = decode_string(string_table)
146
+ object_arg: IOptionalGetter = get.Optional
147
+ return object_arg.Field("i", arg_1)
148
+
149
+ def _arrow2191(__unit: None=None) -> str | None:
150
+ arg_3: Decoder_1[str] = decode_string(string_table)
151
+ object_arg_1: IOptionalGetter = get.Optional
152
+ return object_arg_1.Field("n", arg_3)
153
+
154
+ def _arrow2192(__unit: None=None) -> DataFile | None:
155
+ object_arg_2: IOptionalGetter = get.Optional
156
+ return object_arg_2.Field("d", ISAJson_decoder_1)
157
+
158
+ def _arrow2193(__unit: None=None) -> str | None:
159
+ arg_7: Decoder_1[str] = decode_string(string_table)
160
+ object_arg_3: IOptionalGetter = get.Optional
161
+ return object_arg_3.Field("f", arg_7)
162
+
163
+ def _arrow2194(__unit: None=None) -> str | None:
164
+ arg_9: Decoder_1[str] = decode_string(string_table)
165
+ object_arg_4: IOptionalGetter = get.Optional
166
+ return object_arg_4.Field("s", arg_9)
167
+
168
+ def _arrow2195(__unit: None=None) -> Array[Comment] | None:
169
+ arg_11: Decoder_1[Array[Comment]] = resize_array(decoder_1)
170
+ object_arg_5: IOptionalGetter = get.Optional
171
+ return object_arg_5.Field("c", arg_11)
172
+
173
+ return Data(_arrow2190(), _arrow2191(), _arrow2192(), _arrow2193(), _arrow2194(), _arrow2195())
174
+
175
+ return object(_arrow2196)
176
+
177
+
178
+ def ROCrate_genID(d: Data) -> str:
179
+ match_value: str | None = d.ID
180
+ if match_value is None:
181
+ match_value_1: str | None = d.Name
182
+ if match_value_1 is None:
183
+ return "#EmptyData"
184
+
185
+ else:
186
+ return replace(match_value_1, " ", "_")
187
+
188
+
189
+ else:
190
+ return URIModule_toString(match_value)
191
+
192
+
193
+
194
+ def ROCrate_encoder(oa: Data) -> IEncodable:
195
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
196
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
197
+ return (tupled_arg[0], v_1)
198
+
199
+ return map(mapping, tupled_arg[1])
200
+
201
+ def _arrow2200(__unit: None=None, oa: Any=oa) -> IEncodable:
202
+ value: str = ROCrate_genID(oa)
203
+ class ObjectExpr2199(IEncodable):
204
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
205
+ return helpers.encode_string(value)
206
+
207
+ return ObjectExpr2199()
208
+
209
+ class ObjectExpr2201(IEncodable):
210
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
211
+ return helpers_1.encode_string("Data")
212
+
213
+ def _arrow2203(value_2: str, oa: Any=oa) -> IEncodable:
214
+ class ObjectExpr2202(IEncodable):
215
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
216
+ return helpers_2.encode_string(value_2)
217
+
218
+ return ObjectExpr2202()
219
+
220
+ def _arrow2204(value_4: DataFile, oa: Any=oa) -> IEncodable:
221
+ return ROCrate_encoder_1(value_4)
222
+
223
+ def _arrow2206(value_5: str, oa: Any=oa) -> IEncodable:
224
+ class ObjectExpr2205(IEncodable):
225
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
226
+ return helpers_3.encode_string(value_5)
227
+
228
+ return ObjectExpr2205()
229
+
230
+ def _arrow2208(value_7: str, oa: Any=oa) -> IEncodable:
231
+ class ObjectExpr2207(IEncodable):
232
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
233
+ return helpers_4.encode_string(value_7)
234
+
235
+ return ObjectExpr2207()
236
+
237
+ def _arrow2209(comment: Comment, oa: Any=oa) -> IEncodable:
238
+ return ROCrate_encoder_2(comment)
239
+
240
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow2200()), ("@type", list_1_1(singleton(ObjectExpr2201()))), try_include("name", _arrow2203, oa.Name), try_include("type", _arrow2204, oa.DataType), try_include("encodingFormat", _arrow2206, oa.Format), try_include("usageInfo", _arrow2208, oa.SelectorFormat), try_include_seq("comments", _arrow2209, oa.Comments), ("@context", context_jsonvalue)]))
241
+ class ObjectExpr2210(IEncodable):
242
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
243
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
244
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_5))
245
+
246
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
247
+ return helpers_5.encode_object(arg)
248
+
249
+ return ObjectExpr2210()
250
+
251
+
252
+ def _arrow2217(get: IGetters) -> Data:
253
+ def _arrow2211(__unit: None=None) -> str | None:
254
+ object_arg: IOptionalGetter = get.Optional
255
+ return object_arg.Field("@id", Decode_uri)
256
+
257
+ def _arrow2212(__unit: None=None) -> str | None:
258
+ object_arg_1: IOptionalGetter = get.Optional
259
+ return object_arg_1.Field("name", string)
260
+
261
+ def _arrow2213(__unit: None=None) -> DataFile | None:
262
+ object_arg_2: IOptionalGetter = get.Optional
263
+ return object_arg_2.Field("type", ROCrate_decoder_1)
264
+
265
+ def _arrow2214(__unit: None=None) -> str | None:
266
+ object_arg_3: IOptionalGetter = get.Optional
267
+ return object_arg_3.Field("encodingFormat", string)
268
+
269
+ def _arrow2215(__unit: None=None) -> str | None:
270
+ object_arg_4: IOptionalGetter = get.Optional
271
+ return object_arg_4.Field("usageInfo", Decode_uri)
272
+
273
+ def _arrow2216(__unit: None=None) -> Array[Comment] | None:
274
+ arg_11: Decoder_1[Array[Comment]] = resize_array(ROCrate_decoder_2)
275
+ object_arg_5: IOptionalGetter = get.Optional
276
+ return object_arg_5.Field("comments", arg_11)
277
+
278
+ return Data(_arrow2211(), _arrow2212(), _arrow2213(), _arrow2214(), _arrow2215(), _arrow2216())
279
+
280
+
281
+ ROCrate_decoder: Decoder_1[Data] = object(_arrow2217)
282
+
283
+ def ISAJson_encoder(id_map: Any | None, oa: Data) -> IEncodable:
284
+ def f(oa_1: Data, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
285
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa_1: Any=oa_1) -> tuple[str, IEncodable] | None:
286
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
287
+ return (tupled_arg[0], v_1)
288
+
289
+ return map(mapping, tupled_arg[1])
290
+
291
+ def _arrow2221(value: str, oa_1: Any=oa_1) -> IEncodable:
292
+ class ObjectExpr2220(IEncodable):
293
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
294
+ return helpers.encode_string(value)
295
+
296
+ return ObjectExpr2220()
297
+
298
+ def _arrow2223(value_2: str, oa_1: Any=oa_1) -> IEncodable:
299
+ class ObjectExpr2222(IEncodable):
300
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
301
+ return helpers_1.encode_string(value_2)
302
+
303
+ return ObjectExpr2222()
304
+
305
+ def _arrow2224(comment: Comment, oa_1: Any=oa_1) -> IEncodable:
306
+ return ISAJson_encoder_2(id_map, comment)
307
+
308
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2221, ROCrate_genID(oa_1)), try_include("name", _arrow2223, oa_1.Name), try_include("type", ISAJson_encoder_1, oa_1.DataType), try_include_seq("comments", _arrow2224, oa_1.Comments)]))
309
+ class ObjectExpr2225(IEncodable):
310
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa_1: Any=oa_1) -> Any:
311
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
312
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_2))
313
+
314
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
315
+ return helpers_2.encode_object(arg)
316
+
317
+ return ObjectExpr2225()
318
+
319
+ if id_map is not None:
320
+ def _arrow2226(d_1: Data, id_map: Any=id_map, oa: Any=oa) -> str:
321
+ return ROCrate_genID(d_1)
322
+
323
+ return encode(_arrow2226, f, oa, id_map)
324
+
325
+ else:
326
+ return f(oa)
327
+
328
+
329
+
330
+ ISAJson_allowedFields: FSharpList[str] = of_array(["@id", "name", "type", "comments", "@type", "@context"])
331
+
332
+ def _arrow2231(get: IGetters) -> Data:
333
+ def _arrow2227(__unit: None=None) -> str | None:
334
+ object_arg: IOptionalGetter = get.Optional
335
+ return object_arg.Field("@id", Decode_uri)
336
+
337
+ def _arrow2228(__unit: None=None) -> str | None:
338
+ object_arg_1: IOptionalGetter = get.Optional
339
+ return object_arg_1.Field("name", string)
340
+
341
+ def _arrow2229(__unit: None=None) -> DataFile | None:
342
+ object_arg_2: IOptionalGetter = get.Optional
343
+ return object_arg_2.Field("type", ISAJson_decoder_1)
344
+
345
+ def _arrow2230(__unit: None=None) -> Array[Comment] | None:
346
+ arg_7: Decoder_1[Array[Comment]] = resize_array(ISAJson_decoder_2)
347
+ object_arg_3: IOptionalGetter = get.Optional
348
+ return object_arg_3.Field("comments", arg_7)
349
+
350
+ return Data(_arrow2227(), _arrow2228(), _arrow2229(), None, None, _arrow2230())
351
+
352
+
353
+ ISAJson_decoder: Decoder_1[Data] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow2231)
354
+
355
+ __all__ = ["encoder", "decoder", "compressed_encoder", "compressed_decoder", "ROCrate_genID", "ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_allowedFields", "ISAJson_decoder"]
356
+
@@ -0,0 +1,63 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ..fable_modules.fable_library.result import FSharpResult_2
5
+ from ..fable_modules.thoth_json_core.decode import string
6
+ from ..fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1, ErrorReason_1, IDecoderHelpers_1)
7
+ from ..Core.data_file import DataFile
8
+
9
+ __A_ = TypeVar("__A_")
10
+
11
+ def ROCrate_encoder(value: DataFile) -> IEncodable:
12
+ if value.tag == 1:
13
+ class ObjectExpr2104(IEncodable):
14
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], value: Any=value) -> Any:
15
+ return helpers_1.encode_string("Derived Data File")
16
+
17
+ return ObjectExpr2104()
18
+
19
+ elif value.tag == 2:
20
+ class ObjectExpr2107(IEncodable):
21
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], value: Any=value) -> Any:
22
+ return helpers_2.encode_string("Image File")
23
+
24
+ return ObjectExpr2107()
25
+
26
+ else:
27
+ class ObjectExpr2108(IEncodable):
28
+ def Encode(self, helpers: IEncoderHelpers_1[Any], value: Any=value) -> Any:
29
+ return helpers.encode_string("Raw Data File")
30
+
31
+ return ObjectExpr2108()
32
+
33
+
34
+
35
+ class ObjectExpr2110(Decoder_1[DataFile]):
36
+ def Decode(self, s: IDecoderHelpers_1[Any], json: Any) -> FSharpResult_2[DataFile, tuple[str, ErrorReason_1[__A_]]]:
37
+ match_value: FSharpResult_2[str, tuple[str, ErrorReason_1[__A_]]] = string.Decode(s, json)
38
+ if match_value.tag == 1:
39
+ return FSharpResult_2(1, match_value.fields[0])
40
+
41
+ elif match_value.fields[0] == "Raw Data File":
42
+ return FSharpResult_2(0, DataFile(0))
43
+
44
+ elif match_value.fields[0] == "Derived Data File":
45
+ return FSharpResult_2(0, DataFile(1))
46
+
47
+ elif match_value.fields[0] == "Image File":
48
+ return FSharpResult_2(0, DataFile(2))
49
+
50
+ else:
51
+ s_1: str = match_value.fields[0]
52
+ return FSharpResult_2(1, (("Could not parse " + s_1) + ".", ErrorReason_1(0, s_1, json)))
53
+
54
+
55
+
56
+ ROCrate_decoder: Decoder_1[DataFile] = ObjectExpr2110()
57
+
58
+ ISAJson_encoder: Callable[[DataFile], IEncodable] = ROCrate_encoder
59
+
60
+ ISAJson_decoder: Decoder_1[DataFile] = ROCrate_decoder
61
+
62
+ __all__ = ["ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_decoder"]
63
+
@@ -0,0 +1,155 @@
1
+ from __future__ import annotations
2
+ from abc import abstractmethod
3
+ from collections.abc import Callable
4
+ from datetime import datetime
5
+ from typing import (Any, Protocol, TypeVar)
6
+ from ..fable_modules.fable_library.array_ import fold
7
+ from ..fable_modules.fable_library.date import to_universal_time
8
+ from ..fable_modules.fable_library.list import (FSharpList, is_empty, length, head)
9
+ from ..fable_modules.fable_library.result import (FSharpResult_2, Result_Map)
10
+ from ..fable_modules.fable_library.seq import exists
11
+ from ..fable_modules.fable_library.set import (contains, of_seq)
12
+ from ..fable_modules.fable_library.string_ import (to_text, printf)
13
+ from ..fable_modules.fable_library.types import Array
14
+ from ..fable_modules.fable_library.util import (compare_primitives, IEnumerable_1, int32_to_string)
15
+ from ..fable_modules.thoth_json_core.decode import (string, Getters_2__ctor_Z4BE6C149, Getters_2, Getters_2__get_Errors, IGetters, map, datetime_local)
16
+ from ..fable_modules.thoth_json_core.types import (ErrorReason_1, Decoder_1, IDecoderHelpers_1)
17
+
18
+ _JSONVALUE = TypeVar("_JSONVALUE")
19
+
20
+ __A_ = TypeVar("__A_")
21
+
22
+ _VALUE_ = TypeVar("_VALUE_")
23
+
24
+ _VALUE = TypeVar("_VALUE")
25
+
26
+ class DateTimeStatic(Protocol):
27
+ @abstractmethod
28
+ def from_time_stamp(self, timestamp: float) -> Any:
29
+ ...
30
+
31
+
32
+ def PyTime_toUniversalTimePy(dt: Any) -> Any:
33
+ timestamp: float = to_universal_time(dt).timestamp()
34
+ return datetime.fromtimestamp(timestamp=timestamp)
35
+
36
+
37
+ def Helpers_prependPath(path: str, err_: str, err__1: ErrorReason_1[Any]) -> tuple[str, ErrorReason_1[_JSONVALUE]]:
38
+ err: tuple[str, ErrorReason_1[_JSONVALUE]] = (err_, err__1)
39
+ return (path + err[0], err[1])
40
+
41
+
42
+ def Decode_isURI(s: str) -> bool:
43
+ return True
44
+
45
+
46
+ class ObjectExpr1876(Decoder_1[str]):
47
+ def Decode(self, s: IDecoderHelpers_1[Any], json: Any) -> FSharpResult_2[str, tuple[str, ErrorReason_1[__A_]]]:
48
+ match_value: FSharpResult_2[str, tuple[str, ErrorReason_1[__A_]]] = string.Decode(s, json)
49
+ if match_value.tag == 1:
50
+ return FSharpResult_2(1, match_value.fields[0])
51
+
52
+ elif Decode_isURI(match_value.fields[0]):
53
+ return FSharpResult_2(0, match_value.fields[0])
54
+
55
+ else:
56
+ s_3: str = match_value.fields[0]
57
+ return FSharpResult_2(1, (s_3, ErrorReason_1(6, to_text(printf("Expected URI, got %s"))(s_3))))
58
+
59
+
60
+
61
+ Decode_uri: Decoder_1[str] = ObjectExpr1876()
62
+
63
+ def Decode_hasUnknownFields(helpers: IDecoderHelpers_1[Any], known_fields: Any, json: Any) -> bool:
64
+ def predicate(x: str, helpers: Any=helpers, known_fields: Any=known_fields, json: Any=json) -> bool:
65
+ return not contains(x, known_fields)
66
+
67
+ return exists(predicate, helpers.get_properties(json))
68
+
69
+
70
+ def Decode_objectNoAdditionalProperties(allowed_properties: IEnumerable_1[str], builder: Callable[[IGetters], _VALUE]) -> Decoder_1[Any]:
71
+ class ObjectExpr1877:
72
+ @property
73
+ def Compare(self) -> Callable[[str, str], int]:
74
+ return compare_primitives
75
+
76
+ allowed_properties_1: Any = of_seq(allowed_properties, ObjectExpr1877())
77
+ class ObjectExpr1878(Decoder_1[_VALUE_]):
78
+ def Decode(self, helpers: IDecoderHelpers_1[Any], value: Any, allowed_properties: Any=allowed_properties, builder: Any=builder) -> FSharpResult_2[_VALUE_, tuple[str, ErrorReason_1[__A_]]]:
79
+ getters: Getters_2[__A_, Any] = Getters_2__ctor_Z4BE6C149(helpers, value)
80
+ if Decode_hasUnknownFields(helpers, allowed_properties_1, value):
81
+ return FSharpResult_2(1, ("Unknown fields in object", ErrorReason_1(0, "", value)))
82
+
83
+ else:
84
+ result: _VALUE_ = builder(getters)
85
+ match_value: FSharpList[tuple[str, ErrorReason_1[__A_]]] = Getters_2__get_Errors(getters)
86
+ if not is_empty(match_value):
87
+ errors: FSharpList[tuple[str, ErrorReason_1[__A_]]] = match_value
88
+ return FSharpResult_2(1, ("", ErrorReason_1(7, errors))) if (length(errors) > 1) else FSharpResult_2(1, head(match_value))
89
+
90
+ else:
91
+ return FSharpResult_2(0, result)
92
+
93
+
94
+
95
+ return ObjectExpr1878()
96
+
97
+
98
+ def Decode_noAdditionalProperties(allowed_properties: IEnumerable_1[str], decoder: Decoder_1[Any]) -> Decoder_1[Any]:
99
+ class ObjectExpr1879:
100
+ @property
101
+ def Compare(self) -> Callable[[str, str], int]:
102
+ return compare_primitives
103
+
104
+ allowed_properties_1: Any = of_seq(allowed_properties, ObjectExpr1879())
105
+ class ObjectExpr1880(Decoder_1[_VALUE_]):
106
+ def Decode(self, helpers: IDecoderHelpers_1[Any], value: Any, allowed_properties: Any=allowed_properties, decoder: Any=decoder) -> FSharpResult_2[_VALUE_, tuple[str, ErrorReason_1[__A_]]]:
107
+ getters: Getters_2[__A_, Any] = Getters_2__ctor_Z4BE6C149(helpers, value)
108
+ return FSharpResult_2(1, ("Unknown fields in object", ErrorReason_1(0, "", value))) if Decode_hasUnknownFields(helpers, allowed_properties_1, value) else decoder.Decode(helpers, value)
109
+
110
+ return ObjectExpr1880()
111
+
112
+
113
+ def Decode_resizeArrayOrSingleton(decoder: Decoder_1[Any]) -> Decoder_1[Array[Any]]:
114
+ class ObjectExpr1884(Decoder_1[Array[_VALUE_]]):
115
+ def Decode(self, helpers: IDecoderHelpers_1[Any], value: Any, decoder: Any=decoder) -> FSharpResult_2[Array[_VALUE_], tuple[str, ErrorReason_1[__A_]]]:
116
+ if helpers.is_array(value):
117
+ i: int = -1
118
+ def folder(acc: FSharpResult_2[Array[_VALUE_], tuple[str, ErrorReason_1[__A_]]], value_1: __A_) -> FSharpResult_2[Array[_VALUE_], tuple[str, ErrorReason_1[__A_]]]:
119
+ nonlocal i
120
+ i = (i + 1) or 0
121
+ if acc.tag == 0:
122
+ acc_1: Array[_VALUE_] = acc.fields[0]
123
+ match_value: FSharpResult_2[_VALUE_, tuple[str, ErrorReason_1[__A_]]] = decoder.Decode(helpers, value_1)
124
+ if match_value.tag == 0:
125
+ (acc_1.append(match_value.fields[0]))
126
+ return FSharpResult_2(0, acc_1)
127
+
128
+ else:
129
+ def _arrow1881(__unit: None=None, acc: Any=acc, value_1: Any=value_1) -> tuple[str, ErrorReason_1[__A_]]:
130
+ tupled_arg: tuple[str, ErrorReason_1[__A_]] = match_value.fields[0]
131
+ return Helpers_prependPath((".[" + int32_to_string(i)) + "]", tupled_arg[0], tupled_arg[1])
132
+
133
+ return FSharpResult_2(1, _arrow1881())
134
+
135
+
136
+ else:
137
+ return acc
138
+
139
+
140
+ return fold(folder, FSharpResult_2(0, []), helpers.as_array(value))
141
+
142
+ else:
143
+ def mapping(x: _VALUE_ | None=None) -> Array[_VALUE_]:
144
+ return [x]
145
+
146
+ return Result_Map(mapping, decoder.Decode(helpers, value))
147
+
148
+
149
+ return ObjectExpr1884()
150
+
151
+
152
+ Decode_datetime: Decoder_1[Any] = map(PyTime_toUniversalTimePy, datetime_local)
153
+
154
+ __all__ = ["PyTime_toUniversalTimePy", "Helpers_prependPath", "Decode_isURI", "Decode_uri", "Decode_hasUnknownFields", "Decode_objectNoAdditionalProperties", "Decode_noAdditionalProperties", "Decode_resizeArrayOrSingleton", "Decode_datetime"]
155
+
@@ -0,0 +1,92 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ..fable_modules.fable_library.array_ import map as map_2
5
+ from ..fable_modules.fable_library.date import to_string
6
+ from ..fable_modules.fable_library.list import (is_empty as is_empty_1, map as map_3, FSharpList)
7
+ from ..fable_modules.fable_library.option import (map, default_arg)
8
+ from ..fable_modules.fable_library.seq import (is_empty, map as map_1, append)
9
+ from ..fable_modules.fable_library.types import Array
10
+ from ..fable_modules.fable_library.util import to_enumerable
11
+ from ..fable_modules.thoth_json_core.encode import (seq, list_1 as list_1_1)
12
+ from ..fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Json)
13
+
14
+ _VALUE = TypeVar("_VALUE")
15
+
16
+ __A = TypeVar("__A")
17
+
18
+ __A_ = TypeVar("__A_")
19
+
20
+ _T = TypeVar("_T")
21
+
22
+ def try_include(name: str, encoder: Callable[[_VALUE], IEncodable], value: Any | None=None) -> tuple[str, IEncodable | None]:
23
+ return (name, map(encoder, value))
24
+
25
+
26
+ def try_include_seq(name: Any, encoder: Callable[[_VALUE], IEncodable], value: Any) -> tuple[__A, IEncodable | None]:
27
+ return (name, None if is_empty(value) else seq(map_1(encoder, value)))
28
+
29
+
30
+ def try_include_array(name: Any, encoder: Callable[[_VALUE], IEncodable], value: Array[Any]) -> tuple[__A, IEncodable | None]:
31
+ def _arrow1883(__unit: None=None, name: Any=name, encoder: Any=encoder, value: Any=value) -> IEncodable:
32
+ values: Array[IEncodable] = map_2(encoder, value, None)
33
+ class ObjectExpr1882(IEncodable):
34
+ def Encode(self, helpers: IEncoderHelpers_1[__A_]) -> __A_:
35
+ def mapping(v: IEncodable) -> __A_:
36
+ return v.Encode(helpers)
37
+
38
+ arg: Array[__A_] = map_2(mapping, values, None)
39
+ return helpers.encode_array(arg)
40
+
41
+ return ObjectExpr1882()
42
+
43
+ return (name, None if (len(value) == 0) else _arrow1883())
44
+
45
+
46
+ def try_include_list(name: Any, encoder: Callable[[_VALUE], IEncodable], value: FSharpList[Any]) -> tuple[__A, IEncodable | None]:
47
+ return (name, None if is_empty_1(value) else list_1_1(map_3(encoder, value)))
48
+
49
+
50
+ def try_include_list_opt(name: Any, encoder: Callable[[_VALUE], IEncodable], value: FSharpList[Any] | None=None) -> tuple[__A, IEncodable | None]:
51
+ def _arrow1885(__unit: None=None, name: Any=name, encoder: Any=encoder, value: Any=value) -> IEncodable | None:
52
+ o: FSharpList[_VALUE] = value
53
+ return None if is_empty_1(o) else list_1_1(map_3(encoder, o))
54
+
55
+ return (name, _arrow1885() if (value is not None) else None)
56
+
57
+
58
+ DefaultSpaces: int = 0
59
+
60
+ def default_spaces(spaces: int | None=None) -> int:
61
+ return default_arg(spaces, DefaultSpaces)
62
+
63
+
64
+ def date_time(d: Any) -> IEncodable:
65
+ value: str = to_string(d, "O", {}).split("+")[0]
66
+ class ObjectExpr1886(IEncodable):
67
+ def Encode(self, helpers: IEncoderHelpers_1[Any], d: Any=d) -> Any:
68
+ return helpers.encode_string(value)
69
+
70
+ return ObjectExpr1886()
71
+
72
+
73
+ def add_property_to_object(name: str, value: Json, obj: Json) -> Json:
74
+ if obj.tag == 5:
75
+ return Json(5, append(obj.fields[0], to_enumerable([(name, value)])))
76
+
77
+ else:
78
+ raise Exception("Expected object")
79
+
80
+
81
+
82
+ def resize_array_or_singleton(encoder: Callable[[_T], IEncodable], values: Array[Any]) -> IEncodable:
83
+ if len(values) == 1:
84
+ return encoder(values[0])
85
+
86
+ else:
87
+ return seq(map_1(encoder, values))
88
+
89
+
90
+
91
+ __all__ = ["try_include", "try_include_seq", "try_include_array", "try_include_list", "try_include_list_opt", "DefaultSpaces", "default_spaces", "date_time", "add_property_to_object", "resize_array_or_singleton"]
92
+