arctrl 3.0.0a3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. arctrl/__init__.py +18 -0
  2. arctrl/py/CWL/__init__.py +0 -0
  3. arctrl/py/CWL/cwltypes.py +150 -0
  4. arctrl/py/CWL/decode.py +973 -0
  5. arctrl/py/CWL/encode.py +1 -0
  6. arctrl/py/CWL/inputs.py +88 -0
  7. arctrl/py/CWL/outputs.py +85 -0
  8. arctrl/py/CWL/requirements.py +77 -0
  9. arctrl/py/CWL/tool_description.py +103 -0
  10. arctrl/py/CWL/workflow_description.py +104 -0
  11. arctrl/py/CWL/workflow_steps.py +113 -0
  12. arctrl/py/Contract/__init__.py +0 -0
  13. arctrl/py/Contract/arc.py +60 -0
  14. arctrl/py/Contract/arc_assay.py +125 -0
  15. arctrl/py/Contract/arc_investigation.py +88 -0
  16. arctrl/py/Contract/arc_run.py +125 -0
  17. arctrl/py/Contract/arc_study.py +126 -0
  18. arctrl/py/Contract/arc_workflow.py +125 -0
  19. arctrl/py/Contract/contract.py +153 -0
  20. arctrl/py/Contract/datamap.py +372 -0
  21. arctrl/py/Contract/git.py +118 -0
  22. arctrl/py/Contract/validation_packages_config.py +107 -0
  23. arctrl/py/ContractIO/__init__.py +0 -0
  24. arctrl/py/ContractIO/contract_io.py +344 -0
  25. arctrl/py/ContractIO/file_system_helper.py +264 -0
  26. arctrl/py/Core/Helper/__init__.py +0 -0
  27. arctrl/py/Core/Helper/collections_.py +438 -0
  28. arctrl/py/Core/Helper/date_time.py +26 -0
  29. arctrl/py/Core/Helper/hash_codes.py +60 -0
  30. arctrl/py/Core/Helper/identifier.py +248 -0
  31. arctrl/py/Core/Helper/orcid.py +42 -0
  32. arctrl/py/Core/Helper/printer.py +13 -0
  33. arctrl/py/Core/Helper/regex.py +554 -0
  34. arctrl/py/Core/Helper/sem_ver.py +71 -0
  35. arctrl/py/Core/Helper/url.py +148 -0
  36. arctrl/py/Core/Process/__init__.py +0 -0
  37. arctrl/py/Core/Process/column_index.py +280 -0
  38. arctrl/py/Core/Process/component.py +200 -0
  39. arctrl/py/Core/Process/factor.py +151 -0
  40. arctrl/py/Core/Process/factor_value.py +182 -0
  41. arctrl/py/Core/Process/material.py +74 -0
  42. arctrl/py/Core/Process/material_attribute.py +95 -0
  43. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  44. arctrl/py/Core/Process/material_type.py +45 -0
  45. arctrl/py/Core/Process/process.py +477 -0
  46. arctrl/py/Core/Process/process_input.py +265 -0
  47. arctrl/py/Core/Process/process_output.py +235 -0
  48. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  49. arctrl/py/Core/Process/process_sequence.py +435 -0
  50. arctrl/py/Core/Process/protocol.py +175 -0
  51. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  52. arctrl/py/Core/Process/sample.py +82 -0
  53. arctrl/py/Core/Process/source.py +62 -0
  54. arctrl/py/Core/Table/__init__.py +0 -0
  55. arctrl/py/Core/Table/arc_table.py +1264 -0
  56. arctrl/py/Core/Table/arc_table_aux.py +575 -0
  57. arctrl/py/Core/Table/arc_tables.py +591 -0
  58. arctrl/py/Core/Table/composite_cell.py +319 -0
  59. arctrl/py/Core/Table/composite_column.py +73 -0
  60. arctrl/py/Core/Table/composite_header.py +739 -0
  61. arctrl/py/Core/__init__.py +0 -0
  62. arctrl/py/Core/arc_types.py +5064 -0
  63. arctrl/py/Core/comment.py +128 -0
  64. arctrl/py/Core/comment_list.py +127 -0
  65. arctrl/py/Core/conversion.py +1313 -0
  66. arctrl/py/Core/data.py +245 -0
  67. arctrl/py/Core/data_context.py +157 -0
  68. arctrl/py/Core/data_file.py +112 -0
  69. arctrl/py/Core/data_map.py +225 -0
  70. arctrl/py/Core/identifier_setters.py +31 -0
  71. arctrl/py/Core/iproperty_value.py +36 -0
  72. arctrl/py/Core/ontology_annotation.py +299 -0
  73. arctrl/py/Core/ontology_source_reference.py +114 -0
  74. arctrl/py/Core/person.py +259 -0
  75. arctrl/py/Core/publication.py +161 -0
  76. arctrl/py/Core/template.py +231 -0
  77. arctrl/py/Core/templates.py +148 -0
  78. arctrl/py/Core/uri.py +11 -0
  79. arctrl/py/Core/value.py +188 -0
  80. arctrl/py/FileSystem/__init__.py +0 -0
  81. arctrl/py/FileSystem/commit.py +21 -0
  82. arctrl/py/FileSystem/default_gitattributes.py +5 -0
  83. arctrl/py/FileSystem/default_gitignore.py +5 -0
  84. arctrl/py/FileSystem/file_system.py +58 -0
  85. arctrl/py/FileSystem/file_system_tree.py +426 -0
  86. arctrl/py/FileSystem/path.py +64 -0
  87. arctrl/py/Json/DataMap/__init__.py +0 -0
  88. arctrl/py/Json/DataMap/data_context.py +101 -0
  89. arctrl/py/Json/DataMap/data_map.py +53 -0
  90. arctrl/py/Json/Process/__init__.py +0 -0
  91. arctrl/py/Json/Process/assay_materials.py +46 -0
  92. arctrl/py/Json/Process/component.py +79 -0
  93. arctrl/py/Json/Process/factor.py +107 -0
  94. arctrl/py/Json/Process/factor_value.py +101 -0
  95. arctrl/py/Json/Process/material.py +226 -0
  96. arctrl/py/Json/Process/material_attribute.py +79 -0
  97. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  98. arctrl/py/Json/Process/material_type.py +53 -0
  99. arctrl/py/Json/Process/process.py +296 -0
  100. arctrl/py/Json/Process/process_input.py +83 -0
  101. arctrl/py/Json/Process/process_output.py +67 -0
  102. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  103. arctrl/py/Json/Process/protocol.py +354 -0
  104. arctrl/py/Json/Process/protocol_parameter.py +79 -0
  105. arctrl/py/Json/Process/sample.py +277 -0
  106. arctrl/py/Json/Process/source.py +214 -0
  107. arctrl/py/Json/Process/study_materials.py +52 -0
  108. arctrl/py/Json/Process/value.py +56 -0
  109. arctrl/py/Json/ROCrate/__init__.py +0 -0
  110. arctrl/py/Json/ROCrate/ldcontext.py +133 -0
  111. arctrl/py/Json/ROCrate/ldgraph.py +111 -0
  112. arctrl/py/Json/ROCrate/ldnode.py +290 -0
  113. arctrl/py/Json/ROCrate/ldref.py +44 -0
  114. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  115. arctrl/py/Json/Table/__init__.py +0 -0
  116. arctrl/py/Json/Table/arc_table.py +393 -0
  117. arctrl/py/Json/Table/cell_table.py +83 -0
  118. arctrl/py/Json/Table/composite_cell.py +136 -0
  119. arctrl/py/Json/Table/composite_header.py +67 -0
  120. arctrl/py/Json/Table/iotype.py +24 -0
  121. arctrl/py/Json/Table/oatable.py +82 -0
  122. arctrl/py/Json/Table/templates.py +281 -0
  123. arctrl/py/Json/__init__.py +0 -0
  124. arctrl/py/Json/assay.py +600 -0
  125. arctrl/py/Json/comment.py +206 -0
  126. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  127. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  128. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  129. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  130. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  131. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  132. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  133. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  134. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  135. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  136. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  137. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  138. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  139. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  140. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  141. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  142. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  143. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  144. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  145. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  146. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  147. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  148. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  149. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  150. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  151. arctrl/py/Json/converter_options.py +23 -0
  152. arctrl/py/Json/data.py +356 -0
  153. arctrl/py/Json/data_file.py +63 -0
  154. arctrl/py/Json/decode.py +155 -0
  155. arctrl/py/Json/encode.py +92 -0
  156. arctrl/py/Json/idtable.py +44 -0
  157. arctrl/py/Json/investigation.py +695 -0
  158. arctrl/py/Json/ontology_annotation.py +404 -0
  159. arctrl/py/Json/ontology_source_reference.py +255 -0
  160. arctrl/py/Json/person.py +658 -0
  161. arctrl/py/Json/property_value.py +359 -0
  162. arctrl/py/Json/publication.py +279 -0
  163. arctrl/py/Json/string_table.py +76 -0
  164. arctrl/py/Json/study.py +793 -0
  165. arctrl/py/JsonIO/DataMap/__init__.py +0 -0
  166. arctrl/py/JsonIO/DataMap/data_map.py +53 -0
  167. arctrl/py/JsonIO/Process/__init__.py +0 -0
  168. arctrl/py/JsonIO/Process/component.py +60 -0
  169. arctrl/py/JsonIO/Process/factor.py +36 -0
  170. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  171. arctrl/py/JsonIO/Process/material.py +60 -0
  172. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  173. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  174. arctrl/py/JsonIO/Process/material_type.py +36 -0
  175. arctrl/py/JsonIO/Process/process.py +60 -0
  176. arctrl/py/JsonIO/Process/process_input.py +38 -0
  177. arctrl/py/JsonIO/Process/process_output.py +60 -0
  178. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  179. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  180. arctrl/py/JsonIO/Process/protocol.py +60 -0
  181. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  182. arctrl/py/JsonIO/Process/sample.py +60 -0
  183. arctrl/py/JsonIO/Process/source.py +60 -0
  184. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  185. arctrl/py/JsonIO/Process/value.py +32 -0
  186. arctrl/py/JsonIO/Table/__init__.py +0 -0
  187. arctrl/py/JsonIO/Table/arc_table.py +121 -0
  188. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  189. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  190. arctrl/py/JsonIO/Table/compression.py +85 -0
  191. arctrl/py/JsonIO/Table/iotype.py +36 -0
  192. arctrl/py/JsonIO/Table/templates.py +113 -0
  193. arctrl/py/JsonIO/__init__.py +0 -0
  194. arctrl/py/JsonIO/assay.py +113 -0
  195. arctrl/py/JsonIO/comment.py +80 -0
  196. arctrl/py/JsonIO/data.py +60 -0
  197. arctrl/py/JsonIO/data_file.py +58 -0
  198. arctrl/py/JsonIO/decode.py +9 -0
  199. arctrl/py/JsonIO/encode.py +1 -0
  200. arctrl/py/JsonIO/investigation.py +113 -0
  201. arctrl/py/JsonIO/ldobject.py +106 -0
  202. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  203. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  204. arctrl/py/JsonIO/person.py +82 -0
  205. arctrl/py/JsonIO/publication.py +82 -0
  206. arctrl/py/JsonIO/study.py +114 -0
  207. arctrl/py/ROCrate/Generic/__init__.py +0 -0
  208. arctrl/py/ROCrate/Generic/comment.py +131 -0
  209. arctrl/py/ROCrate/Generic/dataset.py +817 -0
  210. arctrl/py/ROCrate/Generic/defined_term.py +131 -0
  211. arctrl/py/ROCrate/Generic/file.py +237 -0
  212. arctrl/py/ROCrate/Generic/lab_process.py +324 -0
  213. arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
  214. arctrl/py/ROCrate/Generic/organization.py +83 -0
  215. arctrl/py/ROCrate/Generic/person.py +484 -0
  216. arctrl/py/ROCrate/Generic/postal_address.py +195 -0
  217. arctrl/py/ROCrate/Generic/property_value.py +696 -0
  218. arctrl/py/ROCrate/Generic/sample.py +202 -0
  219. arctrl/py/ROCrate/Generic/scholarly_article.py +229 -0
  220. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  221. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  222. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  223. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  224. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  225. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  226. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  227. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  228. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  229. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  230. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  231. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  232. arctrl/py/ROCrate/__init__.py +0 -0
  233. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  234. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  235. arctrl/py/ROCrate/helper.py +8 -0
  236. arctrl/py/ROCrate/ldcontext.py +362 -0
  237. arctrl/py/ROCrate/ldobject.py +1247 -0
  238. arctrl/py/ROCrate/rocrate_context.py +51 -0
  239. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  240. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +193 -0
  241. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  242. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
  243. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  244. arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
  245. arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
  246. arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
  247. arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -0
  248. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  249. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  250. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  251. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  252. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  253. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  254. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  255. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  256. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  257. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  258. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  259. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  260. arctrl/py/Spreadsheet/Metadata/sparse_table.py +508 -0
  261. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  262. arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
  263. arctrl/py/Spreadsheet/__init__.py +0 -0
  264. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  265. arctrl/py/Spreadsheet/arc_investigation.py +418 -0
  266. arctrl/py/Spreadsheet/arc_run.py +190 -0
  267. arctrl/py/Spreadsheet/arc_study.py +144 -0
  268. arctrl/py/Spreadsheet/arc_workflow.py +176 -0
  269. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  270. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  271. arctrl/py/Spreadsheet/data_map.py +44 -0
  272. arctrl/py/Spreadsheet/template.py +460 -0
  273. arctrl/py/ValidationPackages/__init__.py +0 -0
  274. arctrl/py/ValidationPackages/validation_package.py +82 -0
  275. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  276. arctrl/py/WebRequest/__init__.py +0 -0
  277. arctrl/py/WebRequest/web_request.py +9 -0
  278. arctrl/py/WebRequest/web_request_py.py +135 -0
  279. arctrl/py/Yaml/__init__.py +0 -0
  280. arctrl/py/Yaml/decode.py +1 -0
  281. arctrl/py/Yaml/encode.py +10 -0
  282. arctrl/py/Yaml/validation_package.py +77 -0
  283. arctrl/py/Yaml/validation_packages_config.py +86 -0
  284. arctrl/py/__init__.py +0 -0
  285. arctrl/py/arc.py +1400 -0
  286. arctrl/py/column_index.py +280 -0
  287. arctrl/py/conversion.py +2184 -0
  288. arctrl/py/cross_async.py +76 -0
  289. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  290. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  291. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  292. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  293. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  294. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  295. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  296. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  297. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  298. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  299. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  300. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  301. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  302. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  303. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  304. arctrl/py/fable_modules/fable_library/char.py +237 -0
  305. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  306. arctrl/py/fable_modules/fable_library/date.py +779 -0
  307. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  308. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  309. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  310. arctrl/py/fable_modules/fable_library/double.py +87 -0
  311. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  312. arctrl/py/fable_modules/fable_library/event.py +206 -0
  313. arctrl/py/fable_modules/fable_library/file.py +107 -0
  314. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  315. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  316. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  317. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  318. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  319. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  320. arctrl/py/fable_modules/fable_library/long.py +240 -0
  321. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  322. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  323. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  324. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  325. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  326. arctrl/py/fable_modules/fable_library/native.py +45 -0
  327. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  328. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  329. arctrl/py/fable_modules/fable_library/option.py +128 -0
  330. arctrl/py/fable_modules/fable_library/path.py +62 -0
  331. arctrl/py/fable_modules/fable_library/range.py +117 -0
  332. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  333. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  334. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  335. arctrl/py/fable_modules/fable_library/result.py +212 -0
  336. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  337. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  338. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  339. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  340. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  341. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  342. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  343. arctrl/py/fable_modules/fable_library/task.py +116 -0
  344. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  345. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  346. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  347. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  348. arctrl/py/fable_modules/fable_library/types.py +401 -0
  349. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  350. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  351. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  352. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  353. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  354. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  355. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  356. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  357. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  358. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  359. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  360. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  361. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  362. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  363. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  364. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  365. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  366. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  367. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  368. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  369. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  370. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  371. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  372. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  373. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  374. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  375. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  376. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  377. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  378. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +338 -0
  379. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -0
  380. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  381. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  382. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  383. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  384. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  385. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  386. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  387. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  388. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  389. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +464 -0
  390. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  391. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  392. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  393. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  394. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  395. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  396. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +57 -0
  397. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  398. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  399. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +217 -0
  400. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  401. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
  402. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
  403. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
  404. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -0
  405. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  406. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  407. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +393 -0
  408. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -0
  409. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  410. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  411. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +218 -0
  412. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  413. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  414. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +180 -0
  415. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
  416. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
  417. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  418. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -0
  419. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  420. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  421. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  422. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +53 -0
  423. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
  424. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
  425. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  426. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  427. arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
  428. arctrl/py/fable_modules/thoth_json_core/encode.py +261 -0
  429. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  430. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  431. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  432. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  433. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  434. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  435. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  436. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  437. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  438. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  439. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  440. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  441. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  442. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  443. arctrl/py/fable_modules/yamlicious/reader.py +665 -0
  444. arctrl/py/fable_modules/yamlicious/regex.py +21 -0
  445. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
  446. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  447. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  448. arctrl/py/json.py +213 -0
  449. arctrl/py/rocrate_io.py +72 -0
  450. arctrl/py/template_web.py +23 -0
  451. arctrl/py/xlsx.py +148 -0
  452. arctrl/rocrate.py +21 -0
  453. arctrl-3.0.0a3.dist-info/LICENSE +21 -0
  454. arctrl-3.0.0a3.dist-info/METADATA +119 -0
  455. arctrl-3.0.0a3.dist-info/RECORD +456 -0
  456. arctrl-3.0.0a3.dist-info/WHEEL +4 -0
