arctrl 3.2.1__tar.gz → 3.2.2__tar.gz

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 (815) hide show
  1. arctrl-3.2.2/PKG-INFO +158 -0
  2. arctrl-3.2.2/pyproject.toml +44 -0
  3. arctrl-3.2.2/src/ARCtrl/py/CWL/cwlknown_field_names.py +221 -0
  4. arctrl-3.2.2/src/ARCtrl/py/CWL/cwlprocessing_unit.py +258 -0
  5. arctrl-3.2.2/src/ARCtrl/py/CWL/cwltypes.py +1417 -0
  6. arctrl-3.2.2/src/ARCtrl/py/CWL/decode.py +4418 -0
  7. arctrl-3.2.2/src/ARCtrl/py/CWL/dynamic_obj_helpers.py +115 -0
  8. arctrl-3.2.2/src/ARCtrl/py/CWL/encode.py +2565 -0
  9. arctrl-3.2.2/src/ARCtrl/py/CWL/expression_tool_description.py +206 -0
  10. arctrl-3.2.2/src/ARCtrl/py/CWL/hash_helpers.py +58 -0
  11. arctrl-3.2.2/src/ARCtrl/py/CWL/inputs.py +283 -0
  12. arctrl-3.2.2/src/ARCtrl/py/CWL/operation_description.py +183 -0
  13. arctrl-3.2.2/src/ARCtrl/py/CWL/outputs.py +269 -0
  14. arctrl-3.2.2/src/ARCtrl/py/CWL/parameter_reference.py +105 -0
  15. arctrl-3.2.2/src/ARCtrl/py/CWL/parameter_value.py +553 -0
  16. arctrl-3.2.2/src/ARCtrl/py/CWL/requirements.py +890 -0
  17. arctrl-3.2.2/src/ARCtrl/py/CWL/tool_description.py +284 -0
  18. arctrl-3.2.2/src/ARCtrl/py/CWL/workflow_description.py +195 -0
  19. arctrl-3.2.2/src/ARCtrl/py/CWL/workflow_steps.py +579 -0
  20. arctrl-3.2.2/src/ARCtrl/py/Contract/arc_assay.py +131 -0
  21. arctrl-3.2.2/src/ARCtrl/py/Contract/arc_investigation.py +94 -0
  22. arctrl-3.2.2/src/ARCtrl/py/Contract/arc_run.py +301 -0
  23. arctrl-3.2.2/src/ARCtrl/py/Contract/arc_study.py +132 -0
  24. arctrl-3.2.2/src/ARCtrl/py/Contract/arc_workflow.py +221 -0
  25. arctrl-3.2.2/src/ARCtrl/py/Contract/contract.py +299 -0
  26. arctrl-3.2.2/src/ARCtrl/py/Contract/datamap.py +407 -0
  27. arctrl-3.2.2/src/ARCtrl/py/Contract/git.py +118 -0
  28. arctrl-3.2.2/src/ARCtrl/py/Contract/license.py +52 -0
  29. arctrl-3.2.2/src/ARCtrl/py/Contract/validation_packages_config.py +112 -0
  30. arctrl-3.2.2/src/ARCtrl/py/ContractIO/contract_io.py +423 -0
  31. arctrl-3.2.2/src/ARCtrl/py/ContractIO/file_system_helper.py +269 -0
  32. arctrl-3.2.2/src/ARCtrl/py/Conversion/assay.py +149 -0
  33. arctrl-3.2.2/src/ARCtrl/py/Conversion/basic.py +660 -0
  34. arctrl-3.2.2/src/ARCtrl/py/Conversion/column_index.py +91 -0
  35. arctrl-3.2.2/src/ARCtrl/py/Conversion/datamap.py +33 -0
  36. arctrl-3.2.2/src/ARCtrl/py/Conversion/date_time.py +61 -0
  37. arctrl-3.2.2/src/ARCtrl/py/Conversion/investigation.py +190 -0
  38. arctrl-3.2.2/src/ARCtrl/py/Conversion/person.py +175 -0
  39. arctrl-3.2.2/src/ARCtrl/py/Conversion/process.py +880 -0
  40. arctrl-3.2.2/src/ARCtrl/py/Conversion/run.py +830 -0
  41. arctrl-3.2.2/src/ARCtrl/py/Conversion/scholarly_article.py +161 -0
  42. arctrl-3.2.2/src/ARCtrl/py/Conversion/study.py +118 -0
  43. arctrl-3.2.2/src/ARCtrl/py/Conversion/table.py +302 -0
  44. arctrl-3.2.2/src/ARCtrl/py/Conversion/workflow.py +734 -0
  45. arctrl-3.2.2/src/ARCtrl/py/Core/Helper/collections_.py +480 -0
  46. arctrl-3.2.2/src/ARCtrl/py/Core/Helper/date_time.py +27 -0
  47. arctrl-3.2.2/src/ARCtrl/py/Core/Helper/hash_codes.py +78 -0
  48. arctrl-3.2.2/src/ARCtrl/py/Core/Helper/identifier.py +372 -0
  49. arctrl-3.2.2/src/ARCtrl/py/Core/Helper/orcid.py +45 -0
  50. arctrl-3.2.2/src/ARCtrl/py/Core/Helper/regex.py +609 -0
  51. arctrl-3.2.2/src/ARCtrl/py/Core/Helper/sem_ver.py +77 -0
  52. arctrl-3.2.2/src/ARCtrl/py/Core/Helper/url.py +150 -0
  53. arctrl-3.2.2/src/ARCtrl/py/Core/Process/column_index.py +314 -0
  54. arctrl-3.2.2/src/ARCtrl/py/Core/Process/component.py +258 -0
  55. arctrl-3.2.2/src/ARCtrl/py/Core/Process/factor.py +170 -0
  56. arctrl-3.2.2/src/ARCtrl/py/Core/Process/factor_value.py +219 -0
  57. arctrl-3.2.2/src/ARCtrl/py/Core/Process/material.py +80 -0
  58. arctrl-3.2.2/src/ARCtrl/py/Core/Process/material_attribute.py +134 -0
  59. arctrl-3.2.2/src/ARCtrl/py/Core/Process/material_attribute_value.py +217 -0
  60. arctrl-3.2.2/src/ARCtrl/py/Core/Process/material_type.py +59 -0
  61. arctrl-3.2.2/src/ARCtrl/py/Core/Process/process.py +497 -0
  62. arctrl-3.2.2/src/ARCtrl/py/Core/Process/process_input.py +332 -0
  63. arctrl-3.2.2/src/ARCtrl/py/Core/Process/process_output.py +293 -0
  64. arctrl-3.2.2/src/ARCtrl/py/Core/Process/process_parameter_value.py +232 -0
  65. arctrl-3.2.2/src/ARCtrl/py/Core/Process/process_sequence.py +389 -0
  66. arctrl-3.2.2/src/ARCtrl/py/Core/Process/protocol.py +269 -0
  67. arctrl-3.2.2/src/ARCtrl/py/Core/Process/protocol_parameter.py +120 -0
  68. arctrl-3.2.2/src/ARCtrl/py/Core/Process/sample.py +88 -0
  69. arctrl-3.2.2/src/ARCtrl/py/Core/Process/source.py +68 -0
  70. arctrl-3.2.2/src/ARCtrl/py/Core/Table/arc_table.py +1245 -0
  71. arctrl-3.2.2/src/ARCtrl/py/Core/Table/arc_table_aux.py +1400 -0
  72. arctrl-3.2.2/src/ARCtrl/py/Core/Table/arc_tables.py +603 -0
  73. arctrl-3.2.2/src/ARCtrl/py/Core/Table/composite_cell.py +378 -0
  74. arctrl-3.2.2/src/ARCtrl/py/Core/Table/composite_column.py +83 -0
  75. arctrl-3.2.2/src/ARCtrl/py/Core/Table/composite_header.py +1039 -0
  76. arctrl-3.2.2/src/ARCtrl/py/Core/arc_types.py +5109 -0
  77. arctrl-3.2.2/src/ARCtrl/py/Core/comment.py +142 -0
  78. arctrl-3.2.2/src/ARCtrl/py/Core/comment_list.py +136 -0
  79. arctrl-3.2.2/src/ARCtrl/py/Core/conversion.py +1585 -0
  80. arctrl-3.2.2/src/ARCtrl/py/Core/data.py +249 -0
  81. arctrl-3.2.2/src/ARCtrl/py/Core/data_context.py +140 -0
  82. arctrl-3.2.2/src/ARCtrl/py/Core/data_file.py +113 -0
  83. arctrl-3.2.2/src/ARCtrl/py/Core/datamap.py +247 -0
  84. arctrl-3.2.2/src/ARCtrl/py/Core/ontology_annotation.py +424 -0
  85. arctrl-3.2.2/src/ARCtrl/py/Core/ontology_source_reference.py +111 -0
  86. arctrl-3.2.2/src/ARCtrl/py/Core/person.py +261 -0
  87. arctrl-3.2.2/src/ARCtrl/py/Core/publication.py +166 -0
  88. arctrl-3.2.2/src/ARCtrl/py/Core/scalar_value.py +235 -0
  89. arctrl-3.2.2/src/ARCtrl/py/Core/template.py +246 -0
  90. arctrl-3.2.2/src/ARCtrl/py/Core/templates.py +146 -0
  91. arctrl-3.2.2/src/ARCtrl/py/FileSystem/commit.py +26 -0
  92. arctrl-3.2.2/src/ARCtrl/py/FileSystem/file_system.py +65 -0
  93. arctrl-3.2.2/src/ARCtrl/py/FileSystem/file_system_tree.py +509 -0
  94. arctrl-3.2.2/src/ARCtrl/py/FileSystem/path.py +279 -0
  95. arctrl-3.2.2/src/ARCtrl/py/Json/Datamap/data_context.py +95 -0
  96. arctrl-3.2.2/src/ARCtrl/py/Json/Datamap/datamap.py +49 -0
  97. arctrl-3.2.2/src/ARCtrl/py/Json/Process/assay_materials.py +49 -0
  98. arctrl-3.2.2/src/ARCtrl/py/Json/Process/component.py +125 -0
  99. arctrl-3.2.2/src/ARCtrl/py/Json/Process/factor.py +107 -0
  100. arctrl-3.2.2/src/ARCtrl/py/Json/Process/factor_value.py +101 -0
  101. arctrl-3.2.2/src/ARCtrl/py/Json/Process/material.py +231 -0
  102. arctrl-3.2.2/src/ARCtrl/py/Json/Process/material_attribute.py +80 -0
  103. arctrl-3.2.2/src/ARCtrl/py/Json/Process/material_attribute_value.py +101 -0
  104. arctrl-3.2.2/src/ARCtrl/py/Json/Process/material_type.py +58 -0
  105. arctrl-3.2.2/src/ARCtrl/py/Json/Process/process.py +287 -0
  106. arctrl-3.2.2/src/ARCtrl/py/Json/Process/process_parameter_value.py +84 -0
  107. arctrl-3.2.2/src/ARCtrl/py/Json/Process/protocol.py +354 -0
  108. arctrl-3.2.2/src/ARCtrl/py/Json/Process/protocol_parameter.py +92 -0
  109. arctrl-3.2.2/src/ARCtrl/py/Json/Process/sample.py +315 -0
  110. arctrl-3.2.2/src/ARCtrl/py/Json/Process/source.py +233 -0
  111. arctrl-3.2.2/src/ARCtrl/py/Json/Process/study_materials.py +55 -0
  112. arctrl-3.2.2/src/ARCtrl/py/Json/Process/value.py +44 -0
  113. arctrl-3.2.2/src/ARCtrl/py/Json/ROCrate/ldcontext.py +149 -0
  114. arctrl-3.2.2/src/ARCtrl/py/Json/ROCrate/ldgraph.py +119 -0
  115. arctrl-3.2.2/src/ARCtrl/py/Json/ROCrate/ldnode.py +383 -0
  116. arctrl-3.2.2/src/ARCtrl/py/Json/ROCrate/ldref.py +43 -0
  117. arctrl-3.2.2/src/ARCtrl/py/Json/ROCrate/ldvalue.py +103 -0
  118. arctrl-3.2.2/src/ARCtrl/py/Json/Table/arc_table.py +370 -0
  119. arctrl-3.2.2/src/ARCtrl/py/Json/Table/cell_table.py +81 -0
  120. arctrl-3.2.2/src/ARCtrl/py/Json/Table/composite_cell.py +164 -0
  121. arctrl-3.2.2/src/ARCtrl/py/Json/Table/composite_header.py +110 -0
  122. arctrl-3.2.2/src/ARCtrl/py/Json/Table/iotype.py +24 -0
  123. arctrl-3.2.2/src/ARCtrl/py/Json/Table/oatable.py +80 -0
  124. arctrl-3.2.2/src/ARCtrl/py/Json/Table/templates.py +262 -0
  125. arctrl-3.2.2/src/ARCtrl/py/Json/assay.py +555 -0
  126. arctrl-3.2.2/src/ARCtrl/py/Json/comment.py +212 -0
  127. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_assay_context.py +105 -0
  128. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_comment_context.py +64 -0
  129. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_component_context.py +81 -0
  130. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_data_context.py +78 -0
  131. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_factor_context.py +78 -0
  132. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_factor_value_context.py +88 -0
  133. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_investigation_context.py +114 -0
  134. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_material_attribute_context.py +68 -0
  135. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +84 -0
  136. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_material_context.py +75 -0
  137. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +72 -0
  138. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +79 -0
  139. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_organization_context.py +59 -0
  140. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_person_context.py +135 -0
  141. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_process_context.py +98 -0
  142. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +84 -0
  143. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_protocol_context.py +101 -0
  144. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +68 -0
  145. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_publication_context.py +82 -0
  146. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_sample_context.py +69 -0
  147. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_source_context.py +70 -0
  148. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/isa_study_context.py +129 -0
  149. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/property_value_context.py +72 -0
  150. arctrl-3.2.2/src/ARCtrl/py/Json/context/rocrate/rocrate_context.py +85 -0
  151. arctrl-3.2.2/src/ARCtrl/py/Json/converter_options.py +39 -0
  152. arctrl-3.2.2/src/ARCtrl/py/Json/data.py +352 -0
  153. arctrl-3.2.2/src/ARCtrl/py/Json/data_file.py +68 -0
  154. arctrl-3.2.2/src/ARCtrl/py/Json/decode.py +265 -0
  155. arctrl-3.2.2/src/ARCtrl/py/Json/encode.py +138 -0
  156. arctrl-3.2.2/src/ARCtrl/py/Json/idtable.py +41 -0
  157. arctrl-3.2.2/src/ARCtrl/py/Json/investigation.py +655 -0
  158. arctrl-3.2.2/src/ARCtrl/py/Json/ontology_annotation.py +401 -0
  159. arctrl-3.2.2/src/ARCtrl/py/Json/ontology_source_reference.py +257 -0
  160. arctrl-3.2.2/src/ARCtrl/py/Json/person.py +644 -0
  161. arctrl-3.2.2/src/ARCtrl/py/Json/property_value.py +378 -0
  162. arctrl-3.2.2/src/ARCtrl/py/Json/publication.py +269 -0
  163. arctrl-3.2.2/src/ARCtrl/py/Json/run.py +244 -0
  164. arctrl-3.2.2/src/ARCtrl/py/Json/string_table.py +93 -0
  165. arctrl-3.2.2/src/ARCtrl/py/Json/study.py +762 -0
  166. arctrl-3.2.2/src/ARCtrl/py/Json/workflow.py +279 -0
  167. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/component.py +66 -0
  168. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/factor.py +39 -0
  169. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/factor_value.py +43 -0
  170. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/material.py +66 -0
  171. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/material_attribute.py +43 -0
  172. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/material_attribute_value.py +66 -0
  173. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/material_type.py +39 -0
  174. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/process.py +66 -0
  175. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/process_input.py +43 -0
  176. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/process_output.py +66 -0
  177. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/process_parameter_value.py +66 -0
  178. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/process_sequence.py +77 -0
  179. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/protocol.py +66 -0
  180. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/protocol_parameter.py +39 -0
  181. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/sample.py +66 -0
  182. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/source.py +66 -0
  183. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/study_materials.py +55 -0
  184. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Process/value.py +35 -0
  185. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Table/arc_table.py +105 -0
  186. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Table/composite_cell.py +39 -0
  187. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Table/composite_header.py +39 -0
  188. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Table/compression.py +62 -0
  189. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Table/iotype.py +39 -0
  190. arctrl-3.2.2/src/ARCtrl/py/JsonIO/Table/templates.py +116 -0
  191. arctrl-3.2.2/src/ARCtrl/py/JsonIO/assay.py +123 -0
  192. arctrl-3.2.2/src/ARCtrl/py/JsonIO/comment.py +87 -0
  193. arctrl-3.2.2/src/ARCtrl/py/JsonIO/data.py +66 -0
  194. arctrl-3.2.2/src/ARCtrl/py/JsonIO/data_file.py +62 -0
  195. arctrl-3.2.2/src/ARCtrl/py/JsonIO/datamap.py +39 -0
  196. arctrl-3.2.2/src/ARCtrl/py/JsonIO/investigation.py +98 -0
  197. arctrl-3.2.2/src/ARCtrl/py/JsonIO/ldobject.py +116 -0
  198. arctrl-3.2.2/src/ARCtrl/py/JsonIO/ontology_annotation.py +87 -0
  199. arctrl-3.2.2/src/ARCtrl/py/JsonIO/ontology_source_reference.py +87 -0
  200. arctrl-3.2.2/src/ARCtrl/py/JsonIO/person.py +91 -0
  201. arctrl-3.2.2/src/ARCtrl/py/JsonIO/publication.py +91 -0
  202. arctrl-3.2.2/src/ARCtrl/py/JsonIO/run.py +73 -0
  203. arctrl-3.2.2/src/ARCtrl/py/JsonIO/study.py +124 -0
  204. arctrl-3.2.2/src/ARCtrl/py/JsonIO/workflow.py +73 -0
  205. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/comment.py +124 -0
  206. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/computational_workflow.py +406 -0
  207. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/computer_language.py +257 -0
  208. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/create_action.py +277 -0
  209. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/creative_work.py +513 -0
  210. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/dataset.py +928 -0
  211. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/defined_term.py +124 -0
  212. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/file.py +255 -0
  213. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/formal_parameter.py +384 -0
  214. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/lab_process.py +316 -0
  215. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/lab_protocol.py +355 -0
  216. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/organization.py +79 -0
  217. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/person.py +449 -0
  218. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/postal_address.py +185 -0
  219. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/property_value.py +859 -0
  220. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/sample.py +156 -0
  221. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/scholarly_article.py +206 -0
  222. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/software_source_code.py +276 -0
  223. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/workflow_invocation.py +46 -0
  224. arctrl-3.2.2/src/ARCtrl/py/ROCrate/LDTypes/workflow_protocol.py +50 -0
  225. arctrl-3.2.2/src/ARCtrl/py/ROCrate/arc_rocrate_metadata.py +42 -0
  226. arctrl-3.2.2/src/ARCtrl/py/ROCrate/ldcontext.py +411 -0
  227. arctrl-3.2.2/src/ARCtrl/py/ROCrate/ldobject.py +1297 -0
  228. arctrl-3.2.2/src/ARCtrl/py/ROCrate/rocrate_context.py +52 -0
  229. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/AnnotationTable/arc_table.py +206 -0
  230. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/AnnotationTable/composite_cell.py +117 -0
  231. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/AnnotationTable/composite_column.py +310 -0
  232. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/AnnotationTable/composite_header.py +583 -0
  233. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/DatamapTable/datamap_column.py +119 -0
  234. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/DatamapTable/datamap_header.py +622 -0
  235. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/DatamapTable/datamap_table.py +130 -0
  236. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/assays.py +122 -0
  237. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/contacts.py +128 -0
  238. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/conversions.py +202 -0
  239. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/design_descriptors.py +37 -0
  240. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/factors.py +104 -0
  241. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/ontology_annotation.py +85 -0
  242. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/ontology_source_reference.py +93 -0
  243. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/protocols.py +145 -0
  244. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/publication.py +118 -0
  245. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/run.py +118 -0
  246. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/sparse_table.py +520 -0
  247. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/study.py +315 -0
  248. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/Metadata/workflow.py +155 -0
  249. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/arc_assay.py +249 -0
  250. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/arc_investigation.py +424 -0
  251. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/arc_run.py +201 -0
  252. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/arc_study.py +155 -0
  253. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/arc_workflow.py +186 -0
  254. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/collection_aux.py +152 -0
  255. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/datamap.py +50 -0
  256. arctrl-3.2.2/src/ARCtrl/py/Spreadsheet/template.py +457 -0
  257. arctrl-3.2.2/src/ARCtrl/py/ValidationPackages/validation_package.py +90 -0
  258. arctrl-3.2.2/src/ARCtrl/py/ValidationPackages/validation_packages_config.py +138 -0
  259. arctrl-3.2.2/src/ARCtrl/py/WebRequest/web_request_py.py +159 -0
  260. arctrl-3.2.2/src/ARCtrl/py/WorkflowGraph/adapters.py +158 -0
  261. arctrl-3.2.2/src/ARCtrl/py/WorkflowGraph/build_options.py +63 -0
  262. arctrl-3.2.2/src/ARCtrl/py/WorkflowGraph/builder.py +802 -0
  263. arctrl-3.2.2/src/ARCtrl/py/WorkflowGraph/graph_types.py +414 -0
  264. arctrl-3.2.2/src/ARCtrl/py/WorkflowGraph/query_helpers.py +98 -0
  265. arctrl-3.2.2/src/ARCtrl/py/WorkflowGraph/reference_parsing.py +76 -0
  266. arctrl-3.2.2/src/ARCtrl/py/WorkflowGraph/visualization_siren.py +625 -0
  267. arctrl-3.2.2/src/ARCtrl/py/WorkflowGraph/workflow_graph.py +123 -0
  268. arctrl-3.2.2/src/ARCtrl/py/Yaml/encode.py +11 -0
  269. arctrl-3.2.2/src/ARCtrl/py/Yaml/validation_package.py +78 -0
  270. arctrl-3.2.2/src/ARCtrl/py/Yaml/validation_packages_config.py +83 -0
  271. arctrl-3.2.2/src/ARCtrl/py/arc.py +1875 -0
  272. arctrl-3.2.2/src/ARCtrl/py/column_index.py +314 -0
  273. arctrl-3.2.2/src/ARCtrl/py/conversion.py +152 -0
  274. arctrl-3.2.2/src/ARCtrl/py/cross_async.py +84 -0
  275. arctrl-3.2.2/src/ARCtrl/py/cwlrun_resolver.py +241 -0
  276. arctrl-3.2.2/src/ARCtrl/py/fable_modules/dynamic_obj/dyn_obj.py +197 -0
  277. arctrl-3.2.2/src/ARCtrl/py/fable_modules/dynamic_obj/dynamic_obj.py +497 -0
  278. arctrl-3.2.2/src/ARCtrl/py/fable_modules/dynamic_obj/fable_py.py +286 -0
  279. arctrl-3.2.2/src/ARCtrl/py/fable_modules/dynamic_obj/hash_codes.py +78 -0
  280. arctrl-3.2.2/src/ARCtrl/py/fable_modules/dynamic_obj/property_helper.py +30 -0
  281. arctrl-3.2.2/src/ARCtrl/py/fable_modules/dynamic_obj/reflection_utils.py +91 -0
  282. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fable_openpyxl/openpyxl.py +332 -0
  283. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fable_python/fable/testing.py +131 -0
  284. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fable_python/fastapi/fast_api.py +114 -0
  285. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  286. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fable_python/stdlib/builtins_.py +61 -0
  287. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fable_python/stdlib/json.py +43 -0
  288. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fable_python/stdlib/sys_.py +63 -0
  289. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +366 -0
  290. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +457 -0
  291. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +239 -0
  292. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +155 -0
  293. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +155 -0
  294. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +136 -0
  295. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +140 -0
  296. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +489 -0
  297. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/types.py +391 -0
  298. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +122 -0
  299. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/cell.py +102 -0
  300. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/column.py +64 -0
  301. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/row.py +64 -0
  302. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/value.py +91 -0
  303. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +211 -0
  304. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +45 -0
  305. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +225 -0
  306. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
  307. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +81 -0
  308. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +50 -0
  309. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +464 -0
  310. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +119 -0
  311. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_address.py +246 -0
  312. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_column.py +171 -0
  313. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_row.py +182 -0
  314. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +189 -0
  315. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +589 -0
  316. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/hash_codes.py +58 -0
  317. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +334 -0
  318. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/cell.py +56 -0
  319. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +63 -0
  320. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/json.py +61 -0
  321. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
  322. arctrl-3.2.2/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +53 -0
  323. arctrl-3.2.2/src/ARCtrl/py/fable_modules/siren/config.py +1075 -0
  324. arctrl-3.2.2/src/ARCtrl/py/fable_modules/siren/formatting.py +1203 -0
  325. arctrl-3.2.2/src/ARCtrl/py/fable_modules/siren/siren.py +1691 -0
  326. arctrl-3.2.2/src/ARCtrl/py/fable_modules/siren/siren_types.py +2228 -0
  327. arctrl-3.2.2/src/ARCtrl/py/fable_modules/siren/theme_variables.py +518 -0
  328. arctrl-3.2.2/src/ARCtrl/py/fable_modules/siren/yaml.py +120 -0
  329. arctrl-3.2.2/src/ARCtrl/py/fable_modules/thoth_json_core/decode.py +1832 -0
  330. arctrl-3.2.2/src/ARCtrl/py/fable_modules/thoth_json_core/encode.py +350 -0
  331. arctrl-3.2.2/src/ARCtrl/py/fable_modules/thoth_json_core/types.py +239 -0
  332. arctrl-3.2.2/src/ARCtrl/py/fable_modules/thoth_json_python/decode.py +115 -0
  333. arctrl-3.2.2/src/ARCtrl/py/fable_modules/thoth_json_python/encode.py +76 -0
  334. arctrl-3.2.2/src/ARCtrl/py/fable_modules/yamlicious/Interop/py_interop.py +12 -0
  335. arctrl-3.2.2/src/ARCtrl/py/fable_modules/yamlicious/decode.py +1964 -0
  336. arctrl-3.2.2/src/ARCtrl/py/fable_modules/yamlicious/encode.py +88 -0
  337. arctrl-3.2.2/src/ARCtrl/py/fable_modules/yamlicious/escapes.py +278 -0
  338. arctrl-3.2.2/src/ARCtrl/py/fable_modules/yamlicious/persil.py +475 -0
  339. arctrl-3.2.2/src/ARCtrl/py/fable_modules/yamlicious/preprocessing.py +355 -0
  340. arctrl-3.2.2/src/ARCtrl/py/fable_modules/yamlicious/reader.py +2326 -0
  341. arctrl-3.2.2/src/ARCtrl/py/fable_modules/yamlicious/regex_active_patterns.py +419 -0
  342. arctrl-3.2.2/src/ARCtrl/py/fable_modules/yamlicious/syntax.py +1005 -0
  343. arctrl-3.2.2/src/ARCtrl/py/fable_modules/yamlicious/writer.py +881 -0
  344. arctrl-3.2.2/src/ARCtrl/py/fable_modules/yamlicious/yamlicious_types.py +401 -0
  345. arctrl-3.2.2/src/ARCtrl/py/json.py +357 -0
  346. arctrl-3.2.2/src/ARCtrl/py/license.py +186 -0
  347. arctrl-3.2.2/src/ARCtrl/py/rocrate_io.py +249 -0
  348. arctrl-3.2.2/src/ARCtrl/py/template_web.py +23 -0
  349. arctrl-3.2.2/src/ARCtrl/py/xlsx.py +201 -0
  350. arctrl-3.2.2/src/ARCtrl/py/yaml.py +62 -0
  351. arctrl-3.2.1/PKG-INFO +0 -157
  352. arctrl-3.2.1/pyproject.toml +0 -44
  353. arctrl-3.2.1/src/ARCtrl/py/CWL/cwlknown_field_names.py +0 -223
  354. arctrl-3.2.1/src/ARCtrl/py/CWL/cwlprocessing_unit.py +0 -259
  355. arctrl-3.2.1/src/ARCtrl/py/CWL/cwltypes.py +0 -1416
  356. arctrl-3.2.1/src/ARCtrl/py/CWL/decode.py +0 -4416
  357. arctrl-3.2.1/src/ARCtrl/py/CWL/dynamic_obj_helpers.py +0 -115
  358. arctrl-3.2.1/src/ARCtrl/py/CWL/encode.py +0 -2565
  359. arctrl-3.2.1/src/ARCtrl/py/CWL/expression_tool_description.py +0 -206
  360. arctrl-3.2.1/src/ARCtrl/py/CWL/hash_helpers.py +0 -58
  361. arctrl-3.2.1/src/ARCtrl/py/CWL/inputs.py +0 -283
  362. arctrl-3.2.1/src/ARCtrl/py/CWL/operation_description.py +0 -183
  363. arctrl-3.2.1/src/ARCtrl/py/CWL/outputs.py +0 -269
  364. arctrl-3.2.1/src/ARCtrl/py/CWL/parameter_reference.py +0 -104
  365. arctrl-3.2.1/src/ARCtrl/py/CWL/parameter_value.py +0 -553
  366. arctrl-3.2.1/src/ARCtrl/py/CWL/requirements.py +0 -889
  367. arctrl-3.2.1/src/ARCtrl/py/CWL/tool_description.py +0 -285
  368. arctrl-3.2.1/src/ARCtrl/py/CWL/workflow_description.py +0 -195
  369. arctrl-3.2.1/src/ARCtrl/py/CWL/workflow_steps.py +0 -579
  370. arctrl-3.2.1/src/ARCtrl/py/Contract/arc_assay.py +0 -132
  371. arctrl-3.2.1/src/ARCtrl/py/Contract/arc_investigation.py +0 -95
  372. arctrl-3.2.1/src/ARCtrl/py/Contract/arc_run.py +0 -302
  373. arctrl-3.2.1/src/ARCtrl/py/Contract/arc_study.py +0 -133
  374. arctrl-3.2.1/src/ARCtrl/py/Contract/arc_workflow.py +0 -222
  375. arctrl-3.2.1/src/ARCtrl/py/Contract/contract.py +0 -297
  376. arctrl-3.2.1/src/ARCtrl/py/Contract/datamap.py +0 -408
  377. arctrl-3.2.1/src/ARCtrl/py/Contract/git.py +0 -118
  378. arctrl-3.2.1/src/ARCtrl/py/Contract/license.py +0 -53
  379. arctrl-3.2.1/src/ARCtrl/py/Contract/validation_packages_config.py +0 -113
  380. arctrl-3.2.1/src/ARCtrl/py/ContractIO/contract_io.py +0 -424
  381. arctrl-3.2.1/src/ARCtrl/py/ContractIO/file_system_helper.py +0 -269
  382. arctrl-3.2.1/src/ARCtrl/py/Conversion/assay.py +0 -150
  383. arctrl-3.2.1/src/ARCtrl/py/Conversion/basic.py +0 -661
  384. arctrl-3.2.1/src/ARCtrl/py/Conversion/column_index.py +0 -90
  385. arctrl-3.2.1/src/ARCtrl/py/Conversion/datamap.py +0 -33
  386. arctrl-3.2.1/src/ARCtrl/py/Conversion/date_time.py +0 -62
  387. arctrl-3.2.1/src/ARCtrl/py/Conversion/investigation.py +0 -190
  388. arctrl-3.2.1/src/ARCtrl/py/Conversion/person.py +0 -176
  389. arctrl-3.2.1/src/ARCtrl/py/Conversion/process.py +0 -884
  390. arctrl-3.2.1/src/ARCtrl/py/Conversion/run.py +0 -830
  391. arctrl-3.2.1/src/ARCtrl/py/Conversion/scholarly_article.py +0 -161
  392. arctrl-3.2.1/src/ARCtrl/py/Conversion/study.py +0 -118
  393. arctrl-3.2.1/src/ARCtrl/py/Conversion/table.py +0 -302
  394. arctrl-3.2.1/src/ARCtrl/py/Conversion/workflow.py +0 -735
  395. arctrl-3.2.1/src/ARCtrl/py/Core/Helper/collections_.py +0 -480
  396. arctrl-3.2.1/src/ARCtrl/py/Core/Helper/date_time.py +0 -27
  397. arctrl-3.2.1/src/ARCtrl/py/Core/Helper/hash_codes.py +0 -78
  398. arctrl-3.2.1/src/ARCtrl/py/Core/Helper/identifier.py +0 -372
  399. arctrl-3.2.1/src/ARCtrl/py/Core/Helper/orcid.py +0 -46
  400. arctrl-3.2.1/src/ARCtrl/py/Core/Helper/regex.py +0 -613
  401. arctrl-3.2.1/src/ARCtrl/py/Core/Helper/sem_ver.py +0 -76
  402. arctrl-3.2.1/src/ARCtrl/py/Core/Helper/url.py +0 -150
  403. arctrl-3.2.1/src/ARCtrl/py/Core/Process/column_index.py +0 -313
  404. arctrl-3.2.1/src/ARCtrl/py/Core/Process/component.py +0 -257
  405. arctrl-3.2.1/src/ARCtrl/py/Core/Process/factor.py +0 -169
  406. arctrl-3.2.1/src/ARCtrl/py/Core/Process/factor_value.py +0 -219
  407. arctrl-3.2.1/src/ARCtrl/py/Core/Process/material.py +0 -80
  408. arctrl-3.2.1/src/ARCtrl/py/Core/Process/material_attribute.py +0 -133
  409. arctrl-3.2.1/src/ARCtrl/py/Core/Process/material_attribute_value.py +0 -217
  410. arctrl-3.2.1/src/ARCtrl/py/Core/Process/material_type.py +0 -59
  411. arctrl-3.2.1/src/ARCtrl/py/Core/Process/process.py +0 -500
  412. arctrl-3.2.1/src/ARCtrl/py/Core/Process/process_input.py +0 -332
  413. arctrl-3.2.1/src/ARCtrl/py/Core/Process/process_output.py +0 -293
  414. arctrl-3.2.1/src/ARCtrl/py/Core/Process/process_parameter_value.py +0 -232
  415. arctrl-3.2.1/src/ARCtrl/py/Core/Process/process_sequence.py +0 -390
  416. arctrl-3.2.1/src/ARCtrl/py/Core/Process/protocol.py +0 -268
  417. arctrl-3.2.1/src/ARCtrl/py/Core/Process/protocol_parameter.py +0 -119
  418. arctrl-3.2.1/src/ARCtrl/py/Core/Process/sample.py +0 -88
  419. arctrl-3.2.1/src/ARCtrl/py/Core/Process/source.py +0 -68
  420. arctrl-3.2.1/src/ARCtrl/py/Core/Table/arc_table.py +0 -1245
  421. arctrl-3.2.1/src/ARCtrl/py/Core/Table/arc_table_aux.py +0 -1404
  422. arctrl-3.2.1/src/ARCtrl/py/Core/Table/arc_tables.py +0 -604
  423. arctrl-3.2.1/src/ARCtrl/py/Core/Table/composite_cell.py +0 -379
  424. arctrl-3.2.1/src/ARCtrl/py/Core/Table/composite_column.py +0 -82
  425. arctrl-3.2.1/src/ARCtrl/py/Core/Table/composite_header.py +0 -1040
  426. arctrl-3.2.1/src/ARCtrl/py/Core/arc_types.py +0 -5110
  427. arctrl-3.2.1/src/ARCtrl/py/Core/comment.py +0 -142
  428. arctrl-3.2.1/src/ARCtrl/py/Core/comment_list.py +0 -137
  429. arctrl-3.2.1/src/ARCtrl/py/Core/conversion.py +0 -1585
  430. arctrl-3.2.1/src/ARCtrl/py/Core/data.py +0 -250
  431. arctrl-3.2.1/src/ARCtrl/py/Core/data_context.py +0 -141
  432. arctrl-3.2.1/src/ARCtrl/py/Core/data_file.py +0 -113
  433. arctrl-3.2.1/src/ARCtrl/py/Core/datamap.py +0 -248
  434. arctrl-3.2.1/src/ARCtrl/py/Core/ontology_annotation.py +0 -425
  435. arctrl-3.2.1/src/ARCtrl/py/Core/ontology_source_reference.py +0 -111
  436. arctrl-3.2.1/src/ARCtrl/py/Core/person.py +0 -262
  437. arctrl-3.2.1/src/ARCtrl/py/Core/publication.py +0 -167
  438. arctrl-3.2.1/src/ARCtrl/py/Core/scalar_value.py +0 -234
  439. arctrl-3.2.1/src/ARCtrl/py/Core/template.py +0 -246
  440. arctrl-3.2.1/src/ARCtrl/py/Core/templates.py +0 -147
  441. arctrl-3.2.1/src/ARCtrl/py/FileSystem/commit.py +0 -25
  442. arctrl-3.2.1/src/ARCtrl/py/FileSystem/file_system.py +0 -64
  443. arctrl-3.2.1/src/ARCtrl/py/FileSystem/file_system_tree.py +0 -510
  444. arctrl-3.2.1/src/ARCtrl/py/FileSystem/path.py +0 -279
  445. arctrl-3.2.1/src/ARCtrl/py/Json/Datamap/data_context.py +0 -95
  446. arctrl-3.2.1/src/ARCtrl/py/Json/Datamap/datamap.py +0 -49
  447. arctrl-3.2.1/src/ARCtrl/py/Json/Process/assay_materials.py +0 -49
  448. arctrl-3.2.1/src/ARCtrl/py/Json/Process/component.py +0 -125
  449. arctrl-3.2.1/src/ARCtrl/py/Json/Process/factor.py +0 -107
  450. arctrl-3.2.1/src/ARCtrl/py/Json/Process/factor_value.py +0 -101
  451. arctrl-3.2.1/src/ARCtrl/py/Json/Process/material.py +0 -232
  452. arctrl-3.2.1/src/ARCtrl/py/Json/Process/material_attribute.py +0 -80
  453. arctrl-3.2.1/src/ARCtrl/py/Json/Process/material_attribute_value.py +0 -101
  454. arctrl-3.2.1/src/ARCtrl/py/Json/Process/material_type.py +0 -58
  455. arctrl-3.2.1/src/ARCtrl/py/Json/Process/process.py +0 -287
  456. arctrl-3.2.1/src/ARCtrl/py/Json/Process/process_parameter_value.py +0 -84
  457. arctrl-3.2.1/src/ARCtrl/py/Json/Process/protocol.py +0 -355
  458. arctrl-3.2.1/src/ARCtrl/py/Json/Process/protocol_parameter.py +0 -92
  459. arctrl-3.2.1/src/ARCtrl/py/Json/Process/sample.py +0 -316
  460. arctrl-3.2.1/src/ARCtrl/py/Json/Process/source.py +0 -234
  461. arctrl-3.2.1/src/ARCtrl/py/Json/Process/study_materials.py +0 -55
  462. arctrl-3.2.1/src/ARCtrl/py/Json/Process/value.py +0 -45
  463. arctrl-3.2.1/src/ARCtrl/py/Json/ROCrate/ldcontext.py +0 -150
  464. arctrl-3.2.1/src/ARCtrl/py/Json/ROCrate/ldgraph.py +0 -120
  465. arctrl-3.2.1/src/ARCtrl/py/Json/ROCrate/ldnode.py +0 -383
  466. arctrl-3.2.1/src/ARCtrl/py/Json/ROCrate/ldref.py +0 -43
  467. arctrl-3.2.1/src/ARCtrl/py/Json/ROCrate/ldvalue.py +0 -104
  468. arctrl-3.2.1/src/ARCtrl/py/Json/Table/arc_table.py +0 -370
  469. arctrl-3.2.1/src/ARCtrl/py/Json/Table/cell_table.py +0 -82
  470. arctrl-3.2.1/src/ARCtrl/py/Json/Table/composite_cell.py +0 -165
  471. arctrl-3.2.1/src/ARCtrl/py/Json/Table/composite_header.py +0 -111
  472. arctrl-3.2.1/src/ARCtrl/py/Json/Table/iotype.py +0 -24
  473. arctrl-3.2.1/src/ARCtrl/py/Json/Table/oatable.py +0 -81
  474. arctrl-3.2.1/src/ARCtrl/py/Json/Table/templates.py +0 -262
  475. arctrl-3.2.1/src/ARCtrl/py/Json/assay.py +0 -556
  476. arctrl-3.2.1/src/ARCtrl/py/Json/comment.py +0 -212
  477. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_assay_context.py +0 -104
  478. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_comment_context.py +0 -63
  479. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_component_context.py +0 -80
  480. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_data_context.py +0 -77
  481. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_factor_context.py +0 -77
  482. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_factor_value_context.py +0 -87
  483. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_investigation_context.py +0 -113
  484. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_material_attribute_context.py +0 -67
  485. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +0 -83
  486. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_material_context.py +0 -74
  487. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +0 -71
  488. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +0 -78
  489. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_organization_context.py +0 -58
  490. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_person_context.py +0 -134
  491. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_process_context.py +0 -97
  492. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +0 -83
  493. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_protocol_context.py +0 -100
  494. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +0 -67
  495. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_publication_context.py +0 -81
  496. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_sample_context.py +0 -68
  497. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_source_context.py +0 -69
  498. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/isa_study_context.py +0 -128
  499. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/property_value_context.py +0 -72
  500. arctrl-3.2.1/src/ARCtrl/py/Json/context/rocrate/rocrate_context.py +0 -84
  501. arctrl-3.2.1/src/ARCtrl/py/Json/converter_options.py +0 -39
  502. arctrl-3.2.1/src/ARCtrl/py/Json/data.py +0 -352
  503. arctrl-3.2.1/src/ARCtrl/py/Json/data_file.py +0 -68
  504. arctrl-3.2.1/src/ARCtrl/py/Json/decode.py +0 -265
  505. arctrl-3.2.1/src/ARCtrl/py/Json/encode.py +0 -139
  506. arctrl-3.2.1/src/ARCtrl/py/Json/idtable.py +0 -41
  507. arctrl-3.2.1/src/ARCtrl/py/Json/investigation.py +0 -656
  508. arctrl-3.2.1/src/ARCtrl/py/Json/ontology_annotation.py +0 -406
  509. arctrl-3.2.1/src/ARCtrl/py/Json/ontology_source_reference.py +0 -257
  510. arctrl-3.2.1/src/ARCtrl/py/Json/person.py +0 -645
  511. arctrl-3.2.1/src/ARCtrl/py/Json/property_value.py +0 -379
  512. arctrl-3.2.1/src/ARCtrl/py/Json/publication.py +0 -269
  513. arctrl-3.2.1/src/ARCtrl/py/Json/run.py +0 -244
  514. arctrl-3.2.1/src/ARCtrl/py/Json/string_table.py +0 -93
  515. arctrl-3.2.1/src/ARCtrl/py/Json/study.py +0 -763
  516. arctrl-3.2.1/src/ARCtrl/py/Json/workflow.py +0 -279
  517. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/component.py +0 -67
  518. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/factor.py +0 -40
  519. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/factor_value.py +0 -44
  520. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/material.py +0 -67
  521. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/material_attribute.py +0 -44
  522. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/material_attribute_value.py +0 -67
  523. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/material_type.py +0 -40
  524. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/process.py +0 -67
  525. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/process_input.py +0 -44
  526. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/process_output.py +0 -67
  527. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/process_parameter_value.py +0 -67
  528. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/process_sequence.py +0 -78
  529. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/protocol.py +0 -67
  530. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/protocol_parameter.py +0 -40
  531. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/sample.py +0 -67
  532. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/source.py +0 -67
  533. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/study_materials.py +0 -55
  534. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Process/value.py +0 -36
  535. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Table/arc_table.py +0 -106
  536. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Table/composite_cell.py +0 -40
  537. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Table/composite_header.py +0 -40
  538. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Table/compression.py +0 -63
  539. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Table/iotype.py +0 -40
  540. arctrl-3.2.1/src/ARCtrl/py/JsonIO/Table/templates.py +0 -117
  541. arctrl-3.2.1/src/ARCtrl/py/JsonIO/assay.py +0 -124
  542. arctrl-3.2.1/src/ARCtrl/py/JsonIO/comment.py +0 -88
  543. arctrl-3.2.1/src/ARCtrl/py/JsonIO/data.py +0 -67
  544. arctrl-3.2.1/src/ARCtrl/py/JsonIO/data_file.py +0 -63
  545. arctrl-3.2.1/src/ARCtrl/py/JsonIO/datamap.py +0 -40
  546. arctrl-3.2.1/src/ARCtrl/py/JsonIO/investigation.py +0 -99
  547. arctrl-3.2.1/src/ARCtrl/py/JsonIO/ldobject.py +0 -117
  548. arctrl-3.2.1/src/ARCtrl/py/JsonIO/ontology_annotation.py +0 -88
  549. arctrl-3.2.1/src/ARCtrl/py/JsonIO/ontology_source_reference.py +0 -88
  550. arctrl-3.2.1/src/ARCtrl/py/JsonIO/person.py +0 -92
  551. arctrl-3.2.1/src/ARCtrl/py/JsonIO/publication.py +0 -92
  552. arctrl-3.2.1/src/ARCtrl/py/JsonIO/run.py +0 -74
  553. arctrl-3.2.1/src/ARCtrl/py/JsonIO/study.py +0 -125
  554. arctrl-3.2.1/src/ARCtrl/py/JsonIO/workflow.py +0 -74
  555. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/comment.py +0 -125
  556. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/computational_workflow.py +0 -407
  557. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/computer_language.py +0 -258
  558. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/create_action.py +0 -278
  559. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/creative_work.py +0 -514
  560. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/dataset.py +0 -929
  561. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/defined_term.py +0 -125
  562. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/file.py +0 -256
  563. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/formal_parameter.py +0 -385
  564. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/lab_process.py +0 -317
  565. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/lab_protocol.py +0 -356
  566. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/organization.py +0 -80
  567. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/person.py +0 -450
  568. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/postal_address.py +0 -186
  569. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/property_value.py +0 -858
  570. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/sample.py +0 -157
  571. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/scholarly_article.py +0 -207
  572. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/software_source_code.py +0 -277
  573. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/workflow_invocation.py +0 -46
  574. arctrl-3.2.1/src/ARCtrl/py/ROCrate/LDTypes/workflow_protocol.py +0 -50
  575. arctrl-3.2.1/src/ARCtrl/py/ROCrate/arc_rocrate_metadata.py +0 -42
  576. arctrl-3.2.1/src/ARCtrl/py/ROCrate/ldcontext.py +0 -411
  577. arctrl-3.2.1/src/ARCtrl/py/ROCrate/ldobject.py +0 -1297
  578. arctrl-3.2.1/src/ARCtrl/py/ROCrate/rocrate_context.py +0 -53
  579. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/AnnotationTable/arc_table.py +0 -203
  580. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/AnnotationTable/composite_cell.py +0 -118
  581. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/AnnotationTable/composite_column.py +0 -310
  582. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/AnnotationTable/composite_header.py +0 -583
  583. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/DatamapTable/datamap_column.py +0 -119
  584. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/DatamapTable/datamap_header.py +0 -622
  585. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/DatamapTable/datamap_table.py +0 -130
  586. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/assays.py +0 -122
  587. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/contacts.py +0 -129
  588. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/conversions.py +0 -203
  589. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/design_descriptors.py +0 -38
  590. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/factors.py +0 -104
  591. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/ontology_annotation.py +0 -85
  592. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/ontology_source_reference.py +0 -93
  593. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/protocols.py +0 -145
  594. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/publication.py +0 -118
  595. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/run.py +0 -119
  596. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/sparse_table.py +0 -519
  597. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/study.py +0 -314
  598. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/Metadata/workflow.py +0 -157
  599. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/arc_assay.py +0 -249
  600. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/arc_investigation.py +0 -423
  601. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/arc_run.py +0 -201
  602. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/arc_study.py +0 -155
  603. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/arc_workflow.py +0 -186
  604. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/collection_aux.py +0 -152
  605. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/datamap.py +0 -51
  606. arctrl-3.2.1/src/ARCtrl/py/Spreadsheet/template.py +0 -456
  607. arctrl-3.2.1/src/ARCtrl/py/ValidationPackages/validation_package.py +0 -90
  608. arctrl-3.2.1/src/ARCtrl/py/ValidationPackages/validation_packages_config.py +0 -138
  609. arctrl-3.2.1/src/ARCtrl/py/WebRequest/web_request_py.py +0 -159
  610. arctrl-3.2.1/src/ARCtrl/py/WorkflowGraph/adapters.py +0 -159
  611. arctrl-3.2.1/src/ARCtrl/py/WorkflowGraph/build_options.py +0 -62
  612. arctrl-3.2.1/src/ARCtrl/py/WorkflowGraph/builder.py +0 -800
  613. arctrl-3.2.1/src/ARCtrl/py/WorkflowGraph/graph_types.py +0 -410
  614. arctrl-3.2.1/src/ARCtrl/py/WorkflowGraph/query_helpers.py +0 -99
  615. arctrl-3.2.1/src/ARCtrl/py/WorkflowGraph/reference_parsing.py +0 -75
  616. arctrl-3.2.1/src/ARCtrl/py/WorkflowGraph/visualization_siren.py +0 -624
  617. arctrl-3.2.1/src/ARCtrl/py/WorkflowGraph/workflow_graph.py +0 -123
  618. arctrl-3.2.1/src/ARCtrl/py/Yaml/encode.py +0 -12
  619. arctrl-3.2.1/src/ARCtrl/py/Yaml/validation_package.py +0 -79
  620. arctrl-3.2.1/src/ARCtrl/py/Yaml/validation_packages_config.py +0 -84
  621. arctrl-3.2.1/src/ARCtrl/py/arc.py +0 -1875
  622. arctrl-3.2.1/src/ARCtrl/py/column_index.py +0 -313
  623. arctrl-3.2.1/src/ARCtrl/py/conversion.py +0 -152
  624. arctrl-3.2.1/src/ARCtrl/py/cross_async.py +0 -84
  625. arctrl-3.2.1/src/ARCtrl/py/cwlrun_resolver.py +0 -240
  626. arctrl-3.2.1/src/ARCtrl/py/fable_modules/dynamic_obj/dyn_obj.py +0 -197
  627. arctrl-3.2.1/src/ARCtrl/py/fable_modules/dynamic_obj/dynamic_obj.py +0 -497
  628. arctrl-3.2.1/src/ARCtrl/py/fable_modules/dynamic_obj/fable_py.py +0 -287
  629. arctrl-3.2.1/src/ARCtrl/py/fable_modules/dynamic_obj/hash_codes.py +0 -78
  630. arctrl-3.2.1/src/ARCtrl/py/fable_modules/dynamic_obj/property_helper.py +0 -29
  631. arctrl-3.2.1/src/ARCtrl/py/fable_modules/dynamic_obj/reflection_utils.py +0 -92
  632. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fable_openpyxl/openpyxl.py +0 -332
  633. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fable_python/fable/testing.py +0 -132
  634. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fable_python/fastapi/fast_api.py +0 -115
  635. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +0 -48
  636. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fable_python/stdlib/builtins_.py +0 -62
  637. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fable_python/stdlib/json.py +0 -44
  638. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fable_python/stdlib/sys_.py +0 -64
  639. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +0 -365
  640. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +0 -457
  641. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +0 -240
  642. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +0 -156
  643. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +0 -156
  644. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +0 -137
  645. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +0 -141
  646. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +0 -489
  647. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/types.py +0 -392
  648. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +0 -123
  649. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/cell.py +0 -103
  650. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/column.py +0 -65
  651. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/row.py +0 -65
  652. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/value.py +0 -92
  653. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +0 -211
  654. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +0 -45
  655. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +0 -225
  656. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +0 -92
  657. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +0 -81
  658. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +0 -50
  659. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +0 -464
  660. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +0 -119
  661. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_address.py +0 -246
  662. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_column.py +0 -172
  663. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_row.py +0 -183
  664. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +0 -189
  665. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +0 -590
  666. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/hash_codes.py +0 -58
  667. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +0 -333
  668. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/cell.py +0 -56
  669. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +0 -63
  670. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/json.py +0 -62
  671. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/workbook.py +0 -41
  672. arctrl-3.2.1/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +0 -53
  673. arctrl-3.2.1/src/ARCtrl/py/fable_modules/siren/config.py +0 -1118
  674. arctrl-3.2.1/src/ARCtrl/py/fable_modules/siren/formatting.py +0 -1207
  675. arctrl-3.2.1/src/ARCtrl/py/fable_modules/siren/siren.py +0 -1691
  676. arctrl-3.2.1/src/ARCtrl/py/fable_modules/siren/siren_types.py +0 -2226
  677. arctrl-3.2.1/src/ARCtrl/py/fable_modules/siren/theme_variables.py +0 -519
  678. arctrl-3.2.1/src/ARCtrl/py/fable_modules/siren/yaml.py +0 -119
  679. arctrl-3.2.1/src/ARCtrl/py/fable_modules/thoth_json_core/decode.py +0 -1832
  680. arctrl-3.2.1/src/ARCtrl/py/fable_modules/thoth_json_core/encode.py +0 -350
  681. arctrl-3.2.1/src/ARCtrl/py/fable_modules/thoth_json_core/types.py +0 -239
  682. arctrl-3.2.1/src/ARCtrl/py/fable_modules/thoth_json_python/decode.py +0 -115
  683. arctrl-3.2.1/src/ARCtrl/py/fable_modules/thoth_json_python/encode.py +0 -76
  684. arctrl-3.2.1/src/ARCtrl/py/fable_modules/yamlicious/Interop/py_interop.py +0 -13
  685. arctrl-3.2.1/src/ARCtrl/py/fable_modules/yamlicious/decode.py +0 -1963
  686. arctrl-3.2.1/src/ARCtrl/py/fable_modules/yamlicious/encode.py +0 -89
  687. arctrl-3.2.1/src/ARCtrl/py/fable_modules/yamlicious/escapes.py +0 -277
  688. arctrl-3.2.1/src/ARCtrl/py/fable_modules/yamlicious/persil.py +0 -474
  689. arctrl-3.2.1/src/ARCtrl/py/fable_modules/yamlicious/preprocessing.py +0 -355
  690. arctrl-3.2.1/src/ARCtrl/py/fable_modules/yamlicious/reader.py +0 -2337
  691. arctrl-3.2.1/src/ARCtrl/py/fable_modules/yamlicious/regex_active_patterns.py +0 -422
  692. arctrl-3.2.1/src/ARCtrl/py/fable_modules/yamlicious/syntax.py +0 -1003
  693. arctrl-3.2.1/src/ARCtrl/py/fable_modules/yamlicious/writer.py +0 -885
  694. arctrl-3.2.1/src/ARCtrl/py/fable_modules/yamlicious/yamlicious_types.py +0 -395
  695. arctrl-3.2.1/src/ARCtrl/py/json.py +0 -358
  696. arctrl-3.2.1/src/ARCtrl/py/license.py +0 -187
  697. arctrl-3.2.1/src/ARCtrl/py/rocrate_io.py +0 -250
  698. arctrl-3.2.1/src/ARCtrl/py/template_web.py +0 -23
  699. arctrl-3.2.1/src/ARCtrl/py/xlsx.py +0 -201
  700. arctrl-3.2.1/src/ARCtrl/py/yaml.py +0 -62
  701. {arctrl-3.2.1 → arctrl-3.2.2}/LICENSE +0 -0
  702. {arctrl-3.2.1 → arctrl-3.2.2}/README.md +0 -0
  703. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/__init__.py +0 -0
  704. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/cwl.py +0 -0
  705. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/CWL/__init__.py +0 -0
  706. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Contract/__init__.py +0 -0
  707. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Contract/arc.py +0 -0
  708. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/ContractIO/__init__.py +0 -0
  709. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Conversion/__init__.py +0 -0
  710. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Core/Helper/__init__.py +0 -0
  711. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Core/Helper/printer.py +0 -0
  712. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Core/Process/__init__.py +0 -0
  713. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Core/Table/__init__.py +0 -0
  714. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Core/__init__.py +0 -0
  715. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Core/identifier_setters.py +0 -0
  716. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Core/iproperty_value.py +0 -0
  717. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Core/uri.py +0 -0
  718. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/FileSystem/__init__.py +0 -0
  719. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/FileSystem/default_gitattributes.py +0 -0
  720. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/FileSystem/default_gitignore.py +0 -0
  721. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/FileSystem/default_license.py +0 -0
  722. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Json/Datamap/__init__.py +0 -0
  723. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Json/Process/__init__.py +0 -0
  724. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Json/Process/process_input.py +0 -0
  725. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Json/Process/process_output.py +0 -0
  726. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Json/ROCrate/__init__.py +0 -0
  727. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Json/Table/__init__.py +0 -0
  728. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Json/__init__.py +0 -0
  729. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Json/context/rocrate/__init__.py +0 -0
  730. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/JsonIO/Process/__init__.py +0 -0
  731. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/JsonIO/Table/__init__.py +0 -0
  732. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/JsonIO/__init__.py +0 -0
  733. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/JsonIO/decode.py +0 -0
  734. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/JsonIO/encode.py +0 -0
  735. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/ROCrate/LDTypes/__init__.py +0 -0
  736. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/ROCrate/__init__.py +0 -0
  737. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/ROCrate/dyn_obj_extensions.py +0 -0
  738. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/ROCrate/helper.py +0 -0
  739. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  740. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
  741. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  742. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Spreadsheet/Metadata/comment.py +0 -0
  743. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Spreadsheet/__init__.py +0 -0
  744. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Spreadsheet/assembly_info.py +0 -0
  745. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/ValidationPackages/__init__.py +0 -0
  746. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/WebRequest/__init__.py +0 -0
  747. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/WebRequest/web_request.py +0 -0
  748. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/WorkflowGraph/__init__.py +0 -0
  749. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Yaml/__init__.py +0 -0
  750. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/Yaml/decode.py +0 -0
  751. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/__init__.py +0 -0
  752. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  753. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/dynamic_obj/fable_js.py +0 -0
  754. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  755. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  756. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +0 -0
  757. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/fable/__init__.py +0 -0
  758. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/fable/types.py +0 -0
  759. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/fastapi/__init__.py +0 -0
  760. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  761. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/flask/flask.py +0 -0
  762. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  763. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/jupyter/ipython.py +0 -0
  764. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/pydantic/__init__.py +0 -0
  765. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/pydantic/pydantic.py +0 -0
  766. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  767. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/ast.py +0 -0
  768. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  769. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +0 -0
  770. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +0 -0
  771. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +0 -0
  772. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/base64_.py +0 -0
  773. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/datetime_.py +0 -0
  774. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/functools_.py +0 -0
  775. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/heapq.py +0 -0
  776. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/html.py +0 -0
  777. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/itertools_.py +0 -0
  778. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/logging.py +0 -0
  779. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/math_.py +0 -0
  780. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/os_.py +0 -0
  781. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/queue_.py +0 -0
  782. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/random_.py +0 -0
  783. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/string_.py +0 -0
  784. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/threading_.py +0 -0
  785. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/time_.py +0 -0
  786. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/tk_inter.py +0 -0
  787. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fable_python/stdlib/traceback.py +0 -0
  788. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  789. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  790. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +0 -0
  791. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +0 -0
  792. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +0 -0
  793. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  794. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/table.py +0 -0
  795. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +0 -0
  796. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  797. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  798. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +0 -0
  799. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  800. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  801. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +0 -0
  802. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/table.py +0 -0
  803. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +0 -0
  804. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/siren/__init__.py +0 -0
  805. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/siren/util.py +0 -0
  806. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  807. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/thoth_json_core/decoder_ce.py +0 -0
  808. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  809. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/thoth_json_python/python.py +0 -0
  810. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  811. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/yamlicious/Interop/js_interop.py +0 -0
  812. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/yamlicious/__init__.py +0 -0
  813. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/yamlicious/library.py +0 -0
  814. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/py/fable_modules/yamlicious/regex.py +0 -0
  815. {arctrl-3.2.1 → arctrl-3.2.2}/src/ARCtrl/rocrate.py +0 -0
