mainsequence 3.4.4__tar.gz → 3.5.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 (119) hide show
  1. {mainsequence-3.4.4 → mainsequence-3.5.0}/PKG-INFO +1 -1
  2. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/client/__init__.py +0 -1
  3. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/client/base.py +1 -0
  4. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/client/models_tdag.py +28 -34
  5. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/tdag/data_nodes/persist_managers.py +4 -4
  6. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence.egg-info/PKG-INFO +1 -1
  7. {mainsequence-3.4.4 → mainsequence-3.5.0}/pyproject.toml +1 -1
  8. {mainsequence-3.4.4 → mainsequence-3.5.0}/LICENSE +0 -0
  9. {mainsequence-3.4.4 → mainsequence-3.5.0}/README.md +0 -0
  10. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/__init__.py +0 -0
  11. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/__main__.py +0 -0
  12. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/cli/__init__.py +0 -0
  13. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/cli/api.py +0 -0
  14. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/cli/cli.py +0 -0
  15. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/cli/config.py +0 -0
  16. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/cli/ssh_utils.py +0 -0
  17. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
  18. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
  19. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/client/data_sources_interfaces/timescale.py +0 -0
  20. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/client/exceptions.py +0 -0
  21. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/client/models_helpers.py +0 -0
  22. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/client/models_vam.py +0 -0
  23. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/client/utils.py +0 -0
  24. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/__init__.py +0 -0
  25. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/__init__.py +0 -0
  26. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/assets/config.toml +0 -0
  27. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/assets/favicon.png +0 -0
  28. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/assets/image_1_base64.txt +0 -0
  29. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/assets/image_2_base64.txt +0 -0
  30. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/assets/image_3_base64.txt +0 -0
  31. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/assets/image_4_base64.txt +0 -0
  32. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/assets/image_5_base64.txt +0 -0
  33. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/assets/logo.png +0 -0
  34. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/core/__init__.py +0 -0
  35. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/core/theme.py +0 -0
  36. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/pages/__init__.py +0 -0
  37. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/dashboards/streamlit/scaffold.py +0 -0
  38. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instrumentation/__init__.py +0 -0
  39. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instrumentation/utils.py +0 -0
  40. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/__init__.py +0 -0
  41. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/data_interface/__init__.py +0 -0
  42. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/data_interface/data_interface.py +0 -0
  43. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/instruments/__init__.py +0 -0
  44. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/instruments/base_instrument.py +0 -0
  45. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/instruments/bond.py +0 -0
  46. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/instruments/european_option.py +0 -0
  47. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/instruments/interest_rate_swap.py +0 -0
  48. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/instruments/json_codec.py +0 -0
  49. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/instruments/knockout_fx_option.py +0 -0
  50. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/instruments/position.py +0 -0
  51. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/instruments/ql_fields.py +0 -0
  52. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/instruments/vanilla_fx_option.py +0 -0
  53. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/instruments.default.toml +0 -0
  54. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/pricing_models/__init__.py +0 -0
  55. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/pricing_models/black_scholes.py +0 -0
  56. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/pricing_models/bond_pricer.py +0 -0
  57. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/pricing_models/fx_option_pricer.py +0 -0
  58. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/pricing_models/indices.py +0 -0
  59. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/pricing_models/knockout_fx_pricer.py +0 -0
  60. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/pricing_models/swap_pricer.py +0 -0
  61. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/settings.py +0 -0
  62. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/instruments/utils.py +0 -0
  63. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/logconf.py +0 -0
  64. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/tdag/__init__.py +0 -0
  65. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/tdag/__main__.py +0 -0
  66. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/tdag/config.py +0 -0
  67. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/tdag/data_nodes/__init__.py +0 -0
  68. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/tdag/data_nodes/build_operations.py +0 -0
  69. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/tdag/data_nodes/data_nodes.py +0 -0
  70. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/tdag/data_nodes/run_operations.py +0 -0
  71. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/tdag/data_nodes/utils.py +0 -0
  72. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/tdag/future_registry.py +0 -0
  73. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/tdag/utils.py +0 -0
  74. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/__init__.py +0 -0
  75. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/agent_interface.py +0 -0
  76. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/config_handling.py +0 -0
  77. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/__init__.py +0 -0
  78. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/apps/__init__.py +0 -0
  79. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/apps/etf_replicator_app.py +0 -0
  80. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/apps/generate_report.py +0 -0
  81. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/apps/load_external_portfolio.py +0 -0
  82. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/apps/news_app.py +0 -0
  83. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/apps/portfolio_report_app.py +0 -0
  84. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/apps/portfolio_table.py +0 -0
  85. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/apps/run_named_portfolio.py +0 -0
  86. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/apps/run_portfolio.py +0 -0
  87. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/apps/templates/base.html +0 -0
  88. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/apps/templates/report.html +0 -0
  89. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/data_nodes/__init__.py +0 -0
  90. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/data_nodes/external_weights.py +0 -0
  91. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/data_nodes/intraday_trend.py +0 -0
  92. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/data_nodes/market_cap.py +0 -0
  93. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/data_nodes/mock_signal.py +0 -0
  94. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/data_nodes/portfolio_replicator.py +0 -0
  95. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/prices/__init__.py +0 -0
  96. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/prices/data_nodes.py +0 -0
  97. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/prices/utils.py +0 -0
  98. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/__init__.py +0 -0
  99. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/contrib/rebalance_strategies/rebalance_strategies.py +0 -0
  100. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/data_nodes.py +0 -0
  101. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/enums.py +0 -0
  102. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/models.py +0 -0
  103. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/notebook_handling.py +0 -0
  104. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/portfolio_interface.py +0 -0
  105. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/resource_factory/__init__.py +0 -0
  106. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/resource_factory/app_factory.py +0 -0
  107. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/resource_factory/base_factory.py +0 -0
  108. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/resource_factory/rebalance_factory.py +0 -0
  109. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/resource_factory/signal_factory.py +0 -0
  110. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence/virtualfundbuilder/utils.py +0 -0
  111. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence.egg-info/SOURCES.txt +0 -0
  112. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence.egg-info/dependency_links.txt +0 -0
  113. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence.egg-info/entry_points.txt +0 -0
  114. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence.egg-info/requires.txt +0 -0
  115. {mainsequence-3.4.4 → mainsequence-3.5.0}/mainsequence.egg-info/top_level.txt +0 -0
  116. {mainsequence-3.4.4 → mainsequence-3.5.0}/setup.cfg +0 -0
  117. {mainsequence-3.4.4 → mainsequence-3.5.0}/tests/test_agent.py +0 -0
  118. {mainsequence-3.4.4 → mainsequence-3.5.0}/tests/test_portfolio.py +0 -0
  119. {mainsequence-3.4.4 → mainsequence-3.5.0}/tests/test_replicator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 3.4.4