@@ -0,0 +1,379 @@
1
+ from __future__ import annotations
2
+
3
+ import asyncio
4
+ from abc import abstractmethod
5
+ from collections.abc import Callable, Iterable
6
+ from dataclasses import dataclass, field
7
+ from threading import Lock, RLock
8
+ from typing import (
9
+ Any,
10
+ Generic,
11
+ Literal,
12
+ Protocol,
13
+ TypeVar,
14
+ overload,
15
+ )
16
+
17
+ from .util import IDisposable
18
+
19
+
20
+ _T = TypeVar("_T")
21
+ _U = TypeVar("_U")
22
+ _D = TypeVar("_D", bound=IDisposable)
23
+
24
+
25
+ class OperationCanceledError(Exception):
26
+ def __init__(self, msg: str | None = None) -> None:
27
+ super().__init__(msg or "The operation was canceled")
28
+
29
+
30
+ Continuations = tuple[
31
+ Callable[[_T], None],
32
+ Callable[[Exception], None],
33
+ Callable[[OperationCanceledError], None],
34
+ ]
35
+
36
+
37
+ class _Listener(Protocol):
38
+ def __call__(self, __state: Any | None = None) -> None: ...
39
+
40
+
41
+ class CancellationToken:
42
+ __slots__ = "cancelled", "listeners", "idx", "lock"
43
+
44
+ def __init__(self, cancelled: bool = False):
45
+ self.cancelled = cancelled
46
+ self.listeners: dict[int, Callable[[], None]] = {}
47
+ self.idx = 0
48
+ self.lock = RLock()
49
+
50
+ @property
51
+ def is_cancelled(self):
52
+ return self.cancelled
53
+
54
+ is_cancellation_requested = is_cancelled
55
+
56
+ def cancel(self) -> None:
57
+ cancel = False
58
+ with self.lock:
59
+ if not self.cancelled:
60
+ cancel = True
61
+ self.cancelled = True
62
+
63
+ if cancel:
64
+ for listener in self.listeners.values():
65
+ listener()
66
+
67
+ def add_listener(self, f: Callable[[], None]) -> int:
68
+ with self.lock:
69
+ id = self.idx
70
+ self.idx = self.idx + 1
71
+ self.listeners[id] = f
72
+
73
+ return id
74
+
75
+ def remove_listener(self, id: int) -> None:
76
+ with self.lock:
77
+ del self.listeners[id]
78
+
79
+ def register(self, f: _Listener, state: Any | None = None) -> None:
80
+ if state:
81
+ id = self.add_listener(lambda: f(state))
82
+ else:
83
+ id = self.add_listener(f)
84
+
85
+ def dispose():
86
+ self.remove_listener(id)
87
+
88
+ IDisposable.create(dispose)
89
+
90
+
91
+ class IAsyncContext(Generic[_T]):
92
+ __slots__ = ()
93
+
94
+ @abstractmethod
95
+ def on_success(self, value: _T) -> None: ...
96
+
97
+ @abstractmethod
98
+ def on_error(self, error: Exception) -> None: ...
99
+
100
+ @abstractmethod
101
+ def on_cancel(self, error: OperationCanceledError) -> None: ...
102
+
103
+ @property
104
+ @abstractmethod
105
+ def trampoline(self) -> Trampoline: ...
106
+
107
+ @trampoline.setter
108
+ @abstractmethod
109
+ def trampoline(self, val: Trampoline): ...
110
+
111
+ @property
112
+ @abstractmethod
113
+ def cancel_token(self) -> CancellationToken: ...
114
+
115
+ @cancel_token.setter
116
+ @abstractmethod
117
+ def cancel_token(self, val: CancellationToken): ...
118
+
119
+ @staticmethod
120
+ def create(
121
+ on_success: Callable[[_T], None] | None,
122
+ on_error: Callable[[Exception], None] | None,
123
+ on_cancel: Callable[[OperationCanceledError], None] | None,
124
+ trampoline: Trampoline | None,
125
+ cancel_token: CancellationToken | None,
126
+ ) -> IAsyncContext[_T]:
127
+ return AnonymousAsyncContext(on_success, on_error, on_cancel, trampoline, cancel_token)
128
+
129
+
130
+ """ FSharpAsync"""
131
+ Async = Callable[[IAsyncContext[_T]], None]
132
+
133
+
134
+ def empty_continuation(x: Any = None) -> None:
135
+ pass
136
+
137
+
138
+ class AnonymousAsyncContext(IAsyncContext[_T]):
139
+ __slots__ = "_on_success", "_on_error", "_on_cancel", "_trampoline", "_cancel_token"
140
+
141
+ def __init__(
142
+ self,
143
+ on_success: Callable[[_T], None] | None = None,
144
+ on_error: Callable[[Exception], None] | None = None,
145
+ on_cancel: Callable[[OperationCanceledError], None] | None = None,
146
+ trampoline: Trampoline | None = None,
147
+ cancel_token: CancellationToken | None = None,
148
+ ):
149
+ self._on_success: Callable[[_T], None] = on_success or empty_continuation
150
+ self._on_error: Callable[[Exception], None] = on_error or empty_continuation
151
+ self._on_cancel: Callable[[OperationCanceledError], None] = on_cancel or empty_continuation
152
+
153
+ self._cancel_token = cancel_token
154
+ self._trampoline = trampoline
155
+
156
+ def on_success(self, value: _T) -> None:
157
+ return self._on_success(value)
158
+
159
+ def on_error(self, error: Exception) -> None:
160
+ return self._on_error(error)
161
+
162
+ def on_cancel(self, error: OperationCanceledError) -> None:
163
+ return self._on_cancel(error)
164
+
165
+ @property
166
+ @abstractmethod
167
+ def trampoline(self) -> Trampoline:
168
+ return self._trampoline
169
+
170
+ @trampoline.setter
171
+ @abstractmethod
172
+ def trampoline(self, val: Trampoline):
173
+ self._trampoline = val
174
+
175
+ @property
176
+ @abstractmethod
177
+ def cancel_token(self) -> CancellationToken:
178
+ return self._cancel_token
179
+
180
+ @cancel_token.setter
181
+ @abstractmethod
182
+ def cancel_token(self, val: CancellationToken):
183
+ self._cancel_token = val
184
+
185
+
186
+ @dataclass(order=True)
187
+ class ScheduledItem:
188
+ due_time: float
189
+ action: Callable[[], None] = field(compare=False)
190
+ cancel_token: CancellationToken | None = field(compare=False)
191
+
192
+
193
+ class Trampoline:
194
+ __slots__ = "lock", "running", "call_count"
195
+
196
+ MaxTrampolineCallCount = 75 # Max recursion depth: 1000
197
+
198
+ def __init__(self):
199
+ self.call_count: int = 0
200
+ self.lock = Lock()
201
+ self.running = False
202
+
203
+ def increment_and_check(self):
204
+ with self.lock:
205
+ self.call_count = self.call_count + 1
206
+ return self.call_count > Trampoline.MaxTrampolineCallCount
207
+
208
+ def run_later(
209
+ self,
210
+ action: Callable[[], None],
211
+ due_time: float = 0.0,
212
+ ):
213
+ loop = asyncio.get_event_loop()
214
+ loop.call_later(due_time, action)
215
+
216
+ def run(self, action: Callable[[], None]):
217
+ loop = asyncio.get_event_loop()
218
+
219
+ if self.increment_and_check():
220
+ self.call_count = 0
221
+ loop.call_soon(action)
222
+ else:
223
+ action()
224
+
225
+
226
+ def protected_cont(f: Async[_T]) -> Async[_T]:
227
+ def _protected_cont(ctx: IAsyncContext[_T]):
228
+ if ctx.cancel_token and ctx.cancel_token.is_cancelled:
229
+ ctx.on_cancel(OperationCanceledError())
230
+
231
+ def fn():
232
+ try:
233
+ return f(ctx)
234
+ except Exception as err:
235
+ # print("Exception: ", err)
236
+ ctx.on_error(err)
237
+
238
+ ctx.trampoline.run(fn)
239
+
240
+ return _protected_cont
241
+
242
+
243
+ def protected_bind(
244
+ computation: Callable[[IAsyncContext[_T]], None],
245
+ binder: Callable[[_T], Async[_U]],
246
+ ) -> Async[_U]:
247
+ def cont(ctx: IAsyncContext[_U]) -> None:
248
+ def on_success(x: _T) -> None:
249
+ try:
250
+ binder(x)(ctx)
251
+ except Exception as err:
252
+ # print("Exception: ", err)
253
+ ctx.on_error(err)
254
+
255
+ ctx_ = IAsyncContext.create(on_success, ctx.on_error, ctx.on_cancel, ctx.trampoline, ctx.cancel_token)
256
+ return computation(ctx_)
257
+
258
+ return protected_cont(cont)
259
+
260
+
261
+ def protected_return(value: _T) -> Async[_T]:
262
+ def f(ctx: IAsyncContext[_T]) -> None:
263
+ return ctx.on_success(value)
264
+
265
+ return protected_cont(f)
266
+
267
+
268
+ class AsyncBuilder:
269
+ __slots__ = ()
270
+
271
+ def Bind(self, computation: Async[_T], binder: Callable[[_T], Async[_U]]) -> Async[_U]:
272
+ return protected_bind(computation, binder)
273
+
274
+ def Combine(self, computation1: Async[Any], computation2: Async[_T]) -> Async[_T]:
275
+ def binder(_: _T) -> Async[_T]:
276
+ return computation2
277
+
278
+ return self.Bind(computation1, binder)
279
+
280
+ def Delay(self, generator: Callable[[], Async[_T]]) -> Async[_T]:
281
+ return protected_cont(lambda ctx: generator()(ctx))
282
+
283
+ def For(self, sequence: Iterable[_T], body: Callable[[_T], Async[_U]]) -> Async[_U]:
284
+ done: bool = False
285
+ it = iter(sequence)
286
+ try:
287
+ cur = next(it)
288
+ except StopIteration:
289
+ done = True
290
+
291
+ def delay() -> Async[_U]:
292
+ nonlocal cur, done
293
+ res = body(cur)
294
+ try:
295
+ cur = next(it)
296
+ except StopIteration:
297
+ done = True
298
+ return res
299
+
300
+ return self.While(lambda: not done, self.Delay(delay))
301
+
302
+ @overload
303
+ def Return(self) -> Async[None]: ...
304
+
305
+ @overload
306
+ def Return(self, value: _T) -> Async[_T]: ...
307
+
308
+ def Return(self, value: Any = None) -> Async[Any]:
309
+ return protected_return(value)
310
+
311
+ def ReturnFrom(self, computation: Async[_T]) -> Async[_T]:
312
+ return computation
313
+
314
+ def TryFinally(self, computation: Async[_T], compensation: Callable[[], None]) -> Async[_T]:
315
+ def cont(ctx: IAsyncContext[_T]) -> None:
316
+ def on_success(x: _T) -> None:
317
+ compensation()
318
+ ctx.on_success(x)
319
+
320
+ def on_error(x: Exception) -> None:
321
+ compensation()
322
+ ctx.on_error(x)
323
+
324
+ def on_cancel(x: OperationCanceledError) -> None:
325
+ compensation()
326
+ ctx.on_cancel(x)
327
+
328
+ ctx_ = IAsyncContext.create(on_success, on_error, on_cancel, ctx.trampoline, ctx.cancel_token)
329
+ computation(ctx_)
330
+
331
+ return protected_cont(cont)
332
+
333
+ def TryWith(self, computation: Async[_T], catch_handler: Callable[[Exception], Async[_T]]) -> Async[_T]:
334
+ def fn(ctx: IAsyncContext[_T]):
335
+ def on_error(err: Exception) -> None:
336
+ try:
337
+ catch_handler(err)(ctx)
338
+ except Exception as ex2:
339
+ ctx.on_error(ex2)
340
+
341
+ ctx_ = IAsyncContext.create(
342
+ on_success=ctx.on_success,
343
+ on_cancel=ctx.on_cancel,
344
+ cancel_token=ctx.cancel_token,
345
+ trampoline=ctx.trampoline,
346
+ on_error=on_error,
347
+ )
348
+
349
+ return computation(ctx_)
350
+
351
+ return protected_cont(fn)
352
+
353
+ def Using(self, resource: _D, binder: Callable[[_D], Async[_U]]) -> Async[_U]:
354
+ def compensation() -> None:
355
+ return resource.Dispose()
356
+
357
+ return self.TryFinally(binder(resource), compensation)
358
+
359
+ @overload
360
+ def While(self, guard: Callable[[], bool], computation: Async[Literal[None]]) -> Async[None]: ...
361
+
362
+ @overload
363
+ def While(self, guard: Callable[[], bool], computation: Async[_T]) -> Async[_T]: ...
364
+
365
+ def While(self, guard: Callable[[], bool], computation: Async[Any]) -> Async[Any]:
366
+ if guard():
367
+
368
+ def binder(_: Any) -> Async[Any]:
369
+ return self.While(guard, computation)
370
+
371
+ return self.Bind(computation, binder)
372
+ else:
373
+ return self.Return()
374
+
375
+ def Zero(self) -> Async[None]:
376
+ return protected_cont(lambda ctx: ctx.on_success(None))
377
+
378
+
379
+ singleton = AsyncBuilder()
@@ -0,0 +1,330 @@
1
+ from decimal import Decimal
2
+ from typing import Any
3
+
4
+ from .types import FSharpRef
5
+
6
+
7
+ def compare(x: int, y: int) -> int:
8
+ return -1 if x < y else 1 if x > y else 0
9
+
10
+
11
+ def equals(a: int, b: int) -> bool:
12
+ return a == b
13
+
14
+
15
+ def abs(x: int) -> int:
16
+ return -x if x < 0 else x
17
+
18
+
19
+ def sign(x: int) -> int:
20
+ return -1 if x < 0 else 1 if x > 0 else 0
21
+
22
+
23
+ def max(x: int, y: int) -> int:
24
+ return x if x > y else y
25
+
26
+
27
+ def min(x: int, y: int) -> int:
28
+ return x if x < y else y
29
+
30
+
31
+ def add(x: int, y: int) -> int:
32
+ return x + y
33
+
34
+
35
+ def subtract(x: int, y: int) -> int:
36
+ return x - y
37
+
38
+
39
+ def multiply(x: int, y: int) -> int:
40
+ return x * y
41
+
42
+
43
+ def divide(x: int, y: int) -> int:
44
+ return x // y
45
+
46
+
47
+ def remainder(x: int, y: int) -> int:
48
+ return x % y
49
+
50
+
51
+ def negate(x: int) -> int:
52
+ return -x
53
+
54
+
55
+ def op_unary_negation(x: int) -> int:
56
+ return -x
57
+
58
+
59
+ def op_logical_not(x: int) -> int:
60
+ return ~x
61
+
62
+
63
+ def op_unary_plus(x: int) -> int:
64
+ return x
65
+
66
+
67
+ def op_addition(a: int, b: int) -> int:
68
+ return a + b
69
+
70
+
71
+ def op_subtraction(a: int, b: int) -> int:
72
+ return a - b
73
+
74
+
75
+ def op_multiply(a: int, b: int) -> int:
76
+ return a * b
77
+
78
+
79
+ def op_division(a: int, b: int) -> int:
80
+ return a // b
81
+
82
+
83
+ def op_modulus(a: int, b: int) -> int:
84
+ return a % b
85
+
86
+
87
+ def op_right_shift(a: int, num_bits: int) -> int:
88
+ return a >> num_bits
89
+
90
+
91
+ def op_left_shift(a: int, num_bits: int) -> int:
92
+ return a << num_bits
93
+
94
+
95
+ def op_bitwise_and(x: int, y: int) -> int:
96
+ return x & y
97
+
98
+
99
+ def op_bitwise_or(x: int, y: int) -> int:
100
+ return x | y
101
+
102
+
103
+ def op_exclusive_or(x: int, y: int) -> int:
104
+ return x ^ y
105
+
106
+
107
+ def op_less_than(x: int, y: int) -> bool:
108
+ return x < y
109
+
110
+
111
+ def op_less_than_or_equal(x: int, y: int) -> bool:
112
+ return x <= y
113
+
114
+
115
+ def op_greater_than(x: int, y: int) -> bool:
116
+ return x > y
117
+
118
+
119
+ def op_greater_than_or_equal(x: int, y: int) -> bool:
120
+ return x >= y
121
+
122
+
123
+ def op_equality(x: int, y: int) -> bool:
124
+ return x == y
125
+
126
+
127
+ def op_inequality(x: int, y: int) -> bool:
128
+ return x != y
129
+
130
+
131
+ def get_zero() -> int:
132
+ return 0
133
+
134
+
135
+ def get_one() -> int:
136
+ return 1
137
+
138
+
139
+ def get_minus_one() -> int:
140
+ return -1
141
+
142
+
143
+ def get_is_zero(x: int) -> bool:
144
+ return x == 0
145
+
146
+
147
+ def get_is_one(x: int) -> bool:
148
+ return x == 1
149
+
150
+
151
+ def get_is_even(x: int) -> bool:
152
+ return is_even_integer(x)
153
+
154
+
155
+ def get_is_power_of_two(x: int) -> bool:
156
+ return is_pow2(x)
157
+
158
+
159
+ def get_sign(x: int) -> int:
160
+ return sign(x)
161
+
162
+
163
+ def is_negative(x: int) -> bool:
164
+ return x < 0
165
+
166
+
167
+ def is_positive(x: int) -> bool:
168
+ return x > 0
169
+
170
+
171
+ def is_even_integer(x: int) -> bool:
172
+ return x % 2 == 0
173
+
174
+
175
+ def is_odd_integer(x: int) -> bool:
176
+ return x % 2 != 0
177
+
178
+
179
+ def is_pow2(x: int) -> bool:
180
+ return (x & (x - 1)) == 0
181
+
182
+
183
+ def from_zero() -> int:
184
+ return 0
185
+
186
+
187
+ def from_one() -> int:
188
+ return 1
189
+
190
+
191
+ def from_int32(x: int) -> int:
192
+ return int(x)
193
+
194
+
195
+ def from_int64(x: int) -> int:
196
+ return int(x)
197
+
198
+
199
+ def from_string(x: str) -> int:
200
+ return int(x)
201
+
202
+
203
+ def parse(value: Any) -> int:
204
+ return int(value)
205
+
206
+
207
+ def to_string(value: int) -> str:
208
+ return str(value)
209
+
210
+
211
+ def to_byte(value: int) -> int:
212
+ return value
213
+
214
+
215
+ def to_sbyte(value: int) -> int:
216
+ return value
217
+
218
+
219
+ def to_int16(value: int) -> int:
220
+ return value
221
+
222
+
223
+ def to_uint16(value: int) -> int:
224
+ return value
225
+
226
+
227
+ def to_int32(value: int) -> int:
228
+ return value
229
+
230
+
231
+ def to_uint32(value: int) -> int:
232
+ return value
233
+
234
+
235
+ def to_int64(value: int) -> int:
236
+ return value
237
+
238
+
239
+ def to_uint64(value: int) -> int:
240
+ return value
241
+
242
+
243
+ def to_single(value: int) -> float:
244
+ return float(value)
245
+
246
+
247
+ def to_double(value: int) -> float:
248
+ return float(value)
249
+
250
+
251
+ def to_decimal(value: int) -> Decimal:
252
+ return Decimal(value)
253
+
254
+
255
+ def try_parse(string: str, def_value: FSharpRef[int]) -> bool:
256
+ try:
257
+ def_value.contents = parse(string)
258
+ return True
259
+ except Exception:
260
+ return False
261
+
262
+
263
+ BigInteger = int
264
+
265
+ __all__ = [
266
+ "BigInteger",
267
+ "compare",
268
+ "equals",
269
+ "abs",
270
+ "sign",
271
+ "max",
272
+ "min",
273
+ "add",
274
+ "subtract",
275
+ "multiply",
276
+ "divide",
277
+ "remainder",
278
+ "negate",
279
+ "op_unary_negation",
280
+ "op_logical_not",
281
+ "op_unary_plus",
282
+ "op_addition",
283
+ "op_subtraction",
284
+ "op_multiply",
285
+ "op_division",
286
+ "op_modulus",
287
+ "op_right_shift",
288
+ "op_left_shift",
289
+ "op_bitwise_and",
290
+ "op_bitwise_or",
291
+ "op_exclusive_or",
292
+ "op_less_than",
293
+ "op_less_than_or_equal",
294
+ "op_greater_than",
295
+ "op_greater_than_or_equal",
296
+ "op_equality",
297
+ "op_inequality",
298
+ "get_zero",
299
+ "get_one",
300
+ "get_minus_one",
301
+ "get_is_zero",
302
+ "get_is_one",
303
+ "get_is_even",
304
+ "get_is_power_of_two",
305
+ "get_sign",
306
+ "is_negative",
307
+ "is_positive",
308
+ "is_even_integer",
309
+ "is_odd_integer",
310
+ "is_pow2",
311
+ "from_zero",
312
+ "from_one",
313
+ "from_int32",
314
+ "from_int64",
315
+ "from_string",
316
+ "to_decimal",
317
+ "to_double",
318
+ "to_single",
319
+ "to_uint64",
320
+ "to_int64",
321
+ "to_uint32",
322
+ "to_int32",
323
+ "to_uint16",
324
+ "to_int16",
325
+ "to_byte",
326
+ "to_sbyte",
327
+ "to_string",
328
+ "parse",
329
+ "try_parse",
330
+ ]