arctrl-3.2.2/PKG-INFO ADDED
@@ -0,0 +1,158 @@
1
+ Metadata-Version: 2.4
2
+ Name: arctrl
3
+ Version: 3.2.2
4
+ Summary: Library for management of Annotated Research Contexts (ARCs) using an in-memory representation and runtimer agnostic contract systems.
5
+ License-File: LICENSE
6
+ Keywords: arc,annotated research context,isa,research data,multi platform
7
+ Author: Heinrich Lukas Weil
8
+ Author-email: weil@rptu.de
9
+ Maintainer: Florian Wetzels
10
+ Requires-Python: >=3.12
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Programming Language :: Python :: 3.14
15
+ Classifier: Programming Language :: Python :: 3.15
16
+ Requires-Dist: fable-library (==5.18.0)
17
+ Requires-Dist: openpyxl (>=3.1.5,<4)
18
+ Requires-Dist: requests (>=2.28.1,<3.0.0)
19
+ Project-URL: Repository, https://github.com/nfdi4plants/ARCtrl
20
+ Description-Content-Type: text/markdown
21
+
22
+
23
+ ![logo](logos/ARCtrl_horizontal.png)
24
+
25
+ # ARCtrl
26
+
27
+ [![DOI](https://img.shields.io/badge/Cite%20Us-10.5281%2Fzenodo.15194394-008273?logo=zenodo&logoColor=C70039)](https://doi.org/10.5281/zenodo.15194394)
28
+
29
+ > **ARCtrl** the easy way to read, manipulate and write ARCs in __.NET__, __JavaScript__ and __Python__! ❤️
30
+
31
+ | Version | Downloads |
32
+ | :--------|-----------:|
33
+ |<a href="https://www.nuget.org/packages/ARCtrl/"><img alt="Nuget" src="https://img.shields.io/nuget/v/ARCtrl?logo=nuget&color=%234fb3d9"></a>|<a href="https://www.nuget.org/packages/ARCtrl/"><img alt="Nuget" src="https://img.shields.io/nuget/dt/ARCtrl?color=%234FB3D9"></a>|
34
+ |<a href="https://www.npmjs.com/package/@nfdi4plants/arctrl"><img alt="NPM" src="https://img.shields.io/npm/v/%40nfdi4plants/arctrl?logo=npm&color=%234fb3d9"></a>|<a href="https://www.npmjs.com/package/@nfdi4plants/arctrl"><img alt="NPM" src="https://img.shields.io/npm/dt/%40nfdi4plants%2Farctrl?color=%234fb3d9"></a>|
35
+ |<a href="https://pypi.org/project/ARCtrl/"><img alt="PyPI" src="https://img.shields.io/pypi/v/arctrl?logo=pypi&color=%234fb3d9"></a>|<a href="https://pypi.org/project/ARCtrl/"><img alt="PyPI" src="https://img.shields.io/pepy/dt/arctrl?color=%234fb3d9"></a>|
36
+
37
+ ## Install
38
+
39
+ #### .NET
40
+
41
+ ```fsharp
42
+ #r "nuget: ARCtrl"
43
+ ```
44
+
45
+ ```bash
46
+ <PackageReference Include="ARCtrl" Version="1.1.0" />
47
+ ```
48
+
49
+ #### JavaScript
50
+
51
+ ```bash
52
+ npm i @nfdi4plants/arctrl
53
+ ```
54
+
55
+ #### Python
56
+
57
+ ```bash
58
+ pip install arctrl
59
+ ```
60
+
61
+ ## Docs
62
+
63
+ Documentation can be found [here](https://nfdi4plants.github.io/nfdi4plants.knowledgebase/arctrl/)
64
+
65
+ ## Development
66
+
67
+ #### Requirements
68
+
69
+ - [nodejs and npm](https://nodejs.org/en/download)
70
+ - verify with `node --version` (Tested with v18.16.1)
71
+ - verify with `npm --version` (Tested with v9.2.0)
72
+ - [.NET SDK](https://dotnet.microsoft.com/en-us/download)
73
+ - verify with `dotnet --version` (Tested with 7.0.306)
74
+ - [Python](https://www.python.org/downloads/)
75
+ - verify with `py --version` (Tested with 3.12.2, known to work only for >=3.11)
76
+
77
+ #### Local Setup
78
+
79
+ ##### Windows
80
+
81
+ On windows you can use the `setup.cmd` to run the following steps automatically!
82
+
83
+ 1. Setup dotnet tools
84
+
85
+ `dotnet tool restore`
86
+
87
+
88
+ 2. Install NPM dependencies
89
+
90
+ `npm install`
91
+
92
+ 3. Setup python environment
93
+
94
+ `py -m venv .venv`
95
+
96
+ 4. Install [uv](https://docs.astral.sh/uv/) and dependencies
97
+
98
+ 1. `.\.venv\Scripts\python.exe -m pip install -U pip setuptools`
99
+ 2. `.\.venv\Scripts\python.exe -m pip install uv`
100
+ 3. `.\.venv\Scripts\python.exe -m uv pip install -r pyproject.toml --group dev`
101
+
102
+ Verify correct setup with `./build.cmd runtests` ✨
103
+
104
+ ##### Linux / macOS
105
+
106
+ On unix you can use the `setup.sh` to run the following steps automatically!
107
+
108
+ 1. Setup dotnet tools
109
+
110
+ `dotnet tool restore`
111
+
112
+
113
+ 2. Install NPM dependencies
114
+
115
+ `npm install`
116
+
117
+ 3. Setup python environment
118
+
119
+ `python -m venv .venv`
120
+
121
+ 4. Install [uv](https://docs.astral.sh/uv/) and dependencies
122
+
123
+ 1. `.venv/bin/python -m pip install -U pip setuptools`
124
+ 2. `.venv/bin/python -m pip install uv`
125
+ 3. `.venv/bin/python -m uv pip install -r pyproject.toml --group dev`
126
+
127
+ Verify correct setup with `bash build.sh runtests` ✨
128
+
129
+ ## Branding
130
+
131
+ Feel free to reference `ARCtrl` on slides or elsewhere using our logos:
132
+
133
+ |Square | Horizontal | Vertical |
134
+ | - | - | - |
135
+ | ![square](logos/ARCtrl_square.png) | ![horizontal](logos/ARCtrl_horizontal.png) | ![vertical](logos/ARCtrl_vertical.png) |
136
+
137
+ ## Performance
138
+
139
+ Measured on 13th Gen Intel(R) Core(TM) i7-13800H
140
+
141
+ | Name | Description | FSharp Time (ms) | JavaScript Time (ms) | Python Time (ms) |
142
+ | --- | --- | --- | --- | --- |
143
+ | Table_GetHashCode | From a table with 1 column and 10000 rows, retrieve the Hash Code | 0 ± 0 | 0 ± 1 | 91 ± 12 |
144
+ | Table_AddDistinctRows | Add 10000 distinct rows to a table with 4 columns. | 13 ± 2 | 14 ± 4 | 119 ± 12 |
145
+ | Table_AddIdenticalRows | Add 10000 identical rows to a table with 4 columns. | 6 ± 2 | 6 ± 1 | 104 ± 6 |
146
+ | Table_AddColumnsWithDistinctValues | Add 4 columns with 10000 distinct values each. | 8 ± 3 | 10 ± 1 | 53 ± 1 |
147
+ | Table_AddColumnsWithIdenticalValues | Add 4 columns with 10000 identical values each. | 5 ± 1 | 4 ± 0 | 47 ± 1 |
148
+ | Table_fillMissingCells | For a table 6 columns and 20000 rows, where each row has one missing value, fill those values with default values. | 0 ± 0 | 2 ± 1 | 6 ± 4 |
149
+ | Table_ToJson | Serialize a table with 5 columns and 10000 rows to json, with 3 fixed and 2 variable columns. | 227 ± 64 | 68 ± 18 | 7851 ± 1411 |
150
+ | Table_ToCompressedJson | Serialize a table with 5 columns and 10000 rows to compressed json, with 3 fixed and 2 variable columns. | 147 ± 15 | 2878 ± 135 | 6303 ± 1798 |
151
+ | Assay_toJson | Parse an assay with one table with 10000 rows and 6 columns to json, with 3 fixed and 3 variable columns. | 330 ± 36 | 88 ± 9 | 12644 ± 550 |
152
+ | Assay_fromJson | Parse an assay with one table with 10000 rows and 6 columns from json, with 3 fixed and 3 variable columns. | 355 ± 66 | 61 ± 6 | 6499 ± 1068 |
153
+ | Assay_toISAJson | Parse an assay with one table with 10000 rows and 6 columns to json, with 3 fixed and 3 variable columns | 487 ± 36 | 959 ± 36 | 15618 ± 482 |
154
+ | Assay_fromISAJson | Parse an assay with one table with 10000 rows and 6 columns from json, with 3 fixed and 3 variable columns | 359 ± 29 | 706 ± 46 | 9587 ± 621 |
155
+ | Study_FromWorkbook | Parse a workbook with one study with 10000 rows and 6 columns to an ArcStudy | 29 ± 14 | 62 ± 5 | 818 ± 36 |
156
+ | Investigation_ToWorkbook_ManyStudies | Parse an investigation with 1500 studies to a workbook | 240 ± 31 | 284 ± 24 | 3657 ± 199 |
157
+ | Investigation_FromWorkbook_ManyStudies | Parse a workbook with 1500 studies to an ArcInvestigation | 127 ± 20 | 498 ± 21 | 9469 ± 412 |
158
+ | ARC_ToROCrate | Parse an ARC with one assay with 10000 rows and 6 columns to a RO-Crate metadata file. | 1431 ± 99 | 3526 ± 264 | 61224 ± 728 |
@@ -0,0 +1,44 @@
1
+ [project]
2
+ name = "arctrl"
3
+ version = "3.2.2"
4
+ description = "Library for management of Annotated Research Contexts (ARCs) using an in-memory representation and runtimer agnostic contract systems."
5
+ authors = [
6
+ { name = "Heinrich Lukas Weil", email = "weil@rptu.de" },
7
+ { name = "Kevin Frey", email = "freymaurer@gmx.de" },
8
+ ]
9
+ requires-python = ">=3.12"
10
+ readme = "README.md"
11
+ maintainers = [{ name = "Florian Wetzels" }]
12
+ keywords = [
13
+ "arc",
14
+ "annotated research context",
15
+ "isa",
16
+ "research data",
17
+ "multi platform",
18
+ ]
19
+ dependencies = [
20
+ "requests>= 2.28.1, <3.0.0",
21
+ "openpyxl>=3.1.5,<4",
22
+ "fable-library==5.18.0"
23
+ ]
24
+
25
+ [project.urls]
26
+ Repository = "https://github.com/nfdi4plants/ARCtrl"
27
+
28
+ [dependency-groups]
29
+ dev = [
30
+ "pytest>=8.1.1,<9",
31
+ "twine>=4.0.2"
32
+ ]
33
+
34
+ [tool.poetry]
35
+ include = [
36
+ "src/ARCtrl/py/**/*.py"
37
+ ]
38
+ packages = [
39
+ { include = "**/*.py", from = "src/ARCtrl/", to = "arctrl" }
40
+ ]
41
+
42
+ [build-system]
43
+ requires = ["poetry-core"]
44
+ build-backend = "poetry.core.masonry.api"
@@ -0,0 +1,221 @@
1
+ """Backing values for KnownFieldNames static properties.
2
+
3
+ Fable's Python backend cannot initialize non-trivial static property getters
4
+ on AttachMembers types and otherwise emits None. Plain references to these
5
+ module-level values compile consistently across .NET, JavaScript, and Python.
6
+ """
7
+ from fable_library.set import (of_seq, FSharpSet)
8
+ from fable_library.util import (to_enumerable, compare_primitives, UNIT)
9
+
10
+ class ObjectExpr852:
11
+ def Compare(self, x: str, y: str) -> int:
12
+ return compare_primitives(x, y)
13
+
14
+
15
+ file_instance: FSharpSet[str] = of_seq(to_enumerable(["class", "type", "location", "path", "basename", "dirname", "nameroot", "nameext", "checksum", "size", "secondaryFiles", "format", "contents"]), ObjectExpr852())
16
+
17
+ class ObjectExpr853:
18
+ def Compare(self, x: str, y: str) -> int:
19
+ return compare_primitives(x, y)
20
+
21
+
22
+ directory_instance: FSharpSet[str] = of_seq(to_enumerable(["class", "type", "location", "path", "basename", "listing"]), ObjectExpr853())
23
+
24
+ class ObjectExpr854:
25
+ def Compare(self, x: str, y: str) -> int:
26
+ return compare_primitives(x, y)
27
+
28
+
29
+ dirent_instance: FSharpSet[str] = of_seq(to_enumerable(["entry", "entryname", "writable"]), ObjectExpr854())
30
+
31
+ class ObjectExpr855:
32
+ def Compare(self, x: str, y: str) -> int:
33
+ return compare_primitives(x, y)
34
+
35
+
36
+ input_enum_schema: FSharpSet[str] = of_seq(to_enumerable(["type", "symbols", "label", "doc", "name"]), ObjectExpr855())
37
+
38
+ class ObjectExpr856:
39
+ def Compare(self, x: str, y: str) -> int:
40
+ return compare_primitives(x, y)
41
+
42
+
43
+ input_record_field: FSharpSet[str] = of_seq(to_enumerable(["name", "type", "doc", "label"]), ObjectExpr856())
44
+
45
+ class ObjectExpr857:
46
+ def Compare(self, x: str, y: str) -> int:
47
+ return compare_primitives(x, y)
48
+
49
+
50
+ input_record_schema: FSharpSet[str] = of_seq(to_enumerable(["type", "fields", "label", "doc", "name"]), ObjectExpr857())
51
+
52
+ class ObjectExpr858:
53
+ def Compare(self, x: str, y: str) -> int:
54
+ return compare_primitives(x, y)
55
+
56
+
57
+ input_array_schema: FSharpSet[str] = of_seq(to_enumerable(["type", "items", "label", "doc", "name"]), ObjectExpr858())
58
+
59
+ class ObjectExpr859:
60
+ def Compare(self, x: str, y: str) -> int:
61
+ return compare_primitives(x, y)
62
+
63
+
64
+ schema_def_requirement_type: FSharpSet[str] = of_seq(to_enumerable(["name", "type"]), ObjectExpr859())
65
+
66
+ class ObjectExpr860:
67
+ def Compare(self, x: str, y: str) -> int:
68
+ return compare_primitives(x, y)
69
+
70
+
71
+ software_package: FSharpSet[str] = of_seq(to_enumerable(["package", "version", "specs"]), ObjectExpr860())
72
+
73
+ class ObjectExpr862:
74
+ def Compare(self, x: str, y: str) -> int:
75
+ return compare_primitives(x, y)
76
+
77
+
78
+ input_binding: FSharpSet[str] = of_seq(to_enumerable(["loadContents", "position", "prefix", "separate", "itemSeparator", "valueFrom", "shellQuote"]), ObjectExpr862())
79
+
80
+ class ObjectExpr864:
81
+ def Compare(self, x: str, y: str) -> int:
82
+ return compare_primitives(x, y)
83
+
84
+
85
+ cwl_input: FSharpSet[str] = of_seq(to_enumerable(["id", "type", "label", "secondaryFiles", "streamable", "doc", "format", "loadContents", "loadListing", "default", "inputBinding"]), ObjectExpr864())
86
+
87
+ class ObjectExpr865:
88
+ def Compare(self, x: str, y: str) -> int:
89
+ return compare_primitives(x, y)
90
+
91
+
92
+ output_binding: FSharpSet[str] = of_seq(to_enumerable(["loadContents", "loadListing", "glob", "outputEval"]), ObjectExpr865())
93
+
94
+ class ObjectExpr866:
95
+ def Compare(self, x: str, y: str) -> int:
96
+ return compare_primitives(x, y)
97
+
98
+
99
+ cwl_output: FSharpSet[str] = of_seq(to_enumerable(["id", "type", "label", "secondaryFiles", "streamable", "doc", "format", "outputBinding", "outputSource"]), ObjectExpr866())
100
+
101
+ class ObjectExpr867:
102
+ def Compare(self, x: str, y: str) -> int:
103
+ return compare_primitives(x, y)
104
+
105
+
106
+ docker_requirement: FSharpSet[str] = of_seq(to_enumerable(["class", "dockerPull", "dockerFile", "dockerImageId", "dockerLoad", "dockerImport", "dockerOutputDirectory", "cwltool:dockerRunOptions"]), ObjectExpr867())
107
+
108
+ class ObjectExpr868:
109
+ def Compare(self, x: str, y: str) -> int:
110
+ return compare_primitives(x, y)
111
+
112
+
113
+ environment_def: FSharpSet[str] = of_seq(to_enumerable(["envName", "envValue"]), ObjectExpr868())
114
+
115
+ class ObjectExpr869:
116
+ def Compare(self, x: str, y: str) -> int:
117
+ return compare_primitives(x, y)
118
+
119
+
120
+ load_listing_requirement_value: FSharpSet[str] = of_seq(to_enumerable(["class", "loadListing"]), ObjectExpr869())
121
+
122
+ class ObjectExpr871:
123
+ def Compare(self, x: str, y: str) -> int:
124
+ return compare_primitives(x, y)
125
+
126
+
127
+ work_reuse_requirement_value: FSharpSet[str] = of_seq(to_enumerable(["class", "enableReuse"]), ObjectExpr871())
128
+
129
+ class ObjectExpr872:
130
+ def Compare(self, x: str, y: str) -> int:
131
+ return compare_primitives(x, y)
132
+
133
+
134
+ network_access_requirement_value: FSharpSet[str] = of_seq(to_enumerable(["class", "networkAccess"]), ObjectExpr872())
135
+
136
+ class ObjectExpr873:
137
+ def Compare(self, x: str, y: str) -> int:
138
+ return compare_primitives(x, y)
139
+
140
+
141
+ inplace_update_requirement_value: FSharpSet[str] = of_seq(to_enumerable(["class", "inplaceUpdate"]), ObjectExpr873())
142
+
143
+ class ObjectExpr875:
144
+ def Compare(self, x: str, y: str) -> int:
145
+ return compare_primitives(x, y)
146
+
147
+
148
+ resource_requirement_instance: FSharpSet[str] = of_seq(to_enumerable(["class", "coresMin", "coresMax", "ramMin", "ramMax", "tmpdirMin", "tmpdirMax", "outdirMin", "outdirMax"]), ObjectExpr875())
149
+
150
+ class ObjectExpr876:
151
+ def Compare(self, x: str, y: str) -> int:
152
+ return compare_primitives(x, y)
153
+
154
+
155
+ inline_javascript_requirement_value: FSharpSet[str] = of_seq(to_enumerable(["class", "expressionLib"]), ObjectExpr876())
156
+
157
+ class ObjectExpr877:
158
+ def Compare(self, x: str, y: str) -> int:
159
+ return compare_primitives(x, y)
160
+
161
+
162
+ hint_unknown_value: FSharpSet[str] = of_seq(to_enumerable(["class", "raw"]), ObjectExpr877())
163
+
164
+ class ObjectExpr879:
165
+ def Compare(self, x: str, y: str) -> int:
166
+ return compare_primitives(x, y)
167
+
168
+
169
+ tool_description: FSharpSet[str] = of_seq(to_enumerable(["inputs", "outputs", "class", "id", "label", "doc", "intent", "requirements", "hints", "cwlVersion", "baseCommand", "arguments", "stdin", "stderr", "stdout", "successCodes", "temporaryFailCodes", "permanentFailCodes"]), ObjectExpr879())
170
+
171
+ class ObjectExpr881:
172
+ def Compare(self, x: str, y: str) -> int:
173
+ return compare_primitives(x, y)
174
+
175
+
176
+ expression_tool_description: FSharpSet[str] = of_seq(to_enumerable(["inputs", "outputs", "class", "id", "label", "doc", "intent", "requirements", "hints", "cwlVersion", "expression"]), ObjectExpr881())
177
+
178
+ class ObjectExpr882:
179
+ def Compare(self, x: str, y: str) -> int:
180
+ return compare_primitives(x, y)
181
+
182
+
183
+ operation_description: FSharpSet[str] = of_seq(to_enumerable(["inputs", "outputs", "label", "doc", "intent", "class", "id", "requirements", "hints", "cwlVersion"]), ObjectExpr882())
184
+
185
+ class ObjectExpr883:
186
+ def Compare(self, x: str, y: str) -> int:
187
+ return compare_primitives(x, y)
188
+
189
+
190
+ workflow_description: FSharpSet[str] = of_seq(to_enumerable(["inputs", "outputs", "label", "doc", "intent", "class", "steps", "id", "requirements", "hints", "cwlVersion"]), ObjectExpr883())
191
+
192
+ class ObjectExpr884:
193
+ def Compare(self, x: str, y: str) -> int:
194
+ return compare_primitives(x, y)
195
+
196
+
197
+ step_input: FSharpSet[str] = of_seq(to_enumerable(["id", "source", "default", "valueFrom", "linkMerge", "pickValue", "doc", "loadContents", "loadListing", "label"]), ObjectExpr884())
198
+
199
+ class ObjectExpr885:
200
+ def Compare(self, x: str, y: str) -> int:
201
+ return compare_primitives(x, y)
202
+
203
+
204
+ step_output_parameter: FSharpSet[str] = of_seq(to_enumerable(["id"]), ObjectExpr885())
205
+
206
+ class ObjectExpr886:
207
+ def Compare(self, x: str, y: str) -> int:
208
+ return compare_primitives(x, y)
209
+
210
+
211
+ workflow_step: FSharpSet[str] = of_seq(to_enumerable(["id", "run", "in", "out", "requirements", "hints", "label", "doc", "scatter", "scatterMethod", "when"]), ObjectExpr886())
212
+
213
+ class ObjectExpr887:
214
+ def Compare(self, x: str, y: str) -> int:
215
+ return compare_primitives(x, y)
216
+
217
+
218
+ parameter_reference: FSharpSet[str] = of_seq(to_enumerable(["class", "path", "location", "type", "value"]), ObjectExpr887())
219
+
220
+ __all__ = ["cwl_input", "cwl_output", "directory_instance", "dirent_instance", "docker_requirement", "environment_def", "expression_tool_description", "file_instance", "hint_unknown_value", "inline_javascript_requirement_value", "inplace_update_requirement_value", "input_array_schema", "input_binding", "input_enum_schema", "input_record_field", "input_record_schema", "load_listing_requirement_value", "network_access_requirement_value", "operation_description", "output_binding", "parameter_reference", "resource_requirement_instance", "schema_def_requirement_type", "software_package", "step_input", "step_output_parameter", "tool_description", "work_reuse_requirement_value", "workflow_description", "workflow_step"]
221
+
@@ -0,0 +1,258 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from fable_library.array_ import Array
4
+ from fable_library.protocols import IEnumerable_1
5
+ from fable_library.reflection import (TypeInfo, union_type)
6
+ from fable_library.resize_array import of_seq
7
+ from fable_library.seq_native import choose
8
+ from fable_library.union import (Union, tagged_union, narrow)
9
+ from fable_library.util import (UNIT, to_enumerable, nullable)
10
+ from .expression_tool_description import (CWLExpressionToolDescription, CWLExpressionToolDescription_reflection)
11
+ from .inputs import CWLInput
12
+ from .operation_description import (CWLOperationDescription, CWLOperationDescription_reflection)
13
+ from .outputs import CWLOutput
14
+ from .requirements import (_Requirement, Requirement, _HintEntry, HintEntry, HintEntry_get_tryAsRequirement)
15
+ from .tool_description import (CWLToolDescription, CWLToolDescription_reflection)
16
+ from .workflow_description import (CWLWorkflowDescription, CWLWorkflowDescription_reflection)
17
+ from .workflow_steps import (WorkflowStepRun_RunCommandLineTool, _WorkflowStepRun, WorkflowStepRun, WorkflowStepRun_RunWorkflow, WorkflowStepRun_RunExpressionTool, WorkflowStepRun_RunOperation)
18
+
19
+ def _expr1023() -> TypeInfo:
20
+ return union_type("ARCtrl.CWL.CWLProcessingUnit", Array([]), _CWLProcessingUnit, lambda: [[("Item", CWLToolDescription_reflection())], [("Item", CWLWorkflowDescription_reflection())], [("Item", CWLExpressionToolDescription_reflection())], [("Item", CWLOperationDescription_reflection())]], [CWLProcessingUnit_CommandLineTool, CWLProcessingUnit_Workflow, CWLProcessingUnit_ExpressionTool, CWLProcessingUnit_Operation])
21
+
22
+
23
+ class _CWLProcessingUnit(Union):
24
+ @staticmethod
25
+ def cases() -> list[str]:
26
+ return ["CommandLineTool", "Workflow", "ExpressionTool", "Operation"]
27
+
28
+
29
+ @tagged_union(0)
30
+ class CWLProcessingUnit_CommandLineTool(_CWLProcessingUnit):
31
+ item: CWLToolDescription
32
+
33
+ @tagged_union(1)
34
+ class CWLProcessingUnit_Workflow(_CWLProcessingUnit):
35
+ item: CWLWorkflowDescription
36
+
37
+ @tagged_union(2)
38
+ class CWLProcessingUnit_ExpressionTool(_CWLProcessingUnit):
39
+ item: CWLExpressionToolDescription
40
+
41
+ @tagged_union(3)
42
+ class CWLProcessingUnit_Operation(_CWLProcessingUnit):
43
+ item: CWLOperationDescription
44
+
45
+ type CWLProcessingUnit = ((CWLProcessingUnit_CommandLineTool | CWLProcessingUnit_Workflow) | CWLProcessingUnit_ExpressionTool) | CWLProcessingUnit_Operation
46
+
47
+ CWLProcessingUnit_reflection = _expr1023
48
+
49
+ def CWLProcessingUnit_getInputs_30922B92(processing_unit: CWLProcessingUnit) -> list[CWLInput]:
50
+ """Returns normalized inputs for all CWL processing unit variants.
51
+ """
52
+ match processing_unit.tag:
53
+ case 1:
54
+ return CWLWorkflowDescription.get_inputs(narrow(CWLProcessingUnit_Workflow, processing_unit).item)
55
+
56
+ case 2:
57
+ return CWLExpressionToolDescription.get_inputs_or_empty(narrow(CWLProcessingUnit_ExpressionTool, processing_unit).item)
58
+
59
+ case 3:
60
+ return CWLOperationDescription.get_inputs(narrow(CWLProcessingUnit_Operation, processing_unit).item)
61
+
62
+ case _:
63
+ return CWLToolDescription.get_inputs_or_empty(narrow(CWLProcessingUnit_CommandLineTool, processing_unit).item)
64
+
65
+
66
+
67
+ def CWLProcessingUnit_getOutputs_30922B92(processing_unit: CWLProcessingUnit) -> list[CWLOutput]:
68
+ """Returns outputs for all CWL processing unit variants.
69
+ """
70
+ match processing_unit.tag:
71
+ case 1:
72
+ return CWLWorkflowDescription.get_outputs(narrow(CWLProcessingUnit_Workflow, processing_unit).item)
73
+
74
+ case 2:
75
+ return CWLExpressionToolDescription.get_outputs(narrow(CWLProcessingUnit_ExpressionTool, processing_unit).item)
76
+
77
+ case 3:
78
+ return CWLOperationDescription.get_outputs(narrow(CWLProcessingUnit_Operation, processing_unit).item)
79
+
80
+ case _:
81
+ return CWLToolDescription.get_outputs(narrow(CWLProcessingUnit_CommandLineTool, processing_unit).item)
82
+
83
+
84
+
85
+ def CWLProcessingUnit_getRequirements_30922B92(processing_unit: CWLProcessingUnit) -> list[Requirement]:
86
+ """Returns requirements for all CWL processing unit variants.
87
+ """
88
+ match processing_unit.tag:
89
+ case 1:
90
+ return CWLWorkflowDescription.get_requirements_or_empty(narrow(CWLProcessingUnit_Workflow, processing_unit).item)
91
+
92
+ case 2:
93
+ return CWLExpressionToolDescription.get_requirements_or_empty(narrow(CWLProcessingUnit_ExpressionTool, processing_unit).item)
94
+
95
+ case 3:
96
+ return CWLOperationDescription.get_requirements_or_empty(narrow(CWLProcessingUnit_Operation, processing_unit).item)
97
+
98
+ case _:
99
+ return CWLToolDescription.get_requirements_or_empty(narrow(CWLProcessingUnit_CommandLineTool, processing_unit).item)
100
+
101
+
102
+
103
+ def CWLProcessingUnit_getHints_30922B92(processing_unit: CWLProcessingUnit) -> list[HintEntry]:
104
+ """Returns hints for all CWL processing unit variants.
105
+ """
106
+ match processing_unit.tag:
107
+ case 1:
108
+ return CWLWorkflowDescription.get_hints_or_empty(narrow(CWLProcessingUnit_Workflow, processing_unit).item)
109
+
110
+ case 2:
111
+ return CWLExpressionToolDescription.get_hints_or_empty(narrow(CWLProcessingUnit_ExpressionTool, processing_unit).item)
112
+
113
+ case 3:
114
+ return CWLOperationDescription.get_hints_or_empty(narrow(CWLProcessingUnit_Operation, processing_unit).item)
115
+
116
+ case _:
117
+ return CWLToolDescription.get_hints_or_empty(narrow(CWLProcessingUnit_CommandLineTool, processing_unit).item)
118
+
119
+
120
+
121
+ def CWLProcessingUnit_getIntent_30922B92(processing_unit: CWLProcessingUnit) -> list[str]:
122
+ """Returns intent for all CWL processing unit variants.
123
+ """
124
+ match processing_unit.tag:
125
+ case 1:
126
+ return CWLWorkflowDescription.get_intent_or_empty(narrow(CWLProcessingUnit_Workflow, processing_unit).item)
127
+
128
+ case 2:
129
+ return CWLExpressionToolDescription.get_intent_or_empty(narrow(CWLProcessingUnit_ExpressionTool, processing_unit).item)
130
+
131
+ case 3:
132
+ return CWLOperationDescription.get_intent_or_empty(narrow(CWLProcessingUnit_Operation, processing_unit).item)
133
+
134
+ case _:
135
+ return CWLToolDescription.get_intent_or_empty(narrow(CWLProcessingUnit_CommandLineTool, processing_unit).item)
136
+
137
+
138
+
139
+ def CWLProcessingUnit_getKnownHints_30922B92(processing_unit: CWLProcessingUnit) -> list[Requirement]:
140
+ """Returns known requirement hints only, dropping unknown extension hints.
141
+ """
142
+ def _arrow1024(processing_unit: Any=processing_unit) -> IEnumerable_1[Requirement]:
143
+ source: list[HintEntry] = CWLProcessingUnit_getHints_30922B92(processing_unit)
144
+ return choose(HintEntry_get_tryAsRequirement(), to_enumerable(source))
145
+
146
+ return of_seq(_arrow1024())
147
+
148
+
149
+ def WorkflowStepRunOps_fromTool(tool: CWLToolDescription) -> WorkflowStepRun:
150
+ return WorkflowStepRun_RunCommandLineTool(tool)
151
+
152
+
153
+ def WorkflowStepRunOps_fromWorkflow(workflow: CWLWorkflowDescription) -> WorkflowStepRun:
154
+ return WorkflowStepRun_RunWorkflow(workflow)
155
+
156
+
157
+ def WorkflowStepRunOps_fromExpressionTool(expression_tool: CWLExpressionToolDescription) -> WorkflowStepRun:
158
+ return WorkflowStepRun_RunExpressionTool(expression_tool)
159
+
160
+
161
+ def WorkflowStepRunOps_fromOperation(operation: CWLOperationDescription) -> WorkflowStepRun:
162
+ return WorkflowStepRun_RunOperation(operation)
163
+
164
+
165
+ def WorkflowStepRunOps_tryGetTool(run: WorkflowStepRun) -> CWLToolDescription | None:
166
+ (pattern_matching_result, tool) = nullable[int, CWLToolDescription]()
167
+ match run.tag:
168
+ case 1:
169
+ if isinstance(narrow(WorkflowStepRun_RunCommandLineTool, run).item, CWLToolDescription):
170
+ pattern_matching_result = 0
171
+ tool = narrow(WorkflowStepRun_RunCommandLineTool, run).item
172
+
173
+ else:
174
+ pattern_matching_result = 1
175
+
176
+
177
+ case _:
178
+ pattern_matching_result = 1
179
+
180
+ if pattern_matching_result == 0:
181
+ return tool
182
+
183
+ else:
184
+ return None
185
+
186
+
187
+
188
+ def WorkflowStepRunOps_tryGetWorkflow(run: WorkflowStepRun) -> CWLWorkflowDescription | None:
189
+ (pattern_matching_result, workflow) = nullable[int, CWLWorkflowDescription]()
190
+ match run.tag:
191
+ case 2:
192
+ if isinstance(narrow(WorkflowStepRun_RunWorkflow, run).item, CWLWorkflowDescription):
193
+ pattern_matching_result = 0
194
+ workflow = narrow(WorkflowStepRun_RunWorkflow, run).item
195
+
196
+ else:
197
+ pattern_matching_result = 1
198
+
199
+
200
+ case _:
201
+ pattern_matching_result = 1
202
+
203
+ if pattern_matching_result == 0:
204
+ return workflow
205
+
206
+ else:
207
+ return None
208
+
209
+
210
+
211
+ def WorkflowStepRunOps_tryGetExpressionTool(run: WorkflowStepRun) -> CWLExpressionToolDescription | None:
212
+ (pattern_matching_result, expression_tool) = nullable[int, CWLExpressionToolDescription]()
213
+ match run.tag:
214
+ case 3:
215
+ if isinstance(narrow(WorkflowStepRun_RunExpressionTool, run).item, CWLExpressionToolDescription):
216
+ pattern_matching_result = 0
217
+ expression_tool = narrow(WorkflowStepRun_RunExpressionTool, run).item
218
+
219
+ else:
220
+ pattern_matching_result = 1
221
+
222
+
223
+ case _:
224
+ pattern_matching_result = 1
225
+
226
+ if pattern_matching_result == 0:
227
+ return expression_tool
228
+
229
+ else:
230
+ return None
231
+
232
+
233
+
234
+ def WorkflowStepRunOps_tryGetOperation(run: WorkflowStepRun) -> CWLOperationDescription | None:
235
+ (pattern_matching_result, operation) = nullable[int, CWLOperationDescription]()
236
+ match run.tag:
237
+ case 4:
238
+ if isinstance(narrow(WorkflowStepRun_RunOperation, run).item, CWLOperationDescription):
239
+ pattern_matching_result = 0
240
+ operation = narrow(WorkflowStepRun_RunOperation, run).item
241
+
242
+ else:
243
+ pattern_matching_result = 1
244
+
245
+
246
+ case _:
247
+ pattern_matching_result = 1
248
+
249
+ if pattern_matching_result == 0:
250
+ return operation
251
+
252
+ else:
253
+ return None
254
+
255
+
256
+
257
+ __all__ = ["CWLProcessingUnit_CommandLineTool", "CWLProcessingUnit_ExpressionTool", "CWLProcessingUnit_Operation", "CWLProcessingUnit_Workflow", "CWLProcessingUnit_getHints_30922B92", "CWLProcessingUnit_getInputs_30922B92", "CWLProcessingUnit_getIntent_30922B92", "CWLProcessingUnit_getKnownHints_30922B92", "CWLProcessingUnit_getOutputs_30922B92", "CWLProcessingUnit_getRequirements_30922B92", "CWLProcessingUnit_reflection", "WorkflowStepRunOps_fromExpressionTool", "WorkflowStepRunOps_fromOperation", "WorkflowStepRunOps_fromTool", "WorkflowStepRunOps_fromWorkflow", "WorkflowStepRunOps_tryGetExpressionTool", "WorkflowStepRunOps_tryGetOperation", "WorkflowStepRunOps_tryGetTool", "WorkflowStepRunOps_tryGetWorkflow"]
258
+