splight-lib 5.23.0.dev2__tar.gz → 5.23.1__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 (161) hide show
  1. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/PKG-INFO +1 -1
  2. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/pyproject.toml +1 -1
  3. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/v4/remote_client.py +22 -13
  4. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/uv.lock +1 -1
  5. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.github/workflows/code-style.yaml +0 -0
  6. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.github/workflows/developer.yaml +0 -0
  7. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.github/workflows/pre-release.yaml +0 -0
  8. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.github/workflows/release.yaml +0 -0
  9. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.github/workflows/scripts/check_dev_version.py +0 -0
  10. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.github/workflows/scripts/check_master_version.py +0 -0
  11. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.github/workflows/scripts/check_pypi_version.py +0 -0
  12. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.github/workflows/scripts/check_release_version.py +0 -0
  13. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.github/workflows/scripts/check_version_uploaded.py +0 -0
  14. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.github/workflows/scripts/cleanup_pypi.py +0 -0
  15. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.github/workflows/scripts/requirements.txt +0 -0
  16. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.gitignore +0 -0
  17. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/.pre-commit-config.yaml +0 -0
  18. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/DOCS.md +0 -0
  19. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/LICENSE.txt +0 -0
  20. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/Makefile +0 -0
  21. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/README.md +0 -0
  22. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/__init__.py +0 -0
  23. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/abstract/__init__.py +0 -0
  24. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/abstract/client.py +0 -0
  25. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/auth/__init__.py +0 -0
  26. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/auth/token.py +0 -0
  27. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/__init__.py +0 -0
  28. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/database/__init__.py +0 -0
  29. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/database/abstract.py +0 -0
  30. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/database/builder.py +0 -0
  31. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/database/classmap.py +0 -0
  32. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/database/remote_client.py +0 -0
  33. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/__init__.py +0 -0
  34. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/builder.py +0 -0
  35. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/common/__init__.py +0 -0
  36. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/common/abstract.py +0 -0
  37. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/common/buffer.py +0 -0
  38. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/v3/__init__.py +0 -0
  39. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/v3/builder.py +0 -0
  40. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/v3/classmap.py +0 -0
  41. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/v3/constants.py +0 -0
  42. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/v3/exceptions.py +0 -0
  43. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/v3/remote_client.py +0 -0
  44. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/v4/__init__.py +0 -0
  45. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/v4/builder.py +0 -0
  46. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/datalake/v4/exceptions.py +0 -0
  47. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/exceptions.py +0 -0
  48. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/hub/__init__.py +0 -0
  49. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/hub/abstract.py +0 -0
  50. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/hub/client.py +0 -0
  51. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/tests/test_database.py +0 -0
  52. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/client/tests/test_datalake.py +0 -0
  53. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/component/__init__.py +0 -0
  54. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/component/abstract.py +0 -0
  55. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/component/exceptions.py +0 -0
  56. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/component/spec.py +0 -0
  57. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/component/tests/test_spec.py +0 -0
  58. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/config.py +0 -0
  59. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/conftest.py +0 -0
  60. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/constants.py +0 -0
  61. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/encryption.py +0 -0
  62. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/execution/__init__.py +0 -0
  63. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/execution/engine.py +0 -0
  64. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/execution/exceptions.py +0 -0
  65. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/execution/scheduling.py +0 -0
  66. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/execution/task.py +0 -0
  67. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/execution/tests/test_execution.py +0 -0
  68. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/execution/tests/test_scheduling.py +0 -0
  69. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/execution/trigger.py +0 -0
  70. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/logging/__init__.py +0 -0
  71. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/logging/_internal.py +0 -0
  72. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/logging/component.py +0 -0
  73. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/logging/constants.py +0 -0
  74. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/logging/logging.py +0 -0
  75. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/logging/tests/test_logging.py +0 -0
  76. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/__init__.py +0 -0
  77. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/__init__.py +0 -0
  78. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/actions.py +0 -0
  79. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/alert.py +0 -0
  80. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/asset.py +0 -0
  81. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/attribute.py +0 -0
  82. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/bus.py +0 -0
  83. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/component.py +0 -0
  84. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/dashboard.py +0 -0
  85. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/data_address.py +0 -0
  86. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/datalake.py +0 -0
  87. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/datalake_base.py +0 -0
  88. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/exceptions.py +0 -0
  89. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/external_grid.py +0 -0
  90. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/file.py +0 -0
  91. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/function.py +0 -0
  92. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/generator.py +0 -0
  93. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/generic.py +0 -0
  94. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/grid.py +0 -0
  95. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/hub.py +0 -0
  96. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/hub_server.py +0 -0
  97. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/inverter.py +0 -0
  98. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/line.py +0 -0
  99. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/metadata.py +0 -0
  100. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/native.py +0 -0
  101. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/secret.py +0 -0
  102. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/segment.py +0 -0
  103. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/server.py +0 -0
  104. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/slack_generator.py +0 -0
  105. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/slack_line.py +0 -0
  106. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/tag.py +0 -0
  107. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/tests/models.json +0 -0
  108. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/tests/test_component_object_instance.py +0 -0
  109. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/tests/test_database_model.py +0 -0
  110. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/tests/test_metadata.py +0 -0
  111. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/tests/test_models.py +0 -0
  112. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/three_winding_transformer.py +0 -0
  113. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/transformer.py +0 -0
  114. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v3/variable_types.py +0 -0
  115. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/__init__.py +0 -0
  116. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/asset.py +0 -0
  117. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/attribute.py +0 -0
  118. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/base.py +0 -0
  119. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/battery.py +0 -0
  120. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/bus.py +0 -0
  121. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/component.py +0 -0
  122. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/data_address.py +0 -0
  123. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/datalake.py +0 -0
  124. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/datalake_base.py +0 -0
  125. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/exceptions.py +0 -0
  126. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/external_grid.py +0 -0
  127. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/file.py +0 -0
  128. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/generator.py +0 -0
  129. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/generic.py +0 -0
  130. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/grid.py +0 -0
  131. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/hub.py +0 -0
  132. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/hub_server.py +0 -0
  133. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/line.py +0 -0
  134. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/load.py +0 -0
  135. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/metadata.py +0 -0
  136. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/native.py +0 -0
  137. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/secret.py +0 -0
  138. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/segment.py +0 -0
  139. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/server.py +0 -0
  140. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/slack_line.py +0 -0
  141. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/solution.py +0 -0
  142. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/tag.py +0 -0
  143. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/transformer.py +0 -0
  144. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/_v4/variable_types.py +0 -0
  145. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/models/database.py +0 -0
  146. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/restclient/__init__.py +0 -0
  147. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/restclient/client.py +0 -0
  148. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/restclient/exceptions.py +0 -0
  149. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/restclient/tests/test_restclient.py +0 -0
  150. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/restclient/types.py +0 -0
  151. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/server/__init__.py +0 -0
  152. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/server/exceptions.py +0 -0
  153. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/server/server.py +0 -0
  154. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/settings.py +0 -0
  155. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/testing/__init__.py +0 -0
  156. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/tests/FakeProc.py +0 -0
  157. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/tests/asset_geometries.json +0 -0
  158. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/tests/test_api_contracts.py +0 -0
  159. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/utils/__init__.py +0 -0
  160. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/utils/custom_model.py +0 -0
  161. {splight_lib-5.23.0.dev2 → splight_lib-5.23.1}/splight_lib/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: splight-lib