3
+ Version: 3.5.0
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License: MainSequence GmbH SDK License Agreement
@@ -1,7 +1,6 @@
1
1
  from mainsequence.logconf import logger
2
2
 
3
3
  from .models_helpers import *
4
- from .models_report_studio import *
5
4
  from .models_tdag import *
6
5
  from .models_vam import *
7
6
  from .utils import MARKETS_CONSTANTS, TDAG_CONSTANTS, AuthLoaders, bios_uuid
@@ -138,6 +138,7 @@ class BaseObjectOrm:
138
138
  "Artifact": "pods/artifact",
139
139
  "Job": "pods/job",
140
140
  "Constant": "pods/constant",
141
+ "Secret": "pods/secret",
141
142
  # ReportBuilder
142
143
  "Presentation": "reports/presentations",
143
144
  "Folder": "reports/folder",
@@ -853,9 +853,7 @@ class TableMetaData(BaseModel):
853
853
  class DataNodeStorage(BasePydanticModel, BaseObjectOrm):
854
854
  id: int = Field(None, description="Primary key, auto-incremented ID")
855
855
  storage_hash: str = Field(..., max_length=63, description="Max length of PostgreSQL table name")
856
- table_name: str | None = Field(
857
- None, max_length=63, description="Max length of PostgreSQL table name"
858
- )
856
+
859
857
  creation_date: datetime.datetime = Field(..., description="Creation timestamp")
