cosmotech-acceleration-library 1.0.0__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 (154) hide show
  1. cosmotech_acceleration_library-1.0.0/LICENSE +17 -0
  2. cosmotech_acceleration_library-1.0.0/MANIFEST.in +4 -0
  3. cosmotech_acceleration_library-1.0.0/PKG-INFO +255 -0
  4. cosmotech_acceleration_library-1.0.0/README.md +190 -0
  5. cosmotech_acceleration_library-1.0.0/cosmotech/coal/__init__.py +8 -0
  6. cosmotech_acceleration_library-1.0.0/cosmotech/coal/aws/__init__.py +23 -0
  7. cosmotech_acceleration_library-1.0.0/cosmotech/coal/aws/s3.py +235 -0
  8. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/__init__.py +23 -0
  9. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/adx/__init__.py +26 -0
  10. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/adx/auth.py +125 -0
  11. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/adx/ingestion.py +329 -0
  12. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/adx/query.py +56 -0
  13. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/adx/runner.py +217 -0
  14. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/adx/store.py +255 -0
  15. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/adx/tables.py +118 -0
  16. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/adx/utils.py +71 -0
  17. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/blob.py +109 -0
  18. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/functions.py +72 -0
  19. cosmotech_acceleration_library-1.0.0/cosmotech/coal/azure/storage.py +74 -0
  20. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/__init__.py +36 -0
  21. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/connection.py +96 -0
  22. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/dataset/__init__.py +26 -0
  23. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/dataset/converters.py +164 -0
  24. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/dataset/download/__init__.py +19 -0
  25. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/dataset/download/adt.py +119 -0
  26. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/dataset/download/common.py +140 -0
  27. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/dataset/download/file.py +216 -0
  28. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/dataset/download/twingraph.py +188 -0
  29. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/dataset/utils.py +132 -0
  30. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/parameters.py +48 -0
  31. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/run.py +25 -0
  32. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/run_data.py +173 -0
  33. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/run_template.py +108 -0
  34. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/runner/__init__.py +28 -0
  35. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/runner/data.py +38 -0
  36. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/runner/datasets.py +364 -0
  37. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/runner/download.py +146 -0
  38. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/runner/metadata.py +42 -0
  39. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/runner/parameters.py +157 -0
  40. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/twin_data_layer.py +512 -0
  41. cosmotech_acceleration_library-1.0.0/cosmotech/coal/cosmotech_api/workspace.py +127 -0
  42. cosmotech_acceleration_library-1.0.0/cosmotech/coal/csm/__init__.py +6 -0
  43. cosmotech_acceleration_library-1.0.0/cosmotech/coal/csm/engine/__init__.py +47 -0
  44. cosmotech_acceleration_library-1.0.0/cosmotech/coal/postgresql/__init__.py +22 -0
  45. cosmotech_acceleration_library-1.0.0/cosmotech/coal/postgresql/runner.py +93 -0
  46. cosmotech_acceleration_library-1.0.0/cosmotech/coal/postgresql/store.py +98 -0
  47. cosmotech_acceleration_library-1.0.0/cosmotech/coal/singlestore/__init__.py +17 -0
  48. cosmotech_acceleration_library-1.0.0/cosmotech/coal/singlestore/store.py +100 -0
  49. cosmotech_acceleration_library-1.0.0/cosmotech/coal/store/__init__.py +42 -0
  50. cosmotech_acceleration_library-1.0.0/cosmotech/coal/store/csv.py +44 -0
  51. cosmotech_acceleration_library-1.0.0/cosmotech/coal/store/native_python.py +25 -0
  52. cosmotech_acceleration_library-1.0.0/cosmotech/coal/store/pandas.py +26 -0
  53. cosmotech_acceleration_library-1.0.0/cosmotech/coal/store/pyarrow.py +23 -0
  54. cosmotech_acceleration_library-1.0.0/cosmotech/coal/store/store.py +79 -0
  55. cosmotech_acceleration_library-1.0.0/cosmotech/coal/utils/__init__.py +18 -0
  56. cosmotech_acceleration_library-1.0.0/cosmotech/coal/utils/api.py +68 -0
  57. cosmotech_acceleration_library-1.0.0/cosmotech/coal/utils/logger.py +10 -0
  58. cosmotech_acceleration_library-1.0.0/cosmotech/coal/utils/postgresql.py +236 -0
  59. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/__init__.py +6 -0
  60. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/__init__.py +6 -0
  61. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/adx_send_data.py +92 -0
  62. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/adx_send_runnerdata.py +119 -0
  63. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/__init__.py +6 -0
  64. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/api.py +50 -0
  65. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/postgres_send_runner_metadata.py +119 -0
  66. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/rds_load_csv.py +90 -0
  67. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/rds_send_csv.py +74 -0
  68. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/rds_send_store.py +74 -0
  69. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/run_load_data.py +120 -0
  70. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/runtemplate_load_handler.py +66 -0
  71. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/tdl_load_files.py +76 -0
  72. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/tdl_send_files.py +82 -0
  73. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/wsf_load_file.py +66 -0
  74. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/api/wsf_send_file.py +68 -0
  75. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/az_storage_upload.py +76 -0
  76. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/s3_bucket_delete.py +107 -0
  77. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/s3_bucket_download.py +118 -0
  78. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/s3_bucket_upload.py +128 -0
  79. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/store/__init__.py +6 -0
  80. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/store/dump_to_azure.py +120 -0
  81. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/store/dump_to_postgresql.py +107 -0
  82. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/store/dump_to_s3.py +169 -0
  83. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/store/list_tables.py +48 -0
  84. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/store/load_csv_folder.py +43 -0
  85. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/store/load_from_singlestore.py +96 -0
  86. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/store/reset.py +31 -0
  87. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/commands/store/store.py +37 -0
  88. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/main.py +57 -0
  89. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/utils/__init__.py +6 -0
  90. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/utils/click.py +18 -0
  91. cosmotech_acceleration_library-1.0.0/cosmotech/csm_data/utils/decorators.py +75 -0
  92. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/__init__.py +11 -0
  93. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/api/postgres_send_runner_metadata.json +40 -0
  94. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/api/rds_load_csv.json +27 -0
  95. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/api/rds_send_csv.json +27 -0
  96. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/api/rds_send_store.json +27 -0
  97. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/api/run_load_data.json +30 -0
  98. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/api/runtemplate_load_handler.json +27 -0
  99. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/api/tdl_load_files.json +32 -0
  100. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/api/tdl_send_files.json +27 -0
  101. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/api/try_api_connection.json +9 -0
  102. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/api/wsf_load_file.json +36 -0
  103. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/api/wsf_send_file.json +36 -0
  104. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/main/adx_send_runnerdata.json +29 -0
  105. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/main/az_storage_upload.json +25 -0
  106. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/main/s3_bucket_delete.json +31 -0
  107. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/main/s3_bucket_download.json +34 -0
  108. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/main/s3_bucket_upload.json +35 -0
  109. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/store/store_dump_to_azure.json +35 -0
  110. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/store/store_dump_to_postgresql.json +34 -0
  111. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/store/store_dump_to_s3.json +36 -0
  112. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/store/store_list_tables.json +15 -0
  113. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/store/store_load_csv_folder.json +18 -0
  114. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/store/store_load_from_singlestore.json +34 -0
  115. cosmotech_acceleration_library-1.0.0/cosmotech/orchestrator_plugins/csm-data/templates/store/store_reset.json +15 -0
  116. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/__init__.py +6 -0
  117. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/common/data_transfer.yml +6 -0
  118. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/common/errors.yml +9 -0
  119. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/common/file_operations.yml +6 -0
  120. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/common/progress.yml +6 -0
  121. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/common/timing.yml +5 -0
  122. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/common/validation.yml +8 -0
  123. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/cosmotech_api/connection.yml +10 -0
  124. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/cosmotech_api/run_data.yml +2 -0
  125. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/cosmotech_api/run_template.yml +8 -0
  126. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/cosmotech_api/runner.yml +16 -0
  127. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/cosmotech_api/solution.yml +5 -0
  128. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/cosmotech_api/workspace.yml +7 -0
  129. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/services/adx.yml +59 -0
  130. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/services/api.yml +8 -0
  131. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/services/azure_storage.yml +14 -0
  132. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/services/database.yml +19 -0
  133. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/services/dataset.yml +68 -0
  134. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/services/postgresql.yml +28 -0
  135. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/services/s3.yml +9 -0
  136. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/solution.yml +3 -0
  137. cosmotech_acceleration_library-1.0.0/cosmotech/translation/coal/en-US/coal/web.yml +2 -0
  138. cosmotech_acceleration_library-1.0.0/cosmotech/translation/csm_data/__init__.py +6 -0
  139. cosmotech_acceleration_library-1.0.0/cosmotech/translation/csm_data/en-US/csm-data.yml +434 -0
  140. cosmotech_acceleration_library-1.0.0/cosmotech_acceleration_library.egg-info/PKG-INFO +255 -0
  141. cosmotech_acceleration_library-1.0.0/cosmotech_acceleration_library.egg-info/SOURCES.txt +152 -0
  142. cosmotech_acceleration_library-1.0.0/cosmotech_acceleration_library.egg-info/dependency_links.txt +1 -0
  143. cosmotech_acceleration_library-1.0.0/cosmotech_acceleration_library.egg-info/entry_points.txt +2 -0
  144. cosmotech_acceleration_library-1.0.0/cosmotech_acceleration_library.egg-info/not-zip-safe +1 -0
  145. cosmotech_acceleration_library-1.0.0/cosmotech_acceleration_library.egg-info/requires.txt +58 -0
  146. cosmotech_acceleration_library-1.0.0/cosmotech_acceleration_library.egg-info/top_level.txt +1 -0
  147. cosmotech_acceleration_library-1.0.0/pyproject.toml +66 -0
  148. cosmotech_acceleration_library-1.0.0/requirements.all.txt +1 -0
  149. cosmotech_acceleration_library-1.0.0/requirements.dev.txt +3 -0
  150. cosmotech_acceleration_library-1.0.0/requirements.doc.txt +15 -0
  151. cosmotech_acceleration_library-1.0.0/requirements.extra.txt +2 -0
  152. cosmotech_acceleration_library-1.0.0/requirements.test.txt +4 -0
  153. cosmotech_acceleration_library-1.0.0/requirements.txt +46 -0
  154. cosmotech_acceleration_library-1.0.0/setup.cfg +4 -0
