dve-lumipy-testing 1.0.464__py3-none-any.whl → 1.0.466__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.
- {dve_lumipy_testing-1.0.464.dist-info → dve_lumipy_testing-1.0.466.dist-info}/METADATA +1 -1
- {dve_lumipy_testing-1.0.464.dist-info → dve_lumipy_testing-1.0.466.dist-info}/RECORD +9 -9
- lumipy/provider/common.py +2 -2
- lumipy/test/integration/test_client.py +2 -2
- lumipy/test/integration/test_lumiflex.py +84 -84
- lumipy/test/provider/test_python_provider.py +38 -38
- {dve_lumipy_testing-1.0.464.dist-info → dve_lumipy_testing-1.0.466.dist-info}/WHEEL +0 -0
- {dve_lumipy_testing-1.0.464.dist-info → dve_lumipy_testing-1.0.466.dist-info}/entry_points.txt +0 -0
- {dve_lumipy_testing-1.0.464.dist-info → dve_lumipy_testing-1.0.466.dist-info}/top_level.txt +0 -0
|
@@ -74,7 +74,7 @@ lumipy/lumiflex/_window/accessors/str_win_fn_accessor.py,sha256=sZnuZRIGjfQtqpn9
|
|
|
74
74
|
lumipy/provider/__init__.py,sha256=99zdQ15JhgsuoduZpuR1f83Tqi7sFnSKAvSXxhTcJI4,793
|
|
75
75
|
lumipy/provider/api_server.py,sha256=0vRVcfiEHb2lDcfHNpfJa8c5J91HvauVUTWpEMBEnkk,3716
|
|
76
76
|
lumipy/provider/base_provider.py,sha256=X3saHK8MPetLFGw1OrUOiBYeKuBJRqA_eCdm4cglaAc,16316
|
|
77
|
-
lumipy/provider/common.py,sha256=
|
|
77
|
+
lumipy/provider/common.py,sha256=95210WHs_s2PmFqQBFeIFHm3KeJVbTsy8kOLysvkvD4,6969
|
|
78
78
|
lumipy/provider/context.py,sha256=VwsHZO46HP3G9BN4Eot_jQlbfETGKyNg2vG5wm1zL_4,5401
|
|
79
79
|
lumipy/provider/factory.py,sha256=QFuSCT_byJwbFmHF669I2iz0vLAF0T9Or1ghIEUZ0ok,9257
|
|
80
80
|
lumipy/provider/manager.py,sha256=A4bxCO__m5nc9GL8veOLtySbK1giMNDMml_r3B-q8y8,7218
|
|
@@ -271,12 +271,12 @@ lumipy/test/data/context_examples/test_titanic_single_bool_column.json,sha256=SC
|
|
|
271
271
|
lumipy/test/data/context_examples/test_titanic_test_ignore.json,sha256=HYEcQ3CGrtZ9sdacVnn8Vs38tJi4B7I2Tqqo1kS5BLY,575
|
|
272
272
|
lumipy/test/integration/__init__.py,sha256=Qb9wYCQF3WMv7emOmpAvnYzvLi3C_dGOqyheycYzp_g,192
|
|
273
273
|
lumipy/test/integration/test_atlas_build_queries.py,sha256=2wS-kW4uwrUleOU1bRYEHvxmxkWevskw4eIzp1dGUXQ,1286
|
|
274
|
-
lumipy/test/integration/test_client.py,sha256=
|
|
274
|
+
lumipy/test/integration/test_client.py,sha256=XYARAi5NvrLUt3u-l_9Esg2pPy0EDSAAwc8TjBmtdes,9952
|
|
275
275
|
lumipy/test/integration/test_direct_providers.py,sha256=SaC1iu7ZKLMF_2lSihmKPM27jRwwfxOXQDdHHKX8VMc,8363
|
|
276
|
-
lumipy/test/integration/test_lumiflex.py,sha256=
|
|
276
|
+
lumipy/test/integration/test_lumiflex.py,sha256=yWS4ouol3IBsV7MPs8c-5mU2VDJx_9XY1hWWIBiptnM,12761
|
|
277
277
|
lumipy/test/provider/__init__.py,sha256=GrfZvgfTjrRk6Y8niwJjY60E6DymOrRmuy--1K6Lzuk,148
|
|
278
278
|
lumipy/test/provider/context_examples_provider.py,sha256=sBjV6qMRVD-MdFN_EEzz481TOKpPJEcuWwju1xaIUzY,2231
|
|
279
|
-
lumipy/test/provider/test_python_provider.py,sha256=
|
|
279
|
+
lumipy/test/provider/test_python_provider.py,sha256=QKtSetTA-BOo6tTRe0DZX0FeXShCLkXnZnh1ePJ97tc,8621
|
|
280
280
|
lumipy/test/provider/test_python_provider_with_proxy.py,sha256=DQFc6almOJAkO4Aji9n3LAEpuQWqULntbA3pqGbo7Nk,2477
|
|
281
281
|
lumipy/test/unit/__init__.py,sha256=sdWvx2NjMpkbRLDrm60untvilc9wDchKBs9rcsUjkqU,5624
|
|
282
282
|
lumipy/test/unit/cli_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -379,8 +379,8 @@ lumipy/test/unit/provider_tests/test_provider_factory.py,sha256=ICHlEiYS-GvKFoI5
|
|
|
379
379
|
lumipy/test/unit/provider_tests/test_provider_manager.py,sha256=-TT-3ZGpDsFKMz4efWIy7TGAUVtZ2gTDa67DiorIioc,13456
|
|
380
380
|
lumipy/test/unit/queryjob_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
381
381
|
lumipy/test/unit/queryjob_tests/test_queryjob.py,sha256=1UE4-VuIkAE6vo0vogq3p2iXtTukiAPxOt5Uankx7c4,1542
|
|
382
|
-
dve_lumipy_testing-1.0.
|
|
383
|
-
dve_lumipy_testing-1.0.
|
|
384
|
-
dve_lumipy_testing-1.0.
|
|
385
|
-
dve_lumipy_testing-1.0.
|
|
386
|
-
dve_lumipy_testing-1.0.
|
|
382
|
+
dve_lumipy_testing-1.0.466.dist-info/METADATA,sha256=EfAiSJeqygAglN3lSPw49eQC8CitCGLYVVGu5fdaxgI,14828
|
|
383
|
+
dve_lumipy_testing-1.0.466.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
384
|
+
dve_lumipy_testing-1.0.466.dist-info/entry_points.txt,sha256=L7hRlqwmvzHMwaOQzygKLK-gx4k4e1q4Qz5m0DGihW8,46
|
|
385
|
+
dve_lumipy_testing-1.0.466.dist-info/top_level.txt,sha256=DVww8LaQM3Xm0WOgo4JE0epePgCM1xGWWWxh7wuv-CY,7
|
|
386
|
+
dve_lumipy_testing-1.0.466.dist-info/RECORD,,
|
lumipy/provider/common.py
CHANGED
|
@@ -17,9 +17,9 @@ from lumipy.lumiflex._metadata.dtype import DType
|
|
|
17
17
|
from lumipy.provider.max_version import max_version_str
|
|
18
18
|
|
|
19
19
|
_min_version_dotnet_6 = Version.parse('1.17.340')
|
|
20
|
-
_max_version_dotnet_6 = Version.parse('1.17.375') # Final published binary that runs .NET 6
|
|
20
|
+
_max_version_dotnet_6 = Version.parse('1.17.375') # Final published binary that runs .NET 6, soon to be totally invalid already no longer downloadable.
|
|
21
21
|
|
|
22
|
-
_min_version_dotnet_8 = Version.parse('1.18.
|
|
22
|
+
_min_version_dotnet_8 = Version.parse('1.18.531') # First published binary that uses DirectReplyToFeedback + Streams for cancellation
|
|
23
23
|
_max_version_dotnet_8 = Version.parse(max_version_str)
|
|
24
24
|
|
|
25
25
|
_dotnet8_status = None
|
|
@@ -230,8 +230,8 @@ class ClientTests(BaseIntTest):
|
|
|
230
230
|
self.assertTrue(ver_parsed.minor >= 0)
|
|
231
231
|
|
|
232
232
|
def test_get_latest_available_version_in_single_value_range(self):
|
|
233
|
-
ver = self.client._get_latest_available_version_in_range('Python_Providers', "1.18.
|
|
234
|
-
self.assertEqual(str(ver), "1.18.
|
|
233
|
+
ver = self.client._get_latest_available_version_in_range('Python_Providers', "1.18.557", "1.18.557")
|
|
234
|
+
self.assertEqual(str(ver), "1.18.557")
|
|
235
235
|
|
|
236
236
|
def test_get_latest_available_version_in_range_bad_binary_name_unhappy(self):
|
|
237
237
|
try:
|
|
@@ -274,87 +274,87 @@ class LumiflexTests(BaseIntTestWithAtlas):
|
|
|
274
274
|
if tries == 6:
|
|
275
275
|
raise AssertionError('View has not been deleted.')
|
|
276
276
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
277
|
+
# def test_cumulative_fns_match_pandas(self):
|
|
278
|
+
# qry = self.ar.select(
|
|
279
|
+
# self.ar.timestamp, self.ar.duration,
|
|
280
|
+
# CumeSum=self.ar.duration.cume.sum(),
|
|
281
|
+
# CumeMin=self.ar.duration.cume.min(),
|
|
282
|
+
# CumeMax=self.ar.duration.cume.max(),
|
|
283
|
+
# ).where(
|
|
284
|
+
# (self.ar.application == 'lusid')
|
|
285
|
+
# & (self.ar.method == 'UpsertInstruments')
|
|
286
|
+
# ).limit(100)
|
|
287
|
+
#
|
|
288
|
+
# df = qry.go()
|
|
289
|
+
#
|
|
290
|
+
# df['PdCumeSum'] = df.Duration.cumsum()
|
|
291
|
+
# df['PdCumeMax'] = df.Duration.cummax()
|
|
292
|
+
# df['PdCumeMin'] = df.Duration.cummin()
|
|
293
|
+
#
|
|
294
|
+
# self.assertSequenceEqual(df.PdCumeSum.round(9).tolist(), df.CumeSum.round(9).tolist())
|
|
295
|
+
# self.assertSequenceEqual(df.PdCumeMin.round(9).tolist(), df.CumeMin.round(9).tolist())
|
|
296
|
+
# self.assertSequenceEqual(df.PdCumeMax.round(9).tolist(), df.CumeMax.round(9).tolist())
|
|
297
|
+
#
|
|
298
|
+
# def test_frac_diff_matches_pandas(self):
|
|
299
|
+
# qry = self.ar.select(
|
|
300
|
+
# self.ar.timestamp, self.ar.duration,
|
|
301
|
+
# FracDiff=self.ar.duration.frac_diff(),
|
|
302
|
+
# FracDiffN3=self.ar.duration.frac_diff(offset=3),
|
|
303
|
+
# ).where(
|
|
304
|
+
# (self.ar.application == 'lusid')
|
|
305
|
+
# & (self.ar.method == 'UpsertInstruments')
|
|
306
|
+
# & (self.ar.event_type == 'Completed')
|
|
307
|
+
# ).limit(100)
|
|
308
|
+
#
|
|
309
|
+
# df = qry.go()
|
|
310
|
+
#
|
|
311
|
+
# df['PdFracDiff'] = df.Duration.pct_change()
|
|
312
|
+
# df['PdFracDiffN3'] = df.Duration.pct_change(periods=3)
|
|
313
|
+
#
|
|
314
|
+
# self.assertSequenceEqual(
|
|
315
|
+
# df.PdFracDiff.round(9).tolist()[1:],
|
|
316
|
+
# df.FracDiff.round(9).tolist()[1:],
|
|
317
|
+
# )
|
|
318
|
+
#
|
|
319
|
+
# self.assertSequenceEqual(
|
|
320
|
+
# df.PdFracDiffN3.round(9).tolist()[3:],
|
|
321
|
+
# df.FracDiffN3.round(9).tolist()[3:],
|
|
322
|
+
# )
|
|
323
|
+
#
|
|
324
|
+
# def test_drawdown_matches_pandas(self):
|
|
325
|
+
# win = lm.window()
|
|
326
|
+
# qry = self.ar.select(
|
|
327
|
+
# self.ar.timestamp, self.ar.duration,
|
|
328
|
+
# Drawdown=win.finance.drawdown(self.ar.duration)
|
|
329
|
+
# ).where(
|
|
330
|
+
# (self.ar.application == 'lusid')
|
|
331
|
+
# & (self.ar.method == 'UpsertInstruments')
|
|
332
|
+
# & (self.ar.event_type == 'Completed')
|
|
333
|
+
# ).limit(100)
|
|
334
|
+
#
|
|
335
|
+
# df = qry.go()
|
|
336
|
+
#
|
|
337
|
+
# df['PdDrawdown'] = abs(df.Duration - df.Duration.cummax()) / df.Duration.cummax()
|
|
338
|
+
# df = df.iloc[1:]
|
|
339
|
+
# self.assertSequenceEqual(
|
|
340
|
+
# df.PdDrawdown.round(9).tolist(),
|
|
341
|
+
# df.Drawdown.round(9).tolist(),
|
|
342
|
+
# )
|
|
343
|
+
#
|
|
344
|
+
# def test_cume_dist_matches_pandas(self):
|
|
345
|
+
# qry = self.ar.select(
|
|
346
|
+
# self.ar.timestamp, self.ar.duration,
|
|
347
|
+
# CumeDist=self.ar.duration.cume.dist()
|
|
348
|
+
# ).where(
|
|
349
|
+
# (self.ar.application == 'lusid')
|
|
350
|
+
# & (self.ar.method == 'UpsertInstruments')
|
|
351
|
+
# & (self.ar.event_type == 'Completed')
|
|
352
|
+
# ).limit(100)
|
|
353
|
+
#
|
|
354
|
+
# df = qry.go()
|
|
355
|
+
# df['PdCumeDist'] = df.Duration.rank(pct=True, method='max')
|
|
356
|
+
#
|
|
357
|
+
# self.assertSequenceEqual(
|
|
358
|
+
# df.CumeDist.round(9).tolist(),
|
|
359
|
+
# df.PdCumeDist.round(9).tolist(),
|
|
360
|
+
# )
|
|
@@ -91,44 +91,44 @@ class TestPythonProviderIntegration(BaseIntTestWithAtlas):
|
|
|
91
91
|
])
|
|
92
92
|
return lm.from_pandas(df)
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
TableVarColName,TableVarColType,TableVarName,TableVarNumCols,TableVarNumRows
|
|
108
|
-
Col0,float64,TestTable1,5,3
|
|
109
|
-
Col1,string,TestTable1,5,3
|
|
110
|
-
Col2,datetime64[ns],TestTable1,5,3
|
|
111
|
-
Col3,Int64,TestTable1,5,3
|
|
112
|
-
Col4,float64,TestTable1,5,3
|
|
113
|
-
Col0,float64,TestTable2,3,5
|
|
114
|
-
Col1,string,TestTable2,3,5
|
|
115
|
-
Col2,datetime64[ns],TestTable2,3,5
|
|
116
|
-
Col0,float64,TestTable3,9,2
|
|
117
|
-
Col1,string,TestTable3,9,2
|
|
118
|
-
Col2,datetime64[ns],TestTable3,9,2
|
|
119
|
-
Col3,Int64,TestTable3,9,2
|
|
120
|
-
Col4,float64,TestTable3,9,2
|
|
121
|
-
Col5,string,TestTable3,9,2
|
|
122
|
-
Col6,datetime64[ns],TestTable3,9,2
|
|
123
|
-
Col7,Int64,TestTable3,9,2
|
|
124
|
-
Col8,float64,TestTable3,9,2
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
94
|
+
# def test_table_parameter_input(self):
|
|
95
|
+
#
|
|
96
|
+
# self._check_provider_attr_exists('test_tableparam_pyprovider')
|
|
97
|
+
#
|
|
98
|
+
# tv1 = self._make_tablevar(3, 5)
|
|
99
|
+
# tv2 = self._make_tablevar(5, 3)
|
|
100
|
+
# tv3 = self._make_tablevar(2, 9)
|
|
101
|
+
#
|
|
102
|
+
# p = self.atlas.test_tableparam_pyprovider(test_table1=tv1, test_table2=tv2, test_table3=tv3)
|
|
103
|
+
#
|
|
104
|
+
# df1 = p.select('*').go()
|
|
105
|
+
#
|
|
106
|
+
# csv = '''
|
|
107
|
+
# TableVarColName,TableVarColType,TableVarName,TableVarNumCols,TableVarNumRows
|
|
108
|
+
# Col0,float64,TestTable1,5,3
|
|
109
|
+
# Col1,string,TestTable1,5,3
|
|
110
|
+
# Col2,datetime64[ns],TestTable1,5,3
|
|
111
|
+
# Col3,Int64,TestTable1,5,3
|
|
112
|
+
# Col4,float64,TestTable1,5,3
|
|
113
|
+
# Col0,float64,TestTable2,3,5
|
|
114
|
+
# Col1,string,TestTable2,3,5
|
|
115
|
+
# Col2,datetime64[ns],TestTable2,3,5
|
|
116
|
+
# Col0,float64,TestTable3,9,2
|
|
117
|
+
# Col1,string,TestTable3,9,2
|
|
118
|
+
# Col2,datetime64[ns],TestTable3,9,2
|
|
119
|
+
# Col3,Int64,TestTable3,9,2
|
|
120
|
+
# Col4,float64,TestTable3,9,2
|
|
121
|
+
# Col5,string,TestTable3,9,2
|
|
122
|
+
# Col6,datetime64[ns],TestTable3,9,2
|
|
123
|
+
# Col7,Int64,TestTable3,9,2
|
|
124
|
+
# Col8,float64,TestTable3,9,2
|
|
125
|
+
# '''
|
|
126
|
+
# df2 = pd.read_csv(io.StringIO(csv))
|
|
127
|
+
#
|
|
128
|
+
# self.assertSequenceEqual(df1.shape, df2.shape)
|
|
129
|
+
#
|
|
130
|
+
# comp = df1 == df2
|
|
131
|
+
# self.assertTrue(comp.all().all())
|
|
132
132
|
|
|
133
133
|
def test_provider_metadata_titanic(self):
|
|
134
134
|
|
|
File without changes
|
{dve_lumipy_testing-1.0.464.dist-info → dve_lumipy_testing-1.0.466.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|