860
858
  created_by_user: int | None = Field(None, description="Foreign key reference to User")
861
859
  organization_owner: int = Field(None, description="Foreign key reference to Organization")
@@ -980,7 +978,7 @@ class DataNodeStorage(BasePydanticModel, BaseObjectOrm):
980
978
  and self.data_source.related_resource.class_type == DUCK_DB
981
979
  ):
982
980
  db_interface = DuckDBInterface()
983
- db_interface.drop_table(self.table_name)
981
+ db_interface.drop_table(self.storage_hash)
984
982
 
985
983
  self.delete()
986
984
 
@@ -2050,7 +2048,7 @@ class DataSource(BasePydanticModel, BaseObjectOrm):
2050
2048
 
2051
2049
  if self.class_type == DUCK_DB:
2052
2050
  DuckDBInterface().upsert(
2053
- df=serialized_data_frame, table=data_node_update.data_node_storage.table_name
2051
+ df=serialized_data_frame, table=data_node_update.data_node_storage.storage_hash
2054
2052
  )
2055
2053
  else:
2056
2054
  DataNodeUpdate.post_data_frame_in_chunks(
@@ -2097,7 +2095,7 @@ class DataSource(BasePydanticModel, BaseObjectOrm):
2097
2095
 
2098
2096
  if self.class_type == DUCK_DB:
2099
2097
  db_interface = DuckDBInterface()
2100
- table_name = data_node_update.data_node_storage.table_name
2098
+ table_name = data_node_update.data_node_storage.storage_hash
2101
2099
 
2102
2100
  adjusted_start, adjusted_end, adjusted_uirm, _ = db_interface.constrain_read(
2103
2101
  table=table_name,
@@ -2250,7 +2248,7 @@ class Project(BasePydanticModel, BaseObjectOrm):
2250
2248
  project_name: str
2251
2249
  data_source: DynamicTableDataSource
2252
2250
  git_ssh_url: str | None = None
2253
- resources_visible_to_light_users: bool
2251
+ project_visible: bool
2254
2252
 
2255
2253
  @classmethod
2256
2254
  def get_user_default_project(cls):
@@ -2310,30 +2308,21 @@ class TimeScaleDB(DataSource):
2310
2308
  def filter_by_assets_ranges(
2311
2309
  self, asset_ranges_map: dict, metadata: dict, update_hash: str, has_direct_connection: bool
2312
2310
  ):
2313
- table_name = metadata.table_name
2314
- index_names = metadata.sourcetableconfiguration.index_names
2315
- column_types = metadata.sourcetableconfiguration.column_dtypes_map
2316
- if has_direct_connection:
2317
- df = TimeScaleInterface.filter_by_assets_ranges(
2318
- table_name=table_name,
2319
- asset_ranges_map=asset_ranges_map,
2320
- index_names=index_names,
2321
- data_source=self,
2322
- column_types=column_types,
2323
- )
2324
- else:
2325
- df = DataNodeUpdate.get_data_between_dates_from_api(
2326
- update_hash=update_hash,
2327
- data_source_id=self.id,
2328
- start_date=None,
2329
- end_date=None,
2330
- great_or_equal=True,
2331
- less_or_equal=True,
2332
- asset_symbols=None,
2333
- columns=None,
2334
- execution_venue_symbols=None,
2335
- symbol_range_map=asset_ranges_map, # <-- key for applying ranges
2336
- )
2311
+
2312
+
2313
+
2314
+ df = DataNodeUpdate.get_data_between_dates_from_api(
2315
+ update_hash=update_hash,
2316
+ data_source_id=self.id,
2317
+ start_date=None,
2318
+ end_date=None,
2319
+ great_or_equal=True,
2320
+ less_or_equal=True,
2321
+ asset_symbols=None,
2322
+ columns=None,
2323
+ execution_venue_symbols=None,
2324
+ symbol_range_map=asset_ranges_map, # <-- key for applying ranges
2325
+ )
2337
2326
  return df
2338
2327
 
2339
2328
  def get_data_by_time_index(
@@ -2523,7 +2512,7 @@ class PodDataSource:
2523
2512
  remote_node_storages = DataNodeStorage.filter(
2524
2513
  data_source__id=duckdb_dynamic_data_source.id, list_tables=True
2525
2514
  )
2526
- remote_table_names = [t.table_name for t in remote_node_storages]
2515
+ remote_table_names = [t.storage_hash for t in remote_node_storages]
2527
2516
  from mainsequence.client.data_sources_interfaces.duckdb import DuckDBInterface
2528
2517
 
2529
2518
  db_interface = DuckDBInterface()
@@ -2536,8 +2525,8 @@ class PodDataSource:
2536
2525
 
2537
2526
  tables_to_delete_remotely = set(remote_table_names) - set(local_table_names)
2538
2527
  for remote_table in remote_node_storages:
2539
- if remote_table.table_name in tables_to_delete_remotely:
2540
- logger.debug(f"Deleting table remotely {remote_table.table_name}")
2528
+ if remote_table.storage_hash in tables_to_delete_remotely:
2529
+ logger.debug(f"Deleting table remotely {remote_table.storage_hash}")
2541
2530
  if remote_table.protect_from_deletion:
2542
2531
  remote_table.patch(protect_from_deletion=False)
2543
2532
 
@@ -2590,6 +2579,11 @@ def _norm_kwargs(kwargs: dict[str, Any]) -> tuple[tuple[str, Any], ...]:
2590
2579
  items.append((k, _norm_value(v)))
2591
2580
  return tuple(sorted(items))
2592
2581
 
2582
+ class Secret(BasePydanticModel, BaseObjectOrm):
2583
+ id: int | None
2584
+ name: str = Field(..., description="Secret name")
2585
+ value: str = Field(..., description="Secret value ")
2586
+
2593
2587
 
2594
2588
  class Constant(BasePydanticModel, BaseObjectOrm):
2595
2589
  """
@@ -3,7 +3,7 @@ import inspect
3
3
  import json
4
4
  import threading
5
5
  from concurrent.futures import Future
6
- from typing import Optional, List
6
+
7
7
  import pandas as pd
8
8
 
9
9
  import mainsequence.client as ms_client
@@ -132,7 +132,7 @@ class APIPersistManager:
132
132
  future_registry.remove_future(self._data_node_storage_future)
133
133
 
134
134
 
135
- def get_last_observation(self,asset_list:Optional[List["Asset"]]):
135
+ def get_last_observation(self,asset_list:list["Asset"] | None):
136
136
  unique_identifier_list=[]
137
137
  if asset_list is not None:
138
138
  unique_identifier_list=[a.unique_identifier for a in asset_list]
@@ -746,7 +746,7 @@ class PersistManager:
746
746
  data_node_update=self.data_node_update, *args, **kwargs
747
747
  )
748
748
  return filtered_data
749
- def get_last_observation(self,asset_list:Optional[List["Asset"]]):
749
+ def get_last_observation(self,asset_list:list["Asset"] | None):
750
750
  unique_identifier_list=[]
751
751
  if asset_list is not None:
752
752
  unique_identifier_list=[a.unique_identifier for a in asset_list]
@@ -858,5 +858,5 @@ class TimeScaleLocalPersistManager(PersistManager):
858
858
  Main Controler to interacti with backend
859
859
  """
860
860
 
861
- def get_table_schema(self, table_name):
861
+ def get_table_schema(self, _):
862
862
  return self.data_node_storage["sourcetableconfiguration"]["column_dtypes_map"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 3.4.4
3
+ Version: 3.5.0
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License: MainSequence GmbH SDK License Agreement
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mainsequence"
7
- version = "3.4.4"
7
+ version = "3.5.0"
8
8
  description = "Main Sequence SDK "
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
File without changes
File without changes
File without changes