3
- Version: 5.23.0.dev2
3
+ Version: 5.23.1
4
4
  Summary: Splight Python Library
5
5
  Author-email: Splight Dev <dev@splight.com>
6
6
  License-File: LICENSE.txt
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "splight-lib"
3
- version = "5.23.0dev2"
3
+ version = "5.23.1"
4
4
  description = "Splight Python Library"
5
5
  authors = [
6
6
  {name = "Splight Dev",email = "dev@splight.com"}
@@ -84,7 +84,7 @@ class SyncRemoteDatalakeClient(AbstractDatalakeClient):
84
84
 
85
85
  @property
86
86
  def prefix(self) -> str:
87
- return "v4/data/"
87
+ return "v4/data"
88
88
  # return f"v4/data/{self.resource}"
89
89
 
90
90
 
@@ -125,6 +125,7 @@ class BufferedAsyncRemoteDatalakeClient(SyncRemoteDatalakeClient):
125
125
  )
126
126
  self._data_buffers = {
127
127
  "default": DatalakeDocumentBuffer(buffer_size, buffer_timeout),
128
+ "solutions": DatalakeDocumentBuffer(buffer_size, buffer_timeout),
128
129
  "routineEvaluations": DatalakeDocumentBuffer(
129
130
  buffer_size, buffer_timeout
130
131
  ),
@@ -140,25 +141,28 @@ class BufferedAsyncRemoteDatalakeClient(SyncRemoteDatalakeClient):
140
141
  def save(self, records: dict) -> list[dict]:
141
142
  logger.debug("Saving documents in datalake", tags=LogTags.DATALAKE)
142
143
  instances = records["records"]
143
- buffer = self._data_buffers["default"]
144
+ collection = records["collection"]
145
+ buffer = self._data_buffers[collection]
144
146
  with self._lock:
145
147
  if buffer.should_flush():
146
148
  logger.debug(
147
149
  "Flushing datalake buffer with %s elements",
148
150
  len(buffer.data),
149
151
  )
150
- self._send_documents(buffer.data)
152
+ self._send_documents(collection, buffer.data)
151
153
  buffer.reset()
152
154
  buffer.add_documents(instances)
153
155
  return instances
154
156
 
155
157
  def _flusher(self):
156
158
  while True:
157
- for _, buffer in self._data_buffers.items():
158
- self._flush_buffer(buffer)
159
+ for collection, buffer in self._data_buffers.items():
160
+ self._flush_buffer(collection, buffer)
159
161
  sleep(0.5)
160
162
 
161
- def _flush_buffer(self, buffer: DatalakeDocumentBuffer) -> None:
163
+ def _flush_buffer(
164
+ self, collection: str, buffer: DatalakeDocumentBuffer
165
+ ) -> None:
162
166
  with self._lock:
163
167
  if buffer.should_flush():
164
168
  try:
@@ -166,15 +170,16 @@ class BufferedAsyncRemoteDatalakeClient(SyncRemoteDatalakeClient):
166
170
  "Flushing datalake buffer with %s elements",
167
171
  len(buffer.data),
168
172
  )
