surfdataverse 4.1.0__tar.gz → 4.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: surfdataverse
3
- Version: 4.1.0
3
+ Version: 4.1.2
4
4
  Summary: A Python package for ionysis Microsoft Dataverse integration
5
5
  Keywords: dataverse,microsoft,crm,api
6
6
  Author: ionysis
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "surfdataverse"
7
- version = "4.1.0"
7
+ version = "4.1.2"
8
8
  description = "A Python package for ionysis Microsoft Dataverse integration"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -102,6 +102,10 @@ class DataverseClient:
102
102
  self.account = accounts[0]
103
103
  logger.info("Acquiring token silently")
104
104
  result = self.app.acquire_token_silent(scopes=scope, account=self.account)
105
+ if result is None:
106
+ logger.info("No token found in cache for the account, will need interactive login")
107
+ result = self.app.acquire_token_interactive(scope)
108
+
105
109
  logger.info(
106
110
  f"Silent token result: {result.keys() if isinstance(result, dict) else type(result)}"
107
111
  )
@@ -458,7 +462,7 @@ class DataverseTable(DataverseBase):
458
462
  """Table-level operations for Dataverse - inherits shared functionality from DataverseBase"""
459
463
 
460
464
  # === TABLES
461
- def get_table_data(self, table_logical_name=None, polars=False):
465
+ def get_table_data(self, table_logical_name=None, polars=False, infer_schema_length=None):
462
466
  """Fetches actual data from this table
463
467
  Args:
464
468
  table_logical_name: logical name of the table (optional)
@@ -474,7 +478,7 @@ class DataverseTable(DataverseBase):
474
478
  import polars as pl
475
479
 
476
480
  data_list = entity_data["value"]
477
- df = pl.DataFrame(data_list, infer_schema_length=None)
481
+ df = pl.DataFrame(data_list, infer_schema_length=infer_schema_length)
478
482
  return df
479
483
 
480
484
  entity_set_name = self.get_table_entity_set_name(
@@ -491,7 +495,7 @@ class DataverseTable(DataverseBase):
491
495
  logger.error(error_msg)
492
496
  raise DataverseAPIError(error_msg, response.status_code, response.text)
493
497
 
494
- def get_column_data(self, columns, entity_set_name=None, polars=False):
498
+ def get_column_data(self, columns, entity_set_name=None, polars=False, infer_schema_length=None):
495
499
  """Fetches specific column data from this table
496
500
  Args:
497
501
  columns: Column name (string) or list of column names to retrieve
@@ -520,7 +524,7 @@ class DataverseTable(DataverseBase):
520
524
  import polars as pl
521
525
 
522
526
  data_list = entity_data["value"]
523
- df = pl.DataFrame(data_list, infer_schema_length=None)
527
+ df = pl.DataFrame(data_list, infer_schema_length=infer_schema_length)
524
528
  # Return only requested columns that exist in the data
525
529
  available_cols = [col for col in cols if col in df.columns]
526
530
  if not available_cols:
File without changes