surfdataverse 2.0.0b1__tar.gz → 2.1.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: surfdataverse
3
- Version: 2.0.0b1
3
+ Version: 2.1.0
4
4
  Summary: A Python package for ionysis Microsoft Dataverse integration
5
5
  Keywords: dataverse,microsoft,crm,api
6
6
  Author: ionysis
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.9
15
15
  Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: Programming Language :: Python :: 3.11
17
17
  Requires-Dist: msal>=1.33.0
18
+ Requires-Dist: numpy>=2.3.3
18
19
  Requires-Dist: pandas>=2.3.2
19
20
  Requires-Dist: requests>=2.32.5
20
21
  Requires-Python: >=3.11
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "surfdataverse"
7
- version = "2.0.0b1"
7
+ version = "2.1.0"
8
8
  description = "A Python package for ionysis Microsoft Dataverse integration"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -25,6 +25,7 @@ keywords = ["dataverse", "microsoft", "crm", "api"]
25
25
  requires-python = ">=3.11"
26
26
  dependencies = [
27
27
  "msal>=1.33.0",
28
+ "numpy>=2.3.3",
28
29
  "pandas>=2.3.2",
29
30
  "requests>=2.32.5",
30
31
  ]
@@ -693,6 +693,10 @@ class DataverseTable:
693
693
  # This is a choice field
694
694
  logger.info(f"Setting {property_name} as choice property")
695
695
  setattr(self.__class__, property_name, self.choice_property(column_logical_name))
696
+ elif field_type == "DateTime":
697
+ # This is a date and time field
698
+ logger.info(f"Setting {property_name} as datetime property")
699
+ setattr(self.__class__, property_name, self.data_property(column_logical_name))
696
700
  else:
697
701
  # This is a regular data field
698
702
  logger.info(f"Setting {property_name} as data property (fallback)")
@@ -705,9 +709,10 @@ class DataverseTable:
705
709
 
706
710
  _relationships = {}
707
711
  for rel in result.get("value", []):
708
- if rel["ReferencingEntity"] == self.logical_name:
712
+ if rel.get("ReferencingEntity") == self.logical_name:
709
713
  # Store lookup column name -> related entity table
710
- _relationships[rel["ReferencingAttribute"]] = rel["ReferencedEntity"]
714
+ if "ReferencingAttribute" in rel and "ReferencedEntity" in rel:
715
+ _relationships[rel["ReferencingAttribute"]] = rel["ReferencedEntity"]
711
716
  return _relationships
712
717
 
713
718
  # === FREE TEXT COLUMNS ===
File without changes