@@ -0,0 +1,17 @@
1
+ LICENSE
2
+ =======
3
+
4
+ Copyright 2021-2023 Cosmo Tech
5
+
6
+ You are authorized to use this software following the execution of a specific agreement with Cosmo Tech or with an authorized licensee of Cosmo Tech.
7
+
8
+ Accordingly you should refer to this specific agreement for the purpose of the extent of the use that is permitted. This use shall mainly consist in using, displaying and executing the software for your own needs.
9
+
10
+ Except otherwise provided in the above-mentioned specific agreement:
11
+ - you are not allowed to use this software for commercial purpose or to redistribute it without prior authorization from Cosmo Tech;
12
+ - you are not allowed to copy, duplicate, modify, adapt and translate this software except as authorized under section L122-6-1 of the French Intellectual Property Code or specifically under the specific agreement with Cosmo Tech;
13
+ - you must not removed this notice or any mention related to the copyright of Cosmo Tech;
14
+
15
+ This software is provided 'as is', without any express or implied warranty towards the users.
16
+
17
+ Any Software generated through the use of the software shall be your own property to the extent this Software does not contain any part of software source code.
@@ -0,0 +1,4 @@
1
+ include README.md
2
+ include LICENSE
3
+ graft cosmotech/orchestrator_plugins
4
+ graft cosmotech/translation
@@ -0,0 +1,255 @@
1
+ Metadata-Version: 2.4
2
+ Name: cosmotech_acceleration_library
3
+ Version: 1.0.0
4
+ Summary: Acceleration libraries for CosmoTech cloud based solution development
5
+ Author-email: Cosmo Tech <platform@cosmotech.com>
6
+ Project-URL: Homepage, https://www.cosmotech.com
7
+ Project-URL: Source, https://github.com/Cosmo-Tech/CosmoTech-Acceleration-Library
8
+ Project-URL: Documentation, https://cosmo-tech.github.io/CosmoTech-Acceleration-Library
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: azure-functions~=1.20.0
12
+ Requires-Dist: azure-digitaltwins-core~=1.2.0
13
+ Requires-Dist: azure-identity~=1.16.1
14
+ Requires-Dist: azure-kusto-data~=4.4.1
15
+ Requires-Dist: azure-kusto-ingest~=4.4.1
16
+ Requires-Dist: tenacity~=8.3.0
17
+ Requires-Dist: python-keycloak~=4.7.3
18
+ Requires-Dist: redis==4.4.4
19
+ Requires-Dist: redisgraph_bulk_loader==0.10.2
20
+ Requires-Dist: cosmotech-api~=3.2
21
+ Requires-Dist: boto3~=1.35.19
22
+ Requires-Dist: requests~=2.32.3
23
+ Requires-Dist: singlestoredb~=1.10.0
24
+ Requires-Dist: cosmotech-run-orchestrator~=2.0.0
25
+ Requires-Dist: pyarrow~=17.0.0
26
+ Requires-Dist: adbc-driver-manager~=1.1.0
27
+ Requires-Dist: adbc-driver-sqlite~=1.1.0
28
+ Requires-Dist: adbc-driver-postgresql~=1.1.0
29
+ Requires-Dist: click~=8.1.7
30
+ Requires-Dist: rich-click~=1.7.3
31
+ Requires-Dist: click-log~=0.4.0
32
+ Requires-Dist: tqdm~=4.67.1
33
+ Requires-Dist: openpyxl~=3.1
34
+ Requires-Dist: pandas~=2.1
35
+ Requires-Dist: python-dateutil~=2.8
36
+ Requires-Dist: rich~=13.7
37
+ Requires-Dist: setuptools
38
+ Provides-Extra: doc
39
+ Requires-Dist: mkdocs~=1.5.3; extra == "doc"
40
+ Requires-Dist: mkdocs-click~=0.8.1; extra == "doc"
41
+ Requires-Dist: mkdocs-gen-files~=0.5.0; extra == "doc"
42
+ Requires-Dist: mkdocstrings[python]~=0.28.2; extra == "doc"
43
+ Requires-Dist: mkdocs-awesome-pages-plugin~=2.9.3; extra == "doc"
44
+ Requires-Dist: pymdown-extensions~=10.7; extra == "doc"
45
+ Requires-Dist: requirements-parser~=0.11.0; extra == "doc"
46
+ Requires-Dist: setuptools~=70.3.0; extra == "doc"
47
+ Requires-Dist: mike~=2.0.0; extra == "doc"
48
+ Requires-Dist: griffe~=1.5.7; extra == "doc"
49
+ Requires-Dist: mkdocs-include-dir-to-nav~=1.2.0; extra == "doc"
50
+ Requires-Dist: mkdocs-material[imaging]~=9.5.18; extra == "doc"
51
+ Requires-Dist: mkdocs-table-reader-plugin~=2.0.3; extra == "doc"
52
+ Requires-Dist: mkdocs-literate-nav~=0.6.1; extra == "doc"
53
+ Provides-Extra: test
54
+ Requires-Dist: pytest; extra == "test"
55
+ Requires-Dist: pytest-docker; extra == "test"
56
+ Requires-Dist: pytest-cov; extra == "test"
57
+ Provides-Extra: extra
58
+ Requires-Dist: pandas~=2.2.2; extra == "extra"
59
+ Provides-Extra: dev
60
+ Requires-Dist: black==23.3.0; extra == "dev"
61
+ Requires-Dist: pre-commit==3.3.2; extra == "dev"
62
+ Provides-Extra: all
63
+ Requires-Dist: CosmoTech_Acceleration_Library[dev,doc,extra,test]; extra == "all"
64
+ Dynamic: license-file
65
+
66
+ # CosmoTech-Acceleration-Library (CoAL)
67
+
68
+ Acceleration library for CosmoTech cloud-based solution development.
69
+
70
+ ## Introduction
71
+
72
+ The CosmoTech Acceleration Library (CoAL) provides a comprehensive set of tools and utilities to accelerate the development of solutions based on the CosmoTech platform. It offers a unified interface for interacting with CosmoTech APIs, managing data, and integrating with various cloud services.
73
+
74
+ ## Main Components
75
+
76
+ ### csm-data
77
+
78
+ `csm-data` is a powerful CLI tool designed to help CosmoTech solution modelers and integrators interact with multiple systems. It provides ready-to-use commands to send and retrieve data from various systems where a CosmoTech API could be integrated.
79
+
80
+ ```bash
81
+ # Get help on available commands
82
+ csm-data --help
83
+
84
+ # Get help on specific command groups
85
+ csm-data api --help
86
+ ```
87
+
88
+ ### datastore
89
+
90
+ The datastore provides a way to maintain local data during simulations and comes with `csm-data` commands to easily send those data to target systems. It offers:
91
+
92
+ - Format flexibility (Python dictionaries, CSV files, Pandas DataFrames, PyArrow Tables)
93
+ - Persistent storage in SQLite
94
+ - SQL query capabilities
95
+ - Simplified data pipeline management
96
+
97
+ ```python
98
+ from cosmotech.coal.store.store import Store
99
+ from cosmotech.coal.store.native_python import store_pylist
100
+
101
+ # Initialize and reset the data store
102
+ my_datastore = Store(reset=True)
103
+
104
+ # Create and store data
105
+ my_data = [{"foo": "bar"}, {"foo": "barbar"}, {"foo": "world"}, {"foo": "bar"}]
106
+ store_pylist("my_data", my_data)
107
+
108
+ # Query the data
109
+ results = my_datastore.execute_query("SELECT foo, count(*) as line_count FROM my_data GROUP BY foo").to_pylist()
110
+ print(results)
111
+ # > [{'foo': 'bar', 'line_count': 2}, {'foo': 'barbar', 'line_count': 1}, {'foo': 'world', 'line_count': 1}]
112
+ ```
113
+
114
+ ### CosmoTech API Integration
115
+
116
+ CoAL provides comprehensive tools for interacting with the CosmoTech API, allowing you to:
117
+
118
+ - Authenticate with different identity providers (API Key, Azure Entra, Keycloak)
119
+ - Manage workspaces and files
120
+ - Work with the Twin Data Layer for graph data
121
+ - Handle runners and runs
122
+ - Process and transform data
123
+ - Build end-to-end workflows
124
+
125
+ ```python
126
+ import os
127
+ from cosmotech.coal.cosmotech_api.connection import get_api_client
128
+
129
+ # Set up environment variables for authentication
130
+ os.environ["CSM_API_URL"] = "https://api.cosmotech.com" # Replace with your API URL
131
+ os.environ["CSM_API_KEY"] = "your-api-key" # Replace with your actual API key
132
+
133
+ # Get the API client
134
+ api_client, connection_type = get_api_client()
135
+ print(f"Connected using: {connection_type}")
136
+
137
+ # Use the client with various API instances
138
+ from cosmotech_api.api.organization_api import OrganizationApi
139
+ org_api = OrganizationApi(api_client)
140
+
141
+ # List organizations
142
+ organizations = org_api.find_all_organizations()
143
+ for org in organizations:
144
+ print(f"Organization: {org.name} (ID: {org.id})")
145
+
146
+ # Don't forget to close the client when done
147
+ api_client.close()
148
+ ```
149
+
150
+ ### Other Components
151
+
152
+ - **coal**: Core library with modules for API interaction, data management, etc.
153
+ - **csm_data**: CLI tool for data management and integration with various systems
154
+ - **orchestrator_plugins**: Plugins that integrate with external orchestration systems
155
+ - **translation**: Internationalization support for multiple languages
156
+
157
+ ## Getting Started
158
+
159
+ ### Installation
160
+
161
+ ```bash
162
+ pip install cosmotech-acceleration-library
163
+ ```
164
+
165
+ ### Basic Usage
166
+
167
+ Check out the tutorials directory for comprehensive examples of how to use the library:
168
+
169
+ - [CosmoTech API Integration](https://cosmo-tech.github.io/CosmoTech-Acceleration-Library/tutorials/cosmotech-api/)
170
+ - [Data Store Usage](https://cosmo-tech.github.io/CosmoTech-Acceleration-Library/tutorials/datastore/)
171
+ - [csm-data CLI](https://cosmo-tech.github.io/CosmoTech-Acceleration-Library/tutorials/csm-data/)
172
+
173
+ ## Key Features
174
+
175
+ ### Cloud Service Integration
176
+
177
+ CoAL provides built-in support for various cloud services:
178
+
179
+ - **Azure**: Azure Data Explorer (ADX), Azure Storage, Azure Functions
180
+ - **AWS**: S3 buckets, and more
181
+ - **Database Systems**: PostgreSQL, SingleStore, and others
182
+
183
+ ### Data Management
184
+
185
+ - Load and transform data from various sources
186
+ - Store and query data locally
187
+ - Export data to different formats and destinations
188
+ - Manage datasets in the CosmoTech platform
189
+
190
+ ### Orchestration Integration
191
+
192
+ - Provides plugins that integrate with external orchestration systems
193
+ - Supports data transfer between orchestration steps
194
+ - Offers utilities for handling parameters and configurations
195
+ - Enables seamless integration with the CosmoTech platform during orchestrated workflows
196
+
197
+ ## Documentation and Tutorials
198
+
199
+ Comprehensive documentation is available at [https://cosmo-tech.github.io/CosmoTech-Acceleration-Library/](https://cosmo-tech.github.io/CosmoTech-Acceleration-Library/)
200
+
201
+ ### Tutorials
202
+
203
+ - **CosmoTech API**: Learn how to interact with the CosmoTech API directly: authentication, workspaces, Twin Data Layer, and more.
204
+ - **Data Store**: The datastore is your friend to keep data between orchestration steps. It comes with multiple ways to interact with it.
205
+ - **csm-data**: Make full use of `csm-data` commands to connect to services during your orchestration runs.
206
+
207
+ ## Testing and Code Coverage
208
+
209
+ The CosmoTech Acceleration Library maintains a comprehensive test suite to ensure reliability and stability. We use pytest for testing and pytest-cov for coverage reporting.
210
+
211
+ ### Running Tests
212
+
213
+ To run the test suite:
214
+
215
+ ```bash
216
+ # Install test dependencies
217
+ pip install -e ".[test]"
218
+
219
+ # Run tests with coverage reporting
220
+ pytest tests/unit/coal/ --cov=cosmotech.coal --cov-report=term-missing --cov-report=html
221
+ ```
222
+
223
+ ### Coverage Reports
224
+
225
+ After running tests with coverage, you can view detailed HTML reports:
226
+
227
+ ```bash
228
+ # Open the HTML coverage report
229
+ open coverage_html_report/index.html
230
+ ```
231
+
232
+ [![codecov](https://codecov.io/gh/Cosmo-Tech/CosmoTech-Acceleration-Library/branch/main/graph/badge.svg)](https://codecov.io/gh/Cosmo-Tech/CosmoTech-Acceleration-Library)
233
+
234
+ We maintain high test coverage to ensure code quality and reliability. All pull requests are expected to maintain or improve the current coverage levels.
235
+
236
+ ### Test Generation Tools
237
+
238
+ To help maintain test coverage, we provide tools to identify untested functions and generate test files:
239
+
240
+ ```bash
241
+ # Find functions without tests
242
+ python find_untested_functions.py
243
+
244
+ # Generate test files for a specific module
245
+ python generate_test_files.py --module cosmotech/coal/module/file.py
246
+
247
+ # Generate test files for all untested functions
248
+ python generate_test_files.py --all
249
+ ```
250
+
251
+ These tools help ensure that every function has at least one test, which is a requirement for contributions to the project.
252
+
253
+ ## Contact
254
+
255
+ For support, feature requests, or contributions, please use the [GitHub repository](https://github.com/Cosmo-Tech/CosmoTech-Acceleration-Library).
@@ -0,0 +1,190 @@
1
+ # CosmoTech-Acceleration-Library (CoAL)
2
+
3
+ Acceleration library for CosmoTech cloud-based solution development.
4
+
5
+ ## Introduction
6
+
7
+ The CosmoTech Acceleration Library (CoAL) provides a comprehensive set of tools and utilities to accelerate the development of solutions based on the CosmoTech platform. It offers a unified interface for interacting with CosmoTech APIs, managing data, and integrating with various cloud services.
8
+
9
+ ## Main Components
10
+
11
+ ### csm-data
12
+
13
+ `csm-data` is a powerful CLI tool designed to help CosmoTech solution modelers and integrators interact with multiple systems. It provides ready-to-use commands to send and retrieve data from various systems where a CosmoTech API could be integrated.
14
+
15
+ ```bash
16
+ # Get help on available commands
17
+ csm-data --help
18
+
19
+ # Get help on specific command groups
20
+ csm-data api --help
21
+ ```
22
+
23
+ ### datastore
24
+
25
+ The datastore provides a way to maintain local data during simulations and comes with `csm-data` commands to easily send those data to target systems. It offers:
26
+
27
+ - Format flexibility (Python dictionaries, CSV files, Pandas DataFrames, PyArrow Tables)
28
+ - Persistent storage in SQLite
29
+ - SQL query capabilities
30
+ - Simplified data pipeline management
31
+
32
+ ```python
33
+ from cosmotech.coal.store.store import Store
34
+ from cosmotech.coal.store.native_python import store_pylist
35
+
36
+ # Initialize and reset the data store
37
+ my_datastore = Store(reset=True)
38
+
39
+ # Create and store data
40
+ my_data = [{"foo": "bar"}, {"foo": "barbar"}, {"foo": "world"}, {"foo": "bar"}]
41
+ store_pylist("my_data", my_data)
42
+
43
+ # Query the data
44
+ results = my_datastore.execute_query("SELECT foo, count(*) as line_count FROM my_data GROUP BY foo").to_pylist()
45
+ print(results)
46
+ # > [{'foo': 'bar', 'line_count': 2}, {'foo': 'barbar', 'line_count': 1}, {'foo': 'world', 'line_count': 1}]
47
+ ```
48
+
49
+ ### CosmoTech API Integration
50
+
51
+ CoAL provides comprehensive tools for interacting with the CosmoTech API, allowing you to:
52
+
53
+ - Authenticate with different identity providers (API Key, Azure Entra, Keycloak)
54
+ - Manage workspaces and files
55
+ - Work with the Twin Data Layer for graph data
56
+ - Handle runners and runs
57
+ - Process and transform data
58
+ - Build end-to-end workflows
59
+
60
+ ```python
61
+ import os
62
+ from cosmotech.coal.cosmotech_api.connection import get_api_client
63
+
64
+ # Set up environment variables for authentication
65
+ os.environ["CSM_API_URL"] = "https://api.cosmotech.com" # Replace with your API URL
66
+ os.environ["CSM_API_KEY"] = "your-api-key" # Replace with your actual API key
67
+
68
+ # Get the API client
69
+ api_client, connection_type = get_api_client()
70
+ print(f"Connected using: {connection_type}")
71
+
72
+ # Use the client with various API instances
73
+ from cosmotech_api.api.organization_api import OrganizationApi
74
+ org_api = OrganizationApi(api_client)
75
+
76
+ # List organizations
77
+ organizations = org_api.find_all_organizations()
78
+ for org in organizations:
79
+ print(f"Organization: {org.name} (ID: {org.id})")
80
+
81
+ # Don't forget to close the client when done
82
+ api_client.close()
83
+ ```
84
+
85
+ ### Other Components
86
+
87
+ - **coal**: Core library with modules for API interaction, data management, etc.
88
+ - **csm_data**: CLI tool for data management and integration with various systems
89
+ - **orchestrator_plugins**: Plugins that integrate with external orchestration systems
90
+ - **translation**: Internationalization support for multiple languages
91
+
92
+ ## Getting Started
93
+
94
+ ### Installation
95
+
96
+ ```bash
97
+ pip install cosmotech-acceleration-library
98
+ ```
99
+
100
+ ### Basic Usage
101
+
102
+ Check out the tutorials directory for comprehensive examples of how to use the library:
103
+
104
+ - [CosmoTech API Integration](https://cosmo-tech.github.io/CosmoTech-Acceleration-Library/tutorials/cosmotech-api/)
105
+ - [Data Store Usage](https://cosmo-tech.github.io/CosmoTech-Acceleration-Library/tutorials/datastore/)
106
+ - [csm-data CLI](https://cosmo-tech.github.io/CosmoTech-Acceleration-Library/tutorials/csm-data/)
107
+
108
+ ## Key Features
109
+
110
+ ### Cloud Service Integration
111
+
112
+ CoAL provides built-in support for various cloud services:
113
+
114
+ - **Azure**: Azure Data Explorer (ADX), Azure Storage, Azure Functions
115
+ - **AWS**: S3 buckets, and more
116
+ - **Database Systems**: PostgreSQL, SingleStore, and others
117
+
118
+ ### Data Management
119
+
120
+ - Load and transform data from various sources
121
+ - Store and query data locally
122
+ - Export data to different formats and destinations
123
+ - Manage datasets in the CosmoTech platform
124
+
125
+ ### Orchestration Integration
126
+
127
+ - Provides plugins that integrate with external orchestration systems
128
+ - Supports data transfer between orchestration steps
129
+ - Offers utilities for handling parameters and configurations
130
+ - Enables seamless integration with the CosmoTech platform during orchestrated workflows
131
+
132
+ ## Documentation and Tutorials
133
+
134
+ Comprehensive documentation is available at [https://cosmo-tech.github.io/CosmoTech-Acceleration-Library/](https://cosmo-tech.github.io/CosmoTech-Acceleration-Library/)
135
+
136
+ ### Tutorials
137
+
138
+ - **CosmoTech API**: Learn how to interact with the CosmoTech API directly: authentication, workspaces, Twin Data Layer, and more.
139
+ - **Data Store**: The datastore is your friend to keep data between orchestration steps. It comes with multiple ways to interact with it.
140
+ - **csm-data**: Make full use of `csm-data` commands to connect to services during your orchestration runs.
141
+
142
+ ## Testing and Code Coverage
143
+
144
+ The CosmoTech Acceleration Library maintains a comprehensive test suite to ensure reliability and stability. We use pytest for testing and pytest-cov for coverage reporting.
145
+
146
+ ### Running Tests
147
+
148
+ To run the test suite:
149
+
150
+ ```bash
151
+ # Install test dependencies
152
+ pip install -e ".[test]"
153
+
154
+ # Run tests with coverage reporting
155
+ pytest tests/unit/coal/ --cov=cosmotech.coal --cov-report=term-missing --cov-report=html
156
+ ```
157
+
158
+ ### Coverage Reports
159
+
160
+ After running tests with coverage, you can view detailed HTML reports:
161
+
162
+ ```bash
163
+ # Open the HTML coverage report
164
+ open coverage_html_report/index.html
165
+ ```
166
+
167
+ [![codecov](https://codecov.io/gh/Cosmo-Tech/CosmoTech-Acceleration-Library/branch/main/graph/badge.svg)](https://codecov.io/gh/Cosmo-Tech/CosmoTech-Acceleration-Library)
168
+
169
+ We maintain high test coverage to ensure code quality and reliability. All pull requests are expected to maintain or improve the current coverage levels.
170
+
171
+ ### Test Generation Tools
172
+
173
+ To help maintain test coverage, we provide tools to identify untested functions and generate test files:
174
+
175
+ ```bash
176
+ # Find functions without tests
177
+ python find_untested_functions.py
178
+
179
+ # Generate test files for a specific module
180
+ python generate_test_files.py --module cosmotech/coal/module/file.py
181
+
182
+ # Generate test files for all untested functions
183
+ python generate_test_files.py --all
184
+ ```
185
+
186
+ These tools help ensure that every function has at least one test, which is a requirement for contributions to the project.
187
+
188
+ ## Contact
189
+
190
+ For support, feature requests, or contributions, please use the [GitHub repository](https://github.com/Cosmo-Tech/CosmoTech-Acceleration-Library).
@@ -0,0 +1,8 @@
1
+ # Copyright (C) - 2023 - 2025 - Cosmo Tech
2
+ # This document and all information contained herein is the exclusive property -
3
+ # including all intellectual property rights pertaining thereto - of Cosmo Tech.
4
+ # Any use, reproduction, translation, broadcasting, transmission, distribution,
5
+ # etc., to any person is prohibited unless it has been previously and
6
+ # specifically authorized by written means by Cosmo Tech.
7
+
8
+ __version__ = "1.0.0"
@@ -0,0 +1,23 @@
1
+ # Copyright (C) - 2023 - 2025 - Cosmo Tech
2
+ # This document and all information contained herein is the exclusive property -
3
+ # including all intellectual property rights pertaining thereto - of Cosmo Tech.
4
+ # Any use, reproduction, translation, broadcasting, transmission, distribution,
5
+ # etc., to any person is prohibited unless it has been previously and
6
+ # specifically authorized by written means by Cosmo Tech.
7
+
8
+ """
9
+ AWS services integration module.
10
+
11
+ This module provides functions for interacting with AWS services like S3.
12
+ """
13
+
14
+ # Re-export S3 functions for easier importing
15
+ from cosmotech.coal.aws.s3 import (
16
+ create_s3_client,
17
+ create_s3_resource,
18
+ upload_file,
19
+ upload_folder,
20
+ download_files,
21
+ upload_data_stream,
22
+ delete_objects,
23
+ )