additory 0.1.1a2__py3-none-any.whl → 0.1.1a3__py3-none-any.whl

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.
additory/__init__.py CHANGED
@@ -57,7 +57,7 @@ add = SimpleNamespace(
57
57
  )
58
58
 
59
59
  # Version
60
- __version__ = "0.1.1a2"
60
+ __version__ = "0.1.1a3"
61
61
 
62
62
  # Public API
63
63
  __all__ = ['add', '__version__']
additory/common/result.py CHANGED
@@ -45,14 +45,17 @@ class DataFrameResult:
45
45
  self.input_shape = metadata.get('input_shape', (0, 0))
46
46
 
47
47
  # Get shape in a backend-agnostic way
48
- if hasattr(df, 'height') and hasattr(df, 'width'):
49
- # Polars DataFrame
48
+ # Note: hasattr() doesn't work reliably with pandas due to __getattr__ magic
49
+ # so we use try-except instead
50
+ try:
51
+ # Try Polars attributes first
50
52
  self.output_shape = (df.height, df.width)
51
- elif hasattr(df, 'shape'):
52
- # pandas/cuDF DataFrame
53
- self.output_shape = df.shape
54
- else:
55
- self.output_shape = (0, 0)
53
+ except (AttributeError, TypeError):
54
+ # Fall back to pandas/cuDF shape attribute
55
+ try:
56
+ self.output_shape = df.shape
57
+ except (AttributeError, TypeError):
58
+ self.output_shape = (0, 0)
56
59
 
57
60
  self.columns_added = metadata.get('columns_added', [])
58
61
  self.columns_removed = metadata.get('columns_removed', [])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: additory
3
- Version: 0.1.1a2
3
+ Version: 0.1.1a3
4
4
  Summary: Data augmentation library with Polars backend
5
5
  Author-email: Additory Team <team@additory.dev>
6
6
  License: MIT
@@ -1,10 +1,10 @@
1
- additory/__init__.py,sha256=oRtcL1DpcVdfjcoRjPsRleGHEquxXYCy3siQDIYUn40,1810
1
+ additory/__init__.py,sha256=zoPjf33dUIBc96y9L_p3FcAPxPIJxxS9SRIwcgzt_YA,1810
2
2
  additory/common/__init__.py,sha256=b70Ksk5yOw5Lb1hyO3m0iEzoMGnBnxKAHkof9s1B7yw,957
3
3
  additory/common/column_selector.py,sha256=lWoK7sbrUy9m7F9Ya3zKjAvt7LCqJDjWfqv_qblAwqQ,6944
4
4
  additory/common/distributions.py,sha256=aE8oXUXKdtJooeLiRALV2l40lMkxRghvb4bIW30b4mM,11245
5
5
  additory/common/extractors.py,sha256=j10qoEXFWlKfCo0J7HfTC9dbE6eJefFUPaMAtIuQ_No,10756
6
6
  additory/common/knn_imputation.py,sha256=Z0g5MAc88_yqDEph-pP20k8Njw83CA7RmFErTF478Lo,10756
7
- additory/common/result.py,sha256=PQf3htWgANuBR-xJH0WFxqy0ASy7tD5nalW2d-uV5P0,12548
7
+ additory/common/result.py,sha256=mYQZDhravdTpa3wjWdVGFG3tX2a-rvFraina7A1i6kw,12724
8
8
  additory/common/strategy_parser.py,sha256=PE6kaW8JNOGTPOdxbGfCp8LBvK03USfInAt-C1LiOSw,8226
9
9
  additory/common/unit_conversions.py,sha256=H3gaJTFFeIQJK3B7Xo23TX4cA0HfuPAWa79tuT5MciQ,9558
10
10
  additory/common/validation.py,sha256=oOnPR_kQ8Eh5oWyd9z33UglYjgMy0HXV8HOBFqJdV94,9862
@@ -56,7 +56,7 @@ additory/functions/transform/harmonize.py,sha256=TY0ZYedhGh95GVpbG1-EgauT2e__amB
56
56
  additory/functions/transform/knn.py,sha256=wWay5L8Vgg8nDf_HwzJ7PSa27RdsvfvKLUqYw1125Gk,1676
57
57
  additory/functions/transform/onehotencoding.py,sha256=LibYOfphxrESKNNm-XTByBkjOhaKeitTfvO5mVVC8Rc,1891
58
58
  additory/functions/transform/transpose.py,sha256=Jy-50GgQbBsidBHY-F9YIBmwai1bPSSNzkN5X8n-sUk,1177
59
- additory-0.1.1a2.dist-info/METADATA,sha256=ND4TsR0rfm-a6pn2BOAILQtVN-vzOnx9-d6fNKsgoxY,2463
60
- additory-0.1.1a2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
61
- additory-0.1.1a2.dist-info/top_level.txt,sha256=4zphwXiI6HEl40fdjMXoUp9JNIqQ-tgYWeo3zqKqvEk,9
62
- additory-0.1.1a2.dist-info/RECORD,,
59
+ additory-0.1.1a3.dist-info/METADATA,sha256=8JcVGVQZxssPlFJ0pnoWnzihtG1gYfMcZae1ov6jpXk,2463
60
+ additory-0.1.1a3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
61
+ additory-0.1.1a3.dist-info/top_level.txt,sha256=4zphwXiI6HEl40fdjMXoUp9JNIqQ-tgYWeo3zqKqvEk,9
62
+ additory-0.1.1a3.dist-info/RECORD,,