169
- self._send_documents(buffer.data)
173
+ self._send_documents(collection, buffer.data)
170
174
  buffer.reset()
171
175
  except Exception:
172
176
  logger.error("Unable to save documents", exc_info=True)
173
177
 
174
178
  @retry(EXCEPTIONS, tries=3, delay=2, jitter=1)
175
- def _send_documents(self, docs: list[dict]) -> list[dict]:
179
+ def _send_documents(self, collection: str, docs: list[dict]) -> list[dict]:
176
180
  url = self._base_url / f"{self.prefix}/write/"
177
181
  data = {
182
+ "collection": collection,
178
183
  "records": docs,
179
184
  }
180
185
  response = self._restclient.post(url, json=data)
@@ -220,6 +225,7 @@ class BufferedSyncRemoteDataClient(SyncRemoteDatalakeClient):
220
225
  )
221
226
  self._data_buffers = {
222
227
  "default": DatalakeDocumentBuffer(buffer_size, buffer_timeout),
228
+ "solutions": DatalakeDocumentBuffer(buffer_size, buffer_timeout),
223
229
  "routine_evaluations": DatalakeDocumentBuffer(
224
230
  buffer_size, buffer_timeout
225
231
  ),
@@ -232,23 +238,26 @@ class BufferedSyncRemoteDataClient(SyncRemoteDatalakeClient):
232
238
 
233
239
  def save(self, records: Records) -> list[dict]:
234
240
  logger.debug("Saving documents in datalake", tags=LogTags.DATALAKE)
235
- buffer = self._data_buffers["default"]
241
+ collection = records["collection"]
242
+ records = records["records"]
243
+ buffer = self._data_buffers[collection]
236
244
  with self._lock:
237
- buffer.add_documents(records["records"])
245
+ buffer.add_documents(records)
238
246
  if buffer.should_flush():
239
247
  logger.debug(
240
248
  "Flushing datalake buffer with %s elements",
241
249
  len(buffer.data),
242
250
  tags=LogTags.DATALAKE,
243
251
  )
244
- self._send_documents(buffer.data)
252
+ self._send_documents(collection, buffer.data)
245
253
  buffer.reset()
246
- return records["records"]
254
+ return records
247
255
 
248
256
  @retry(EXCEPTIONS, tries=3, delay=2, jitter=1)
249
- def _send_documents(self, docs: list[dict]) -> list[dict]:
257
+ def _send_documents(self, collection: str, docs: list[dict]) -> list[dict]:
250
258
  url = self._base_url / f"{self.prefix}/write/"
251
259
  data = {
260
+ "collection": collection,
252
261
  "records": docs,
253
262
  }
254
263
  response = self._restclient.post(url, json=data)
@@ -1748,7 +1748,7 @@ wheels = [
1748
1748
 
1749
1749
  [[package]]
1750
1750
  name = "splight-lib"
1751
- version = "5.23.0.dev2"
1751
+ version = "5.23.1"
1752
1752
  source = { editable = "." }
1753
1753
  dependencies = [
1754
1754
  { name = "apscheduler" },
File without changes
File without changes