findly.unified-reporting-sdk 0.7.13__py3-none-any.whl → 0.7.14__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.
- findly/unified_reporting_sdk/data_sources/fb_ads/fb_ads_query_args_parser.py +0 -9
- findly/unified_reporting_sdk/data_sources/ga4/ga4_query_args_parser.py +2 -2
- findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.py +32 -32
- {findly_unified_reporting_sdk-0.7.13.dist-info → findly_unified_reporting_sdk-0.7.14.dist-info}/METADATA +1 -1
- {findly_unified_reporting_sdk-0.7.13.dist-info → findly_unified_reporting_sdk-0.7.14.dist-info}/RECORD +7 -9
- findly/unified_reporting_sdk/util/__init__.py +0 -0
- findly/unified_reporting_sdk/util/create_numeric_string_series.py +0 -16
- {findly_unified_reporting_sdk-0.7.13.dist-info → findly_unified_reporting_sdk-0.7.14.dist-info}/LICENSE +0 -0
- {findly_unified_reporting_sdk-0.7.13.dist-info → findly_unified_reporting_sdk-0.7.14.dist-info}/WHEEL +0 -0
|
@@ -11,10 +11,6 @@ from findly.unified_reporting_sdk.data_sources.common.common_parser import (
|
|
|
11
11
|
RESERVED_TOTAL,
|
|
12
12
|
)
|
|
13
13
|
|
|
14
|
-
from findly.unified_reporting_sdk.util.create_numeric_string_series import (
|
|
15
|
-
create_numeric_string_series,
|
|
16
|
-
)
|
|
17
|
-
|
|
18
14
|
from findly.unified_reporting_sdk.data_sources.common.where_string_comparison import (
|
|
19
15
|
parse_where_column_condition,
|
|
20
16
|
WhereClauseInformation,
|
|
@@ -333,8 +329,6 @@ class FbAdsQueryArgsParser(CommonParser):
|
|
|
333
329
|
|
|
334
330
|
# remove duplicates from explosions and reset index
|
|
335
331
|
df = df.drop_duplicates().reset_index(drop=True)
|
|
336
|
-
# Also cap float columns to 2 decimal places
|
|
337
|
-
df = df.apply(create_numeric_string_series)
|
|
338
332
|
|
|
339
333
|
# At last, return that if there is only one date range,
|
|
340
334
|
# else, we need to split the dataframe into multiple dataframes
|
|
@@ -555,9 +549,6 @@ class FbAdsQueryArgsParser(CommonParser):
|
|
|
555
549
|
# Keep only the first row
|
|
556
550
|
summary_df = summary_df.head(1)
|
|
557
551
|
|
|
558
|
-
# Also cap float columns to 2 decimal places
|
|
559
|
-
summary_df = summary_df.apply(create_numeric_string_series)
|
|
560
|
-
|
|
561
552
|
return [summary_df]
|
|
562
553
|
|
|
563
554
|
async def parse_query_args_to_request_params(
|
|
@@ -83,14 +83,14 @@ class GA4QueryArgsParser(CommonParser):
|
|
|
83
83
|
# Check if the metric header ends with 'Rate'
|
|
84
84
|
if header.endswith("Rate"):
|
|
85
85
|
# Convert the value to a float and multiply by 100
|
|
86
|
-
value_number =
|
|
86
|
+
value_number = float(value) * 100
|
|
87
87
|
else:
|
|
88
88
|
# Cap float values to 2 decimal places
|
|
89
89
|
value_number = float(value)
|
|
90
90
|
if value_number.is_integer():
|
|
91
91
|
value_number = int(value_number)
|
|
92
92
|
else:
|
|
93
|
-
value_number =
|
|
93
|
+
value_number = value_number
|
|
94
94
|
row_dict[header] = value_number
|
|
95
95
|
|
|
96
96
|
rows.append(row_dict)
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
3
|
# source: findly_semantic_layer.proto
|
|
4
4
|
"""Generated protocol buffer code."""
|
|
5
|
-
from google.protobuf.internal import builder as _builder
|
|
6
5
|
from google.protobuf import descriptor as _descriptor
|
|
7
6
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
7
|
from google.protobuf import symbol_database as _symbol_database
|
|
8
|
+
from google.protobuf.internal import builder as _builder
|
|
9
9
|
# @@protoc_insertion_point(imports)
|
|
10
10
|
|
|
11
11
|
_sym_db = _symbol_database.Default()
|
|
@@ -15,37 +15,37 @@ _sym_db = _symbol_database.Default()
|
|
|
15
15
|
|
|
16
16
|
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x66indly_semantic_layer.proto\x12\x15\x66indly_semantic_layer\"\xd4\x02\n\tDimension\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04\x65xpr\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.findly_semantic_layer.DimensionType\x12?\n\x0btype_params\x18\x05 \x01(\x0b\x32*.findly_semantic_layer.DimensionTypeParams\x12\x14\n\x0ctop_n_values\x18\x06 \x03(\t\x12\x16\n\nvalue_type\x18\x07 \x01(\tB\x02\x18\x01\x12\x19\n\x11\x64\x61ta_source_names\x18\x08 \x03(\t\x12\x14\n\x0c\x64isplay_name\x18\t \x01(\t\x12\x42\n\x0fvalue_type_enum\x18\n \x01(\x0e\x32).findly_semantic_layer.DimensionValueType\"k\n\x13\x44imensionTypeParams\x12@\n\x10time_granularity\x18\x01 \x01(\x0e\x32&.findly_semantic_layer.DateGranularity\x12\x12\n\nis_primary\x18\x02 \x01(\x08\"\x8b\x03\n\x06Metric\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x12\n\nexpression\x18\x04 \x01(\t\x12\x18\n\x10view_id_of_table\x18\x05 \x01(\t\x12\x12\n\ntable_name\x18\x06 \x01(\t\x12\x10\n\x08measures\x18\x07 \x03(\t\x12\x11\n\tnumerator\x18\x08 \x01(\t\x12\x13\n\x0b\x64\x65nominator\x18\t \x01(\t\x12/\n\x04type\x18\n \x01(\x0e\x32!.findly_semantic_layer.MetricType\x12\x10\n\x06window\x18\x0b \x01(\tH\x00\x12\x17\n\rgrain_to_date\x18\x0c \x01(\tH\x00\x12:\n\nvalue_type\x18\r \x01(\x0e\x32&.findly_semantic_layer.MetricValueType\x12\x14\n\x0c\x64isplay_name\x18\x0e \x01(\t\x12\x12\n\nis_numeric\x18\x0f \x01(\x08\x42\x14\n\x12\x63umulative_process\"4\n\x0c\x44\x61teStrRange\x12\x12\n\nstart_date\x18\x01 \x01(\t\x12\x10\n\x08\x65nd_date\x18\x02 \x01(\t\"\x93\x03\n\tQueryArgs\x12\x14\n\x0cwhere_clause\x18\x01 \x01(\t\x12\x18\n\x10group_by_columns\x18\x02 \x03(\t\x12\x1a\n\x12metrics_expression\x18\x03 \x03(\t\x12\r\n\x05limit\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x03(\t\x12\x19\n\x11\x64\x61te_where_clause\x18\x06 \x01(\t\x12\x0f\n\x07metrics\x18\x07 \x03(\t\x12\x15\n\rhaving_clause\x18\x08 \x01(\t\x12\x1c\n\x14incompatible_metrics\x18\t \x03(\t\x12\x1f\n\x17incompatible_dimensions\x18\n \x03(\t\x12\x38\n\x0b\x64\x61te_ranges\x18\x0b \x03(\x0b\x32#.findly_semantic_layer.DateStrRange\x12\x17\n\x0fsql_explanation\x18\x0c \x01(\t\x12\r\n\x05level\x18\r \x01(\t\x12\x16\n\x0etime_increment\x18\x0e \x01(\t\x12\x1d\n\x15main_data_source_name\x18\x0f \x01(\t\"\x80\x01\n\x12\x44\x61tasourceMetadata\x12>\n\x08location\x18\x01 \x01(\x0e\x32,.findly_semantic_layer.DataSourceIntegration\x12\x13\n\x0bproperty_id\x18\x02 \x01(\t\x12\x15\n\rproperty_name\x18\x03 \x01(\t*b\n\x15\x44\x61taSourceIntegration\x12 \n\x1c\x44\x41TA_SOURCE_LOCATION_UNKNOWN\x10\x00\x12\x12\n\x0eSEMANTIC_LAYER\x10\x01\x12\x07\n\x03GA4\x10\x02\x12\n\n\x06\x46\x42_ADS\x10\x03*S\n\x0f\x44\x61teGranularity\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x01\x12\x08\n\x04WEEK\x10\x02\x12\t\n\x05MONTH\x10\x03\x12\x0b\n\x07QUARTER\x10\x04\x12\x08\n\x04YEAR\x10\x05*\x7f\n\x0b\x41ggregation\x12\x17\n\x13\x41GGREGATION_UNKNOWN\x10\x00\x12\x07\n\x03SUM\x10\x01\x12\x0f\n\x0bSUM_BOOLEAN\x10\x02\x12\x12\n\x0e\x43OUNT_DISTINCT\x10\x03\x12\x07\n\x03MIN\x10\x04\x12\x07\n\x03MAX\x10\x05\x12\x0b\n\x07\x41VERAGE\x10\x06\x12\n\n\x06MEDIAN\x10\x07*\xab\x01\n\rDimensionType\x12\x15\n\x11\x44IMENSION_UNKNOWN\x10\x00\x12\x0f\n\x0b\x43\x41TEGORICAL\x10\x01\x12\x08\n\x04TIME\x10\x02\x12\x10\n\x0c\x46\x42_ADS_FIELD\x10\x03\x12\x14\n\x10\x46\x42_ADS_BREAKDOWN\x10\x04\x12\x1b\n\x17\x46\x42_ADS_ACTION_BREAKDOWN\x10\x05\x12#\n\x1f\x46\x42_ADS_SUMMARY_ACTION_BREAKDOWN\x10\x06*\x84\x01\n\x12\x44imensionValueType\x12\x16\n\x12VALUE_TYPE_UNKNOWN\x10\x00\x12\n\n\x06STRING\x10\x01\x12\x0b\n\x07INTEGER\x10\x02\x12\t\n\x05\x46LOAT\x10\x03\x12\x0b\n\x07\x42OOLEAN\x10\x04\x12\x08\n\x04\x44\x41TE\x10\x05\x12\x0c\n\x08\x44\x41TETIME\x10\x06\x12\r\n\tTIMESTAMP\x10\x07*o\n\nMetricType\x12\x12\n\x0eMETRIC_UNKNOWN\x10\x00\x12\x11\n\rMEASURE_PROXY\x10\x01\x12\x0e\n\nCUMULATIVE\x10\x02\x12\t\n\x05RATIO\x10\x03\x12\x0b\n\x07\x44\x45RIVED\x10\x04\x12\x12\n\x0eSQL_EXPRESSION\x10\x05*\xf9\x04\n\x0fMetricValueType\x12\x1d\n\x19METRIC_VALUE_TYPE_UNKNOWN\x10\x00\x12\x1d\n\x19METRIC_VALUE_TYPE_INTEGER\x10\x01\x12\x1b\n\x17METRIC_VALUE_TYPE_FLOAT\x10\x02\x12\x1d\n\x19METRIC_VALUE_TYPE_SECONDS\x10\x03\x12\"\n\x1eMETRIC_VALUE_TYPE_MILLISECONDS\x10\x04\x12\x1d\n\x19METRIC_VALUE_TYPE_MINUTES\x10\x05\x12\x1b\n\x17METRIC_VALUE_TYPE_HOURS\x10\x06\x12\x1e\n\x1aMETRIC_VALUE_TYPE_STANDARD\x10\x07\x12\x1e\n\x1aMETRIC_VALUE_TYPE_CURRENCY\x10\x08\x12\x1a\n\x16METRIC_VALUE_TYPE_FEET\x10\t\x12\x1b\n\x17METRIC_VALUE_TYPE_MILES\x10\n\x12\x1c\n\x18METRIC_VALUE_TYPE_METERS\x10\x0b\x12 \n\x1cMETRIC_VALUE_TYPE_KILOMETERS\x10\x0c\x12\x1c\n\x18METRIC_VALUE_TYPE_STRING\x10\r\x12$\n METRIC_VALUE_TYPE_NUMERIC_STRING\x10\x0e\x12+\n\'METRIC_VALUE_TYPE_LIST_ADS_ACTION_STATS\x10\x0f\x12\x32\n.METRIC_VALUE_TYPE_LIST_ADS_INSIGHTS_DDA_RESULT\x10\x10\x12.\n*METRIC_VALUE_TYPE_LIST_ADS_HISTOGRAM_STATS\x10\x11\x62\x06proto3')
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
_builder.
|
|
18
|
+
_globals = globals()
|
|
19
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
20
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'findly_semantic_layer_pb2', _globals)
|
|
20
21
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
21
|
-
|
|
22
22
|
DESCRIPTOR._options = None
|
|
23
|
-
_DIMENSION.fields_by_name['value_type']._options = None
|
|
24
|
-
_DIMENSION.fields_by_name['value_type']._serialized_options = b'\030\001'
|
|
25
|
-
_DATASOURCEINTEGRATION._serialized_start=1495
|
|
26
|
-
_DATASOURCEINTEGRATION._serialized_end=1593
|
|
27
|
-
_DATEGRANULARITY._serialized_start=1595
|
|
28
|
-
_DATEGRANULARITY._serialized_end=1678
|
|
29
|
-
_AGGREGATION._serialized_start=1680
|
|
30
|
-
_AGGREGATION._serialized_end=1807
|
|
31
|
-
_DIMENSIONTYPE._serialized_start=1810
|
|
32
|
-
_DIMENSIONTYPE._serialized_end=1981
|
|
33
|
-
_DIMENSIONVALUETYPE._serialized_start=1984
|
|
34
|
-
_DIMENSIONVALUETYPE._serialized_end=2116
|
|
35
|
-
_METRICTYPE._serialized_start=2118
|
|
36
|
-
_METRICTYPE._serialized_end=2229
|
|
37
|
-
_METRICVALUETYPE._serialized_start=2232
|
|
38
|
-
_METRICVALUETYPE._serialized_end=2865
|
|
39
|
-
_DIMENSION._serialized_start=55
|
|
40
|
-
_DIMENSION._serialized_end=395
|
|
41
|
-
_DIMENSIONTYPEPARAMS._serialized_start=397
|
|
42
|
-
_DIMENSIONTYPEPARAMS._serialized_end=504
|
|
43
|
-
_METRIC._serialized_start=507
|
|
44
|
-
_METRIC._serialized_end=902
|
|
45
|
-
_DATESTRRANGE._serialized_start=904
|
|
46
|
-
_DATESTRRANGE._serialized_end=956
|
|
47
|
-
_QUERYARGS._serialized_start=959
|
|
48
|
-
_QUERYARGS._serialized_end=1362
|
|
49
|
-
_DATASOURCEMETADATA._serialized_start=1365
|
|
50
|
-
_DATASOURCEMETADATA._serialized_end=1493
|
|
23
|
+
_globals['_DIMENSION'].fields_by_name['value_type']._options = None
|
|
24
|
+
_globals['_DIMENSION'].fields_by_name['value_type']._serialized_options = b'\030\001'
|
|
25
|
+
_globals['_DATASOURCEINTEGRATION']._serialized_start=1495
|
|
26
|
+
_globals['_DATASOURCEINTEGRATION']._serialized_end=1593
|
|
27
|
+
_globals['_DATEGRANULARITY']._serialized_start=1595
|
|
28
|
+
_globals['_DATEGRANULARITY']._serialized_end=1678
|
|
29
|
+
_globals['_AGGREGATION']._serialized_start=1680
|
|
30
|
+
_globals['_AGGREGATION']._serialized_end=1807
|
|
31
|
+
_globals['_DIMENSIONTYPE']._serialized_start=1810
|
|
32
|
+
_globals['_DIMENSIONTYPE']._serialized_end=1981
|
|
33
|
+
_globals['_DIMENSIONVALUETYPE']._serialized_start=1984
|
|
34
|
+
_globals['_DIMENSIONVALUETYPE']._serialized_end=2116
|
|
35
|
+
_globals['_METRICTYPE']._serialized_start=2118
|
|
36
|
+
_globals['_METRICTYPE']._serialized_end=2229
|
|
37
|
+
_globals['_METRICVALUETYPE']._serialized_start=2232
|
|
38
|
+
_globals['_METRICVALUETYPE']._serialized_end=2865
|
|
39
|
+
_globals['_DIMENSION']._serialized_start=55
|
|
40
|
+
_globals['_DIMENSION']._serialized_end=395
|
|
41
|
+
_globals['_DIMENSIONTYPEPARAMS']._serialized_start=397
|
|
42
|
+
_globals['_DIMENSIONTYPEPARAMS']._serialized_end=504
|
|
43
|
+
_globals['_METRIC']._serialized_start=507
|
|
44
|
+
_globals['_METRIC']._serialized_end=902
|
|
45
|
+
_globals['_DATESTRRANGE']._serialized_start=904
|
|
46
|
+
_globals['_DATESTRRANGE']._serialized_end=956
|
|
47
|
+
_globals['_QUERYARGS']._serialized_start=959
|
|
48
|
+
_globals['_QUERYARGS']._serialized_end=1362
|
|
49
|
+
_globals['_DATASOURCEMETADATA']._serialized_start=1365
|
|
50
|
+
_globals['_DATASOURCEMETADATA']._serialized_end=1493
|
|
51
51
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -9,7 +9,7 @@ findly/unified_reporting_sdk/data_sources/common/reports_client.py,sha256=zvr6it
|
|
|
9
9
|
findly/unified_reporting_sdk/data_sources/common/where_string_comparison.py,sha256=rraEwXe_bo0R1Fbq6-C_Ooz0_J5C0tr1VwHvajKWfsg,8298
|
|
10
10
|
findly/unified_reporting_sdk/data_sources/fb_ads/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
findly/unified_reporting_sdk/data_sources/fb_ads/fb_ads_client.py,sha256=K4Z6cIBNdQWBrD_NKT_QRz8-gJE7YnoOeZmxGhgUT8A,22004
|
|
12
|
-
findly/unified_reporting_sdk/data_sources/fb_ads/fb_ads_query_args_parser.py,sha256=
|
|
12
|
+
findly/unified_reporting_sdk/data_sources/fb_ads/fb_ads_query_args_parser.py,sha256=GKzJXCgQd4FUziMSXKch4eyLk8rK9DsIyLQN7rAc2NY,31442
|
|
13
13
|
findly/unified_reporting_sdk/data_sources/fb_ads/metadata/action_breakdowns.csv,sha256=FUjp_e4aPnkKPIjCmEq4gOmSInFefAZQNsSs3-rRcLg,1492
|
|
14
14
|
findly/unified_reporting_sdk/data_sources/fb_ads/metadata/breakdowns.csv,sha256=-i_hd5NAJjHkcfMboqemRmnAalZ4Z8TczNzeYuaFnsw,5778
|
|
15
15
|
findly/unified_reporting_sdk/data_sources/fb_ads/metadata/dimensions.jsonl,sha256=066M3G-khDomEBN3BwE2wf5QVTZDucC7Cqr_77CZfN8,16133
|
|
@@ -17,19 +17,17 @@ findly/unified_reporting_sdk/data_sources/fb_ads/metadata/fields.csv,sha256=9FQ8
|
|
|
17
17
|
findly/unified_reporting_sdk/data_sources/fb_ads/metadata/metrics.jsonl,sha256=k46VIKAOZiuefpo-umQ7SYZnl8I5NIzP7_KITLfL974,19606
|
|
18
18
|
findly/unified_reporting_sdk/data_sources/ga4/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
19
|
findly/unified_reporting_sdk/data_sources/ga4/ga4_client.py,sha256=_HDaDyxecq5CRxyGi1FcGeMismxhqgg598ISMrpIvrQ,39901
|
|
20
|
-
findly/unified_reporting_sdk/data_sources/ga4/ga4_query_args_parser.py,sha256
|
|
20
|
+
findly/unified_reporting_sdk/data_sources/ga4/ga4_query_args_parser.py,sha256=-s9iLTuFvpxx4NGll6GrUNQ_Exc_3UDZOFJ8EdPBYiA,30200
|
|
21
21
|
findly/unified_reporting_sdk/data_sources/ga4/metadata/dimensions.jsonl,sha256=nSecS8Pi0ZTjsd1PlIyqAbYF56Chw2zLYRWetLkG9VQ,33511
|
|
22
22
|
findly/unified_reporting_sdk/data_sources/gsc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
23
|
findly/unified_reporting_sdk/data_sources/gsc/gsc_client.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
24
|
findly/unified_reporting_sdk/data_sources/gsc/gsc_service.py,sha256=C6wm38Hu-UozFll71G3b03e2hgLFiC4I5yjcuo9hB4M,934
|
|
25
25
|
findly/unified_reporting_sdk/protos/.gitignore,sha256=jyvVCY11J1OlOGM-nZCWKSR1vfO6fP65lnH65qf5W20,27
|
|
26
26
|
findly/unified_reporting_sdk/protos/__init__.py,sha256=sfz7Yn3hvQrnhTfoZPGTbo0F1_Fw4X494wPSZojRajA,137
|
|
27
|
-
findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.py,sha256=
|
|
27
|
+
findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.py,sha256=SaY46pOt8sDiVWrpY_f0uDwfgm_OPcHUkCdetnbPnUw,7279
|
|
28
28
|
findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.pyi,sha256=jjoQm4TljpS8pcF6bqj21ygTQ-ayCzS3ScrRtbd5hPA,31043
|
|
29
29
|
findly/unified_reporting_sdk/urs.py,sha256=-vhOFpi-M0uo_tZ_O_hTDDEGO-ATf78nqEf5JhIcaz4,2956
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
findly_unified_reporting_sdk-0.7.
|
|
33
|
-
findly_unified_reporting_sdk-0.7.
|
|
34
|
-
findly_unified_reporting_sdk-0.7.13.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
35
|
-
findly_unified_reporting_sdk-0.7.13.dist-info/RECORD,,
|
|
30
|
+
findly_unified_reporting_sdk-0.7.14.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
31
|
+
findly_unified_reporting_sdk-0.7.14.dist-info/METADATA,sha256=0zNhdl6yBerd1pxBEOGD0qA-K67Hni8_yLi63-8brvo,3213
|
|
32
|
+
findly_unified_reporting_sdk-0.7.14.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
33
|
+
findly_unified_reporting_sdk-0.7.14.dist-info/RECORD,,
|
|
File without changes
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import pandas as pd
|
|
2
|
-
|
|
3
|
-
DEFAULT_FLOAT_PRECISION = 2
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def create_numeric_string_series(
|
|
7
|
-
col: pd.Series, precision: int = DEFAULT_FLOAT_PRECISION
|
|
8
|
-
) -> pd.Series:
|
|
9
|
-
try:
|
|
10
|
-
numeric_col: pd.Series = pd.to_numeric(col)
|
|
11
|
-
if (numeric_col.dropna() % 1 == 0).all():
|
|
12
|
-
return numeric_col.astype(int).astype(str)
|
|
13
|
-
else:
|
|
14
|
-
return numeric_col.astype(float).round(precision).astype(str)
|
|
15
|
-
except Exception:
|
|
16
|
-
return col
|
|
File without changes
|
|
File without changes
|