quasardb 3.14.2.dev1__cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 3.14.2.dev2__cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.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.
Potentially problematic release.
This version of quasardb might be problematic. Click here for more details.
- quasardb/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
- quasardb/Makefile +1 -1
- quasardb/__init__.py +33 -4
- quasardb/cmake_install.cmake +1 -1
- quasardb/date/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
- quasardb/date/CMakeFiles/Export/b76006b2b7125baf1b0b4d4ca4db82bd/dateTargets.cmake +12 -12
- quasardb/date/Makefile +1 -1
- quasardb/date/cmake_install.cmake +1 -1
- quasardb/date/dateTargets.cmake +3 -7
- quasardb/libqdb_api.so +0 -0
- quasardb/numpy/__init__.py +58 -10
- quasardb/pandas/__init__.py +59 -102
- quasardb/pybind11/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
- quasardb/pybind11/Makefile +1 -1
- quasardb/pybind11/cmake_install.cmake +1 -1
- quasardb/quasardb.cpython-311-aarch64-linux-gnu.so +0 -0
- quasardb/range-v3/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
- quasardb/range-v3/CMakeFiles/Export/48a02d54b5e9e60c30c5f249b431a911/range-v3-targets.cmake +12 -12
- quasardb/range-v3/CMakeFiles/range.v3.headers.dir/build.make +1 -1
- quasardb/range-v3/Makefile +1 -1
- quasardb/range-v3/cmake_install.cmake +1 -1
- quasardb/range-v3/range-v3-config.cmake +3 -7
- {quasardb-3.14.2.dev1.dist-info → quasardb-3.14.2.dev2.dist-info}/METADATA +7 -7
- {quasardb-3.14.2.dev1.dist-info → quasardb-3.14.2.dev2.dist-info}/RECORD +27 -27
- {quasardb-3.14.2.dev1.dist-info → quasardb-3.14.2.dev2.dist-info}/WHEEL +1 -1
- {quasardb-3.14.2.dev1.dist-info → quasardb-3.14.2.dev2.dist-info}/LICENSE.md +0 -0
- {quasardb-3.14.2.dev1.dist-info → quasardb-3.14.2.dev2.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# CMAKE generated file: DO NOT EDIT!
|
|
2
|
-
# Generated by "Unix Makefiles" Generator, CMake Version 3.
|
|
2
|
+
# Generated by "Unix Makefiles" Generator, CMake Version 3.30
|
|
3
3
|
|
|
4
4
|
# Relative path conversion top directories.
|
|
5
5
|
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/mnt/TeamCity/work/938b0bdf6727d1ad/thirdparty")
|
quasardb/Makefile
CHANGED
quasardb/__init__.py
CHANGED
|
@@ -35,9 +35,19 @@
|
|
|
35
35
|
.. moduleauthor: quasardb SAS. All rights reserved
|
|
36
36
|
"""
|
|
37
37
|
|
|
38
|
-
def generic_error_msg(msg, e):
|
|
38
|
+
def generic_error_msg(msg, e = None):
|
|
39
39
|
msg_str = "\n".join(msg)
|
|
40
|
-
|
|
40
|
+
|
|
41
|
+
if e is None:
|
|
42
|
+
return """
|
|
43
|
+
**************************************************************************
|
|
44
|
+
|
|
45
|
+
{}
|
|
46
|
+
|
|
47
|
+
**************************************************************************
|
|
48
|
+
""".format(msg_str, type(e), str(e))
|
|
49
|
+
else:
|
|
50
|
+
return """
|
|
41
51
|
**************************************************************************
|
|
42
52
|
|
|
43
53
|
{}
|
|
@@ -46,8 +56,8 @@ def generic_error_msg(msg, e):
|
|
|
46
56
|
|
|
47
57
|
Original exception:
|
|
48
58
|
|
|
49
|
-
|
|
50
|
-
|
|
59
|
+
Type: {}
|
|
60
|
+
Message: {}
|
|
51
61
|
|
|
52
62
|
**************************************************************************
|
|
53
63
|
""".format(msg_str, type(e), str(e))
|
|
@@ -79,9 +89,23 @@ def glibc_error_msg(e):
|
|
|
79
89
|
|
|
80
90
|
return generic_error_msg(msg, e)
|
|
81
91
|
|
|
92
|
+
def unknown_error_msg():
|
|
93
|
+
msg = [
|
|
94
|
+
"Unable to import quasardb module: unknown error. ",
|
|
95
|
+
"",
|
|
96
|
+
"This may have several causes, including, but not limited to: ",
|
|
97
|
+
" - a link error, ",
|
|
98
|
+
" - architecture mismatch, ",
|
|
99
|
+
" - the current working directory already contains a 'quasardb' subdirectory.",
|
|
100
|
+
"",
|
|
101
|
+
"If you believe this to be a bug, please reach out to QuasarDB at",
|
|
102
|
+
"support@quasar.ai"]
|
|
103
|
+
|
|
104
|
+
return generic_error_msg(msg)
|
|
82
105
|
try:
|
|
83
106
|
from quasardb.quasardb import *
|
|
84
107
|
except BaseException as e:
|
|
108
|
+
print(e)
|
|
85
109
|
if "undefined symbol" in str(e):
|
|
86
110
|
print(link_error_msg(e))
|
|
87
111
|
raise e
|
|
@@ -90,5 +114,10 @@ except BaseException as e:
|
|
|
90
114
|
else:
|
|
91
115
|
from quasardb import *
|
|
92
116
|
|
|
117
|
+
if not 'quasardb' in locals():
|
|
118
|
+
print(unknown_error_msg())
|
|
119
|
+
raise ImportError()
|
|
120
|
+
|
|
121
|
+
|
|
93
122
|
from .extensions import extend_module
|
|
94
123
|
extend_module(quasardb)
|
quasardb/cmake_install.cmake
CHANGED
|
@@ -37,7 +37,7 @@ if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
|
|
37
37
|
set(CMAKE_CROSSCOMPILING "FALSE")
|
|
38
38
|
endif()
|
|
39
39
|
|
|
40
|
-
# Set
|
|
40
|
+
# Set path to fallback-tool for dependency-resolution.
|
|
41
41
|
if(NOT DEFINED CMAKE_OBJDUMP)
|
|
42
42
|
set(CMAKE_OBJDUMP "/opt/rh/devtoolset-10/root/usr/bin/objdump")
|
|
43
43
|
endif()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# CMAKE generated file: DO NOT EDIT!
|
|
2
|
-
# Generated by "Unix Makefiles" Generator, CMake Version 3.
|
|
2
|
+
# Generated by "Unix Makefiles" Generator, CMake Version 3.30
|
|
3
3
|
|
|
4
4
|
# Relative path conversion top directories.
|
|
5
5
|
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/mnt/TeamCity/work/938b0bdf6727d1ad/thirdparty")
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
|
|
4
4
|
message(FATAL_ERROR "CMake >= 2.8.0 required")
|
|
5
5
|
endif()
|
|
6
|
-
if(CMAKE_VERSION VERSION_LESS "
|
|
7
|
-
message(FATAL_ERROR "CMake >=
|
|
6
|
+
if(CMAKE_VERSION VERSION_LESS "3.1.0")
|
|
7
|
+
message(FATAL_ERROR "CMake >= 3.1.0 required")
|
|
8
8
|
endif()
|
|
9
9
|
cmake_policy(PUSH)
|
|
10
|
-
cmake_policy(VERSION
|
|
10
|
+
cmake_policy(VERSION 3.1.0...3.28)
|
|
11
11
|
#----------------------------------------------------------------
|
|
12
12
|
# Generated CMake target import file.
|
|
13
13
|
#----------------------------------------------------------------
|
|
@@ -64,10 +64,6 @@ set_target_properties(date::date PROPERTIES
|
|
|
64
64
|
INTERFACE_SOURCES "${_IMPORT_PREFIX}/include/date/date.h"
|
|
65
65
|
)
|
|
66
66
|
|
|
67
|
-
if(CMAKE_VERSION VERSION_LESS 3.1.0)
|
|
68
|
-
message(FATAL_ERROR "This file relies on consumers using CMake 3.1.0 or greater.")
|
|
69
|
-
endif()
|
|
70
|
-
|
|
71
67
|
# Load information for each installed configuration.
|
|
72
68
|
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/dateTargets-*.cmake")
|
|
73
69
|
foreach(_cmake_config_file IN LISTS _cmake_config_files)
|
|
@@ -81,9 +77,12 @@ set(_IMPORT_PREFIX)
|
|
|
81
77
|
|
|
82
78
|
# Loop over all imported files and verify that they actually exist
|
|
83
79
|
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
80
|
+
if(CMAKE_VERSION VERSION_LESS "3.28"
|
|
81
|
+
OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
|
|
82
|
+
OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
|
|
83
|
+
foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
|
|
84
|
+
if(NOT EXISTS "${_cmake_file}")
|
|
85
|
+
message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
|
|
87
86
|
\"${_cmake_file}\"
|
|
88
87
|
but this file does not exist. Possible reasons include:
|
|
89
88
|
* The file was deleted, renamed, or moved to another location.
|
|
@@ -92,8 +91,9 @@ but this file does not exist. Possible reasons include:
|
|
|
92
91
|
\"${CMAKE_CURRENT_LIST_FILE}\"
|
|
93
92
|
but not all the files it references.
|
|
94
93
|
")
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
endif()
|
|
95
|
+
endforeach()
|
|
96
|
+
endif()
|
|
97
97
|
unset(_cmake_file)
|
|
98
98
|
unset("_cmake_import_check_files_for_${_cmake_target}")
|
|
99
99
|
endforeach()
|
quasardb/date/Makefile
CHANGED
|
@@ -37,7 +37,7 @@ if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
|
|
37
37
|
set(CMAKE_CROSSCOMPILING "FALSE")
|
|
38
38
|
endif()
|
|
39
39
|
|
|
40
|
-
# Set
|
|
40
|
+
# Set path to fallback-tool for dependency-resolution.
|
|
41
41
|
if(NOT DEFINED CMAKE_OBJDUMP)
|
|
42
42
|
set(CMAKE_OBJDUMP "/opt/rh/devtoolset-10/root/usr/bin/objdump")
|
|
43
43
|
endif()
|
quasardb/date/dateTargets.cmake
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
|
|
4
4
|
message(FATAL_ERROR "CMake >= 2.8.0 required")
|
|
5
5
|
endif()
|
|
6
|
-
if(CMAKE_VERSION VERSION_LESS "
|
|
7
|
-
message(FATAL_ERROR "CMake >=
|
|
6
|
+
if(CMAKE_VERSION VERSION_LESS "3.0.0")
|
|
7
|
+
message(FATAL_ERROR "CMake >= 3.0.0 required")
|
|
8
8
|
endif()
|
|
9
9
|
cmake_policy(PUSH)
|
|
10
|
-
cmake_policy(VERSION
|
|
10
|
+
cmake_policy(VERSION 3.0.0...3.28)
|
|
11
11
|
#----------------------------------------------------------------
|
|
12
12
|
# Generated CMake target import file.
|
|
13
13
|
#----------------------------------------------------------------
|
|
@@ -15,10 +15,6 @@ cmake_policy(VERSION 2.8.3...3.26)
|
|
|
15
15
|
# Commands may need to know the format version.
|
|
16
16
|
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
17
17
|
|
|
18
|
-
if(CMAKE_VERSION VERSION_LESS 3.0.0)
|
|
19
|
-
message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
|
|
20
|
-
endif()
|
|
21
|
-
|
|
22
18
|
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
|
23
19
|
set(_cmake_targets_defined "")
|
|
24
20
|
set(_cmake_targets_not_defined "")
|
quasardb/libqdb_api.so
CHANGED
|
Binary file
|
quasardb/numpy/__init__.py
CHANGED
|
@@ -414,6 +414,17 @@ def _ensure_list(xs, cinfos):
|
|
|
414
414
|
return ret
|
|
415
415
|
|
|
416
416
|
|
|
417
|
+
def _coerce_retries(retries) -> quasardb.RetryOptions:
|
|
418
|
+
if retries is None:
|
|
419
|
+
return quasardb.RetryOptions()
|
|
420
|
+
elif isinstance(retries, int):
|
|
421
|
+
return quasardb.RetryOptions(retries=retries)
|
|
422
|
+
elif isinstance(retries, quasardb.RetryOptions):
|
|
423
|
+
return retries
|
|
424
|
+
else:
|
|
425
|
+
raise TypeError("retries should either be an integer or quasardb.RetryOptions, got: " + type(retries))
|
|
426
|
+
|
|
427
|
+
|
|
417
428
|
def ensure_ma(xs, dtype=None):
|
|
418
429
|
if isinstance(dtype, list):
|
|
419
430
|
assert(isinstance(xs, list) == True)
|
|
@@ -556,20 +567,25 @@ def write_array(
|
|
|
556
567
|
logger.info("Writing array (%d rows of dtype %s) to columns %s.%s (type %s)", len(data), data.dtype, table.get_name(), column, ctype)
|
|
557
568
|
write_with[ctype](column, index, data)
|
|
558
569
|
|
|
559
|
-
|
|
560
570
|
def write_arrays(
|
|
561
571
|
data,
|
|
562
572
|
cluster,
|
|
563
573
|
table = None,
|
|
574
|
+
*,
|
|
564
575
|
dtype = None,
|
|
565
576
|
index = None,
|
|
566
577
|
_async = False,
|
|
567
578
|
fast = False,
|
|
568
579
|
truncate = False,
|
|
569
|
-
deduplicate=False,
|
|
570
|
-
deduplication_mode='drop',
|
|
580
|
+
deduplicate = False,
|
|
581
|
+
deduplication_mode = 'drop',
|
|
571
582
|
infer_types = True,
|
|
572
|
-
writer = None
|
|
583
|
+
writer = None,
|
|
584
|
+
write_through = False,
|
|
585
|
+
retries = 3,
|
|
586
|
+
|
|
587
|
+
# We accept additional kwargs that will be passed through the writer.push() methods
|
|
588
|
+
**kwargs):
|
|
573
589
|
"""
|
|
574
590
|
Write multiple aligned numpy arrays to a table.
|
|
575
591
|
|
|
@@ -652,12 +668,25 @@ def write_arrays(
|
|
|
652
668
|
|
|
653
669
|
Defaults to False.
|
|
654
670
|
|
|
671
|
+
write_through: optional bool
|
|
672
|
+
If True, data is not cached after write.
|
|
673
|
+
By default is False, in which case caching is left at the discretion of the server.
|
|
674
|
+
|
|
655
675
|
writer: optional quasardb.Writer
|
|
656
676
|
Allows you to explicitly provide a Writer to use, which is expected to be
|
|
657
677
|
initialized with the `table`.
|
|
658
678
|
|
|
659
679
|
Reuse of the Writer allows for some performance improvements.
|
|
660
680
|
|
|
681
|
+
retries: optional int or quasardb.RetryOptions
|
|
682
|
+
Number of times to retry in case of a push failure. This is useful in case of async
|
|
683
|
+
pipeline failures, or when doing transactional inserts that may occasionally cause
|
|
684
|
+
transaction conflicts.
|
|
685
|
+
|
|
686
|
+
Retries with exponential backoff, starts at 3 seconds, and doubles every retry attempt.
|
|
687
|
+
|
|
688
|
+
Alternatively, a quasardb.RetryOptions object can be passed to more carefully fine-tune
|
|
689
|
+
retry behavior.
|
|
661
690
|
"""
|
|
662
691
|
|
|
663
692
|
if table:
|
|
@@ -673,7 +702,10 @@ def write_arrays(
|
|
|
673
702
|
deduplicate=deduplicate,
|
|
674
703
|
deduplication_mode=deduplication_mode,
|
|
675
704
|
infer_types=infer_types,
|
|
676
|
-
|
|
705
|
+
write_through=write_through,
|
|
706
|
+
writer=writer,
|
|
707
|
+
retries=retries,
|
|
708
|
+
**kwargs)
|
|
677
709
|
|
|
678
710
|
|
|
679
711
|
ret = []
|
|
@@ -738,19 +770,35 @@ def write_arrays(
|
|
|
738
770
|
n_rows += len(index_)
|
|
739
771
|
ret.append(table)
|
|
740
772
|
|
|
773
|
+
retries = _coerce_retries(retries)
|
|
774
|
+
|
|
775
|
+
# By default, we push all additional kwargs to the writer.push() function. This allows transparent propagation
|
|
776
|
+
# arguments.
|
|
777
|
+
#
|
|
778
|
+
# The initial use case was that so we can add additional parameters for test mocks, e.g. `mock_failures` so that
|
|
779
|
+
# we can validate the retry functionality.
|
|
780
|
+
push_kwargs = kwargs
|
|
781
|
+
push_kwargs['deduplicate'] = deduplicate
|
|
782
|
+
push_kwargs['deduplication_mode'] = deduplication_mode
|
|
783
|
+
push_kwargs['write_through'] = write_through
|
|
784
|
+
push_kwargs['retries'] = retries
|
|
785
|
+
|
|
741
786
|
logger.debug("pushing %d rows", n_rows)
|
|
742
787
|
start = time.time()
|
|
743
788
|
|
|
744
789
|
if fast is True:
|
|
745
|
-
|
|
790
|
+
push_kwargs['push_mode'] = quasardb.WriterPushMode.Fast
|
|
746
791
|
elif truncate is True:
|
|
747
|
-
|
|
792
|
+
push_kwargs['push_mode'] = quasardb.WriterPushMode.Truncate
|
|
748
793
|
elif isinstance(truncate, tuple):
|
|
749
|
-
|
|
794
|
+
push_kwargs['push_mode'] = quasardb.WriterPushMode.Truncate
|
|
795
|
+
push_kwargs['range'] = truncate
|
|
750
796
|
elif _async is True:
|
|
751
|
-
|
|
797
|
+
push_kwargs['push_mode'] = quasardb.WriterPushMode.Async
|
|
752
798
|
else:
|
|
753
|
-
|
|
799
|
+
push_kwargs['push_mode'] = quasardb.WriterPushMode.Transactional
|
|
800
|
+
|
|
801
|
+
writer.push(push_data, **push_kwargs)
|
|
754
802
|
|
|
755
803
|
logger.debug("pushed %d rows in %s seconds",
|
|
756
804
|
n_rows, (time.time() - start))
|
quasardb/pandas/__init__.py
CHANGED
|
@@ -205,9 +205,10 @@ def query(cluster: quasardb.Cluster,
|
|
|
205
205
|
df.set_index(index, inplace=True)
|
|
206
206
|
return df
|
|
207
207
|
|
|
208
|
-
def
|
|
208
|
+
def stream_dataframe(table : quasardb.Table, *, batch_size : int = 0, column_names : list = None, ranges : list = None):
|
|
209
209
|
"""
|
|
210
|
-
Read a Pandas Dataframe from a QuasarDB Timeseries table.
|
|
210
|
+
Read a Pandas Dataframe from a QuasarDB Timeseries table. Returns a generator with dataframes of size `batch_size`, which is useful
|
|
211
|
+
when traversing a large dataset which does not fit into memory.
|
|
211
212
|
|
|
212
213
|
Parameters:
|
|
213
214
|
-----------
|
|
@@ -215,52 +216,65 @@ def read_dataframe(table, row_index=False, columns=None, ranges=None):
|
|
|
215
216
|
table : quasardb.Timeseries
|
|
216
217
|
QuasarDB Timeseries table object, e.g. qdb_cluster.table('my_table')
|
|
217
218
|
|
|
218
|
-
|
|
219
|
+
batch_size : int
|
|
220
|
+
The amount of rows to fetch in a single read operation. If unset, or 0, will
|
|
221
|
+
return all data as an entire dataframe. Otherwise, returns a generator which
|
|
222
|
+
yields on dataframe at a time.
|
|
223
|
+
|
|
224
|
+
column_names : optional list
|
|
219
225
|
List of columns to read in dataframe. The timestamp column '$timestamp' is
|
|
220
226
|
always read.
|
|
221
227
|
|
|
222
228
|
Defaults to all columns.
|
|
223
229
|
|
|
224
|
-
row_index: boolean
|
|
225
|
-
Whether or not to index by rows rather than timestamps. Set to true if your
|
|
226
|
-
dataset may contains null values and multiple rows may use the same timestamps.
|
|
227
|
-
Note: using row_index is significantly slower.
|
|
228
|
-
Defaults to false.
|
|
229
|
-
|
|
230
230
|
ranges: optional list
|
|
231
231
|
A list of time ranges to read, represented as tuples of Numpy datetime64[ns] objects.
|
|
232
232
|
Defaults to the entire table.
|
|
233
233
|
|
|
234
234
|
"""
|
|
235
|
+
# Sanitize batch_size
|
|
236
|
+
if batch_size == None:
|
|
237
|
+
batch_size = 0
|
|
238
|
+
elif not isinstance(batch_size, int):
|
|
239
|
+
raise TypeError("batch_size should be an integer, but got: {} with value {}".format(type(batch_size), str(batch_size)))
|
|
235
240
|
|
|
236
|
-
|
|
237
|
-
columns = list(c.name for c in table.list_columns())
|
|
241
|
+
kwargs = {}
|
|
238
242
|
|
|
239
|
-
if
|
|
240
|
-
|
|
241
|
-
return DataFrame(data=xs)
|
|
243
|
+
if column_names:
|
|
244
|
+
kwargs['column_names'] = column_names
|
|
242
245
|
|
|
243
|
-
kwargs = {
|
|
244
|
-
'columns': columns
|
|
245
|
-
}
|
|
246
246
|
if ranges:
|
|
247
247
|
kwargs['ranges'] = ranges
|
|
248
248
|
|
|
249
|
-
|
|
249
|
+
with table.reader(**kwargs) as reader:
|
|
250
|
+
for batch in reader:
|
|
251
|
+
# We always expect the timestamp column, and set this as the index
|
|
252
|
+
assert '$timestamp' in batch
|
|
253
|
+
|
|
254
|
+
idx = pd.Index(batch.pop('$timestamp'), copy=False, name='$timestamp')
|
|
255
|
+
df = pd.DataFrame(batch, index=idx)
|
|
256
|
+
|
|
257
|
+
yield df
|
|
258
|
+
|
|
250
259
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
260
|
+
def read_dataframe(table, **kwargs):
|
|
261
|
+
"""
|
|
262
|
+
Read a Pandas Dataframe from a QuasarDB Timeseries table. Wraps around stream_dataframe(), and
|
|
263
|
+
returns everything as a single dataframe. batch_size is always explicitly set to 0.
|
|
264
|
+
"""
|
|
255
265
|
|
|
256
|
-
|
|
266
|
+
if 'batch_size' in kwargs and kwargs['batch_size'] != 0 and kwargs['batch_size'] != None:
|
|
267
|
+
logger.warn("Providing a batch size with read_dataframe is unsupported, overriding batch_size to 0.")
|
|
268
|
+
logger.warn("If you wish to traverse the data in smaller batches, please use: stream_dataframe().")
|
|
269
|
+
kwargs['batch_size'] = 0
|
|
257
270
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
271
|
+
# Note that this is *lazy*, dfs is a generator, not a list -- as such, dataframes will be
|
|
272
|
+
# fetched on-demand, which means that an error could occur in the middle of processing
|
|
273
|
+
# dataframes.
|
|
274
|
+
dfs = stream_dataframe(table, **kwargs)
|
|
275
|
+
|
|
276
|
+
return pd.concat(dfs)
|
|
262
277
|
|
|
263
|
-
return DataFrame(data=xs, columns=columns)
|
|
264
278
|
|
|
265
279
|
def _extract_columns(df, cinfos):
|
|
266
280
|
"""
|
|
@@ -288,88 +302,39 @@ def _extract_columns(df, cinfos):
|
|
|
288
302
|
def write_dataframes(
|
|
289
303
|
dfs,
|
|
290
304
|
cluster,
|
|
291
|
-
|
|
292
|
-
create=False,
|
|
293
|
-
shard_size=None,
|
|
294
|
-
|
|
295
|
-
fast=False,
|
|
296
|
-
truncate=False,
|
|
297
|
-
deduplicate=False,
|
|
298
|
-
deduplication_mode='drop',
|
|
299
|
-
infer_types=True,
|
|
300
|
-
writer=None):
|
|
305
|
+
*,
|
|
306
|
+
create = False,
|
|
307
|
+
shard_size = None,
|
|
308
|
+
**kwargs):
|
|
301
309
|
"""
|
|
302
|
-
Store
|
|
310
|
+
Store dataframes into a table. Any additional parameters not documented here
|
|
311
|
+
are passed to numpy.write_arrays(). Please consult the pydoc of that function
|
|
312
|
+
for additional accepted parameters.
|
|
303
313
|
|
|
304
314
|
Parameters:
|
|
305
315
|
-----------
|
|
306
316
|
|
|
307
|
-
|
|
308
|
-
|
|
317
|
+
dfs: dict[str | quasardb.Table, pd.DataFrame] | list[tuple[str | quasardb.Table, pd.DataFrame]]
|
|
318
|
+
This can be either a dict that maps table (either objects or names) to a dataframe, or a list
|
|
319
|
+
of table<>dataframe tuples.
|
|
309
320
|
|
|
310
321
|
cluster: quasardb.Cluster
|
|
311
322
|
Active connection to the QuasarDB cluster
|
|
312
323
|
|
|
313
|
-
table: quasardb.Timeseries or str
|
|
314
|
-
Either a string or a reference to a QuasarDB Timeseries table object.
|
|
315
|
-
For example, 'my_table' or cluster.table('my_table') are both valid values.
|
|
316
|
-
|
|
317
|
-
dtype: optional dtype, list of dtype, or dict of dtype
|
|
318
|
-
Optional data type to force. If a single dtype, will force that dtype to all
|
|
319
|
-
columns. If list-like, will map dtypes to dataframe columns by their offset.
|
|
320
|
-
If dict-like, will map dtypes to dataframe columns by their label.
|
|
321
|
-
|
|
322
|
-
If a dtype for a column is provided in this argument, and infer_types is also
|
|
323
|
-
True, this argument takes precedence.
|
|
324
|
-
|
|
325
324
|
create: optional bool
|
|
326
|
-
Whether to create the table. Defaults to
|
|
325
|
+
Whether to create the table. Defaults to False.
|
|
327
326
|
|
|
328
327
|
shard_size: optional datetime.timedelta
|
|
329
|
-
The shard size of the timeseries you wish to create.
|
|
330
|
-
|
|
331
|
-
deduplicate: bool or list[str]
|
|
332
|
-
Enables server-side deduplication of data when it is written into the table.
|
|
333
|
-
When True, automatically deduplicates rows when all values of a row are identical.
|
|
334
|
-
When a list of strings is provided, deduplicates only based on the values of
|
|
335
|
-
these columns.
|
|
336
|
-
|
|
337
|
-
Defaults to False.
|
|
338
|
-
|
|
339
|
-
infer_types: optional bool
|
|
340
|
-
If true, will attemp to convert types from Python to QuasarDB natives types if
|
|
341
|
-
the provided dataframe has incompatible types. For example, a dataframe with integers
|
|
342
|
-
will automatically convert these to doubles if the QuasarDB table expects it.
|
|
343
|
-
|
|
344
|
-
**Important**: as conversions are expensive and often the majority of time spent
|
|
345
|
-
when inserting data into QuasarDB, we strongly recommend setting this to ``False``
|
|
346
|
-
for performance-sensitive code.
|
|
347
|
-
|
|
348
|
-
truncate: optional bool
|
|
349
|
-
Truncate (also referred to as upsert) the data in-place. Will detect time range to truncate
|
|
350
|
-
from the time range inside the dataframe.
|
|
351
|
-
|
|
352
|
-
Defaults to False.
|
|
353
|
-
|
|
354
|
-
_async: optional bool
|
|
355
|
-
If true, uses asynchronous insertion API where commits are buffered server-side and
|
|
356
|
-
acknowledged before they are written to disk. If you insert to the same table from
|
|
357
|
-
multiple processes, setting this to True may improve performance.
|
|
358
|
-
|
|
359
|
-
Defaults to False.
|
|
360
|
-
|
|
361
|
-
fast: optional bool
|
|
362
|
-
Whether to use 'fast push'. If you incrementally add small batches of data to table,
|
|
363
|
-
you may see better performance if you set this to True.
|
|
364
|
-
|
|
365
|
-
Defaults to False.
|
|
366
|
-
|
|
328
|
+
The shard size of the timeseries you wish to create when `create` is True.
|
|
367
329
|
"""
|
|
368
330
|
|
|
369
331
|
# If dfs is a dict, we convert it to a list of tuples.
|
|
370
332
|
if isinstance(dfs, dict):
|
|
371
333
|
dfs = dfs.items()
|
|
372
334
|
|
|
335
|
+
if shard_size is not None and create == False:
|
|
336
|
+
raise ValueError("Invalid argument: shard size provided while create is False")
|
|
337
|
+
|
|
373
338
|
# If the tables are provided as strings, we look them up.
|
|
374
339
|
dfs_ = []
|
|
375
340
|
for (table, df) in dfs:
|
|
@@ -378,11 +343,10 @@ def write_dataframes(
|
|
|
378
343
|
|
|
379
344
|
dfs_.append((table, df))
|
|
380
345
|
|
|
381
|
-
|
|
382
346
|
data_by_table = []
|
|
383
347
|
|
|
384
348
|
for table, df in dfs_:
|
|
385
|
-
logger.
|
|
349
|
+
logger.debug("quasardb.pandas.write_dataframe, create = %s", create)
|
|
386
350
|
assert isinstance(df, pd.DataFrame)
|
|
387
351
|
|
|
388
352
|
# Create table if requested
|
|
@@ -409,14 +373,7 @@ def write_dataframes(
|
|
|
409
373
|
return qdbnp.write_arrays(data_by_table, cluster,
|
|
410
374
|
table=None,
|
|
411
375
|
index=None,
|
|
412
|
-
|
|
413
|
-
_async=_async,
|
|
414
|
-
fast=fast,
|
|
415
|
-
truncate=truncate,
|
|
416
|
-
deduplicate=deduplicate,
|
|
417
|
-
deduplication_mode=deduplication_mode,
|
|
418
|
-
infer_types=infer_types,
|
|
419
|
-
writer=writer)
|
|
376
|
+
**kwargs)
|
|
420
377
|
|
|
421
378
|
def write_dataframe(
|
|
422
379
|
df,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# CMAKE generated file: DO NOT EDIT!
|
|
2
|
-
# Generated by "Unix Makefiles" Generator, CMake Version 3.
|
|
2
|
+
# Generated by "Unix Makefiles" Generator, CMake Version 3.30
|
|
3
3
|
|
|
4
4
|
# Relative path conversion top directories.
|
|
5
5
|
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/mnt/TeamCity/work/938b0bdf6727d1ad/thirdparty")
|
quasardb/pybind11/Makefile
CHANGED
|
@@ -37,7 +37,7 @@ if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
|
|
37
37
|
set(CMAKE_CROSSCOMPILING "FALSE")
|
|
38
38
|
endif()
|
|
39
39
|
|
|
40
|
-
# Set
|
|
40
|
+
# Set path to fallback-tool for dependency-resolution.
|
|
41
41
|
if(NOT DEFINED CMAKE_OBJDUMP)
|
|
42
42
|
set(CMAKE_OBJDUMP "/opt/rh/devtoolset-10/root/usr/bin/objdump")
|
|
43
43
|
endif()
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# CMAKE generated file: DO NOT EDIT!
|
|
2
|
-
# Generated by "Unix Makefiles" Generator, CMake Version 3.
|
|
2
|
+
# Generated by "Unix Makefiles" Generator, CMake Version 3.30
|
|
3
3
|
|
|
4
4
|
# Relative path conversion top directories.
|
|
5
5
|
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/mnt/TeamCity/work/938b0bdf6727d1ad/thirdparty")
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
|
|
4
4
|
message(FATAL_ERROR "CMake >= 2.8.0 required")
|
|
5
5
|
endif()
|
|
6
|
-
if(CMAKE_VERSION VERSION_LESS "
|
|
7
|
-
message(FATAL_ERROR "CMake >=
|
|
6
|
+
if(CMAKE_VERSION VERSION_LESS "3.0.0")
|
|
7
|
+
message(FATAL_ERROR "CMake >= 3.0.0 required")
|
|
8
8
|
endif()
|
|
9
9
|
cmake_policy(PUSH)
|
|
10
|
-
cmake_policy(VERSION
|
|
10
|
+
cmake_policy(VERSION 3.0.0...3.28)
|
|
11
11
|
#----------------------------------------------------------------
|
|
12
12
|
# Generated CMake target import file.
|
|
13
13
|
#----------------------------------------------------------------
|
|
@@ -84,10 +84,6 @@ set_target_properties(range-v3 PROPERTIES
|
|
|
84
84
|
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
|
85
85
|
)
|
|
86
86
|
|
|
87
|
-
if(CMAKE_VERSION VERSION_LESS 3.0.0)
|
|
88
|
-
message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
|
|
89
|
-
endif()
|
|
90
|
-
|
|
91
87
|
# Load information for each installed configuration.
|
|
92
88
|
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/range-v3-targets-*.cmake")
|
|
93
89
|
foreach(_cmake_config_file IN LISTS _cmake_config_files)
|
|
@@ -101,9 +97,12 @@ set(_IMPORT_PREFIX)
|
|
|
101
97
|
|
|
102
98
|
# Loop over all imported files and verify that they actually exist
|
|
103
99
|
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
100
|
+
if(CMAKE_VERSION VERSION_LESS "3.28"
|
|
101
|
+
OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
|
|
102
|
+
OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
|
|
103
|
+
foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
|
|
104
|
+
if(NOT EXISTS "${_cmake_file}")
|
|
105
|
+
message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
|
|
107
106
|
\"${_cmake_file}\"
|
|
108
107
|
but this file does not exist. Possible reasons include:
|
|
109
108
|
* The file was deleted, renamed, or moved to another location.
|
|
@@ -112,8 +111,9 @@ but this file does not exist. Possible reasons include:
|
|
|
112
111
|
\"${CMAKE_CURRENT_LIST_FILE}\"
|
|
113
112
|
but not all the files it references.
|
|
114
113
|
")
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
endif()
|
|
115
|
+
endforeach()
|
|
116
|
+
endif()
|
|
117
117
|
unset(_cmake_file)
|
|
118
118
|
unset("_cmake_import_check_files_for_${_cmake_target}")
|
|
119
119
|
endforeach()
|
quasardb/range-v3/Makefile
CHANGED
|
@@ -37,7 +37,7 @@ if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
|
|
37
37
|
set(CMAKE_CROSSCOMPILING "FALSE")
|
|
38
38
|
endif()
|
|
39
39
|
|
|
40
|
-
# Set
|
|
40
|
+
# Set path to fallback-tool for dependency-resolution.
|
|
41
41
|
if(NOT DEFINED CMAKE_OBJDUMP)
|
|
42
42
|
set(CMAKE_OBJDUMP "/opt/rh/devtoolset-10/root/usr/bin/objdump")
|
|
43
43
|
endif()
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
|
|
4
4
|
message(FATAL_ERROR "CMake >= 2.8.0 required")
|
|
5
5
|
endif()
|
|
6
|
-
if(CMAKE_VERSION VERSION_LESS "
|
|
7
|
-
message(FATAL_ERROR "CMake >=
|
|
6
|
+
if(CMAKE_VERSION VERSION_LESS "3.0.0")
|
|
7
|
+
message(FATAL_ERROR "CMake >= 3.0.0 required")
|
|
8
8
|
endif()
|
|
9
9
|
cmake_policy(PUSH)
|
|
10
|
-
cmake_policy(VERSION
|
|
10
|
+
cmake_policy(VERSION 3.0.0...3.28)
|
|
11
11
|
#----------------------------------------------------------------
|
|
12
12
|
# Generated CMake target import file.
|
|
13
13
|
#----------------------------------------------------------------
|
|
@@ -15,10 +15,6 @@ cmake_policy(VERSION 2.8.3...3.26)
|
|
|
15
15
|
# Commands may need to know the format version.
|
|
16
16
|
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
17
17
|
|
|
18
|
-
if(CMAKE_VERSION VERSION_LESS 3.0.0)
|
|
19
|
-
message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
|
|
20
|
-
endif()
|
|
21
|
-
|
|
22
18
|
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
|
23
19
|
set(_cmake_targets_defined "")
|
|
24
20
|
set(_cmake_targets_not_defined "")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: quasardb
|
|
3
|
-
Version: 3.14.2.
|
|
3
|
+
Version: 3.14.2.dev2
|
|
4
4
|
Summary: Python API for quasardb
|
|
5
5
|
Home-page: https://www.quasardb.net/
|
|
6
6
|
Author: quasardb SAS
|
|
@@ -14,22 +14,22 @@ Classifier: Intended Audience :: Information Technology
|
|
|
14
14
|
Classifier: Intended Audience :: Other Audience
|
|
15
15
|
Classifier: Intended Audience :: System Administrators
|
|
16
16
|
Classifier: Intended Audience :: Telecommunications Industry
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.6
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.7
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.8
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.9
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
23
|
Classifier: Topic :: Database
|
|
24
24
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
25
|
Classifier: License :: OSI Approved :: BSD License
|
|
26
26
|
License-File: LICENSE.md
|
|
27
27
|
Requires-Dist: numpy
|
|
28
28
|
Provides-Extra: pandas
|
|
29
|
-
Requires-Dist: pandas
|
|
29
|
+
Requires-Dist: pandas; extra == "pandas"
|
|
30
30
|
Provides-Extra: tests
|
|
31
|
-
Requires-Dist: pytest
|
|
32
|
-
Requires-Dist: pytest-runner
|
|
33
|
-
Requires-Dist: pytest-benchmark
|
|
34
|
-
Requires-Dist: teamcity-messages
|
|
31
|
+
Requires-Dist: pytest; extra == "tests"
|
|
32
|
+
Requires-Dist: pytest-runner; extra == "tests"
|
|
33
|
+
Requires-Dist: pytest-benchmark; extra == "tests"
|
|
34
|
+
Requires-Dist: teamcity-messages; extra == "tests"
|
|
35
35
|
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
quasardb/Makefile,sha256=
|
|
2
|
-
quasardb/__init__.py,sha256=
|
|
3
|
-
quasardb/cmake_install.cmake,sha256=
|
|
1
|
+
quasardb/Makefile,sha256=5-qxImHncGiI7W_7LoRA1dSF1vOjOcO-ZQt7ul_btZY,7786
|
|
2
|
+
quasardb/__init__.py,sha256=bUq3IUkC13rfB4SIGIScDevSJ1jwB3oJbuBZVPfKt1Q,4547
|
|
3
|
+
quasardb/cmake_install.cmake,sha256=cNAW18GBJLoatwJYMNxU5i0W2H3NY5Eku4oBT_7pYLA,1765
|
|
4
4
|
quasardb/firehose.py,sha256=HO0GjCDg3x4cpzVSH3KZ1AJhV8lK2HJyXr9tpfnNSGI,3492
|
|
5
|
-
quasardb/libqdb_api.so,sha256=
|
|
5
|
+
quasardb/libqdb_api.so,sha256=i5AzZ9r1K2DEHtcR2stirw7X2T67H1JnEt2kNEp_yeE,16466680
|
|
6
6
|
quasardb/pool.py,sha256=4IFwot-U8GEHo8h86264uVTWge44bOH_TUkoVy3Hjac,8449
|
|
7
|
-
quasardb/quasardb.cpython-311-aarch64-linux-gnu.so,sha256=
|
|
7
|
+
quasardb/quasardb.cpython-311-aarch64-linux-gnu.so,sha256=pbiZ4k2SfankQem3hTz2RknTXcrNTTxVcDEv0RlaoK0,2437000
|
|
8
8
|
quasardb/stats.py,sha256=DKvurzur-4c5nVPjr29_Stu9mvwCynM5gGnw0gVQlt8,7387
|
|
9
9
|
quasardb/table_cache.py,sha256=RgLOYEcgmlc5fVeOBOyjZImtYKoM1UEdzyzPc8EriQI,1507
|
|
10
|
-
quasardb/CMakeFiles/CMakeDirectoryInformation.cmake,sha256=
|
|
10
|
+
quasardb/CMakeFiles/CMakeDirectoryInformation.cmake,sha256=mndwrriFq9mLSmm_pUIeO7y-aVVwSS4ARsHgB3__-gQ,702
|
|
11
11
|
quasardb/CMakeFiles/progress.marks,sha256=micfKpFrC27mzsskJvCzIG7wdFeL5V2byU9vP-Orhqo,2
|
|
12
|
-
quasardb/date/Makefile,sha256=
|
|
13
|
-
quasardb/date/cmake_install.cmake,sha256=
|
|
12
|
+
quasardb/date/Makefile,sha256=uY5oMt4kifHXdh8clLwCqphiObZ2AddNcle5OMrLy-E,7811
|
|
13
|
+
quasardb/date/cmake_install.cmake,sha256=6Pb3o2sCS2JIf9nB4j9ghC6hnr4S5CR19x7esidSvQQ,3327
|
|
14
14
|
quasardb/date/dateConfigVersion.cmake,sha256=rL5Cp_r_23Yu8HmjowwKIH04sxxMwdBZ7no3tr4cx14,2762
|
|
15
|
-
quasardb/date/dateTargets.cmake,sha256=
|
|
16
|
-
quasardb/date/CMakeFiles/CMakeDirectoryInformation.cmake,sha256=
|
|
15
|
+
quasardb/date/dateTargets.cmake,sha256=15qO3Aj81aERAQ8-05H_SUxytGdU8uDwsNNLIKWuFp0,2791
|
|
16
|
+
quasardb/date/CMakeFiles/CMakeDirectoryInformation.cmake,sha256=mndwrriFq9mLSmm_pUIeO7y-aVVwSS4ARsHgB3__-gQ,702
|
|
17
17
|
quasardb/date/CMakeFiles/progress.marks,sha256=micfKpFrC27mzsskJvCzIG7wdFeL5V2byU9vP-Orhqo,2
|
|
18
|
-
quasardb/date/CMakeFiles/Export/b76006b2b7125baf1b0b4d4ca4db82bd/dateTargets.cmake,sha256=
|
|
18
|
+
quasardb/date/CMakeFiles/Export/b76006b2b7125baf1b0b4d4ca4db82bd/dateTargets.cmake,sha256=SEWmaHam_IIMiAb_PLt6cnzdG8QSUML9UHPMWa22hHQ,4211
|
|
19
19
|
quasardb/extensions/__init__.py,sha256=FUHR0i62qt5NkOXn7eiMZrzWXo9mQNr1xVz3VSCa9QU,112
|
|
20
20
|
quasardb/extensions/writer.py,sha256=ZH6ldQrbH-DimuQTyk3mXS1OyaJIhvCmZTzFtG4hRfY,5735
|
|
21
|
-
quasardb/numpy/__init__.py,sha256=
|
|
22
|
-
quasardb/pandas/__init__.py,sha256=
|
|
23
|
-
quasardb/pybind11/Makefile,sha256
|
|
24
|
-
quasardb/pybind11/cmake_install.cmake,sha256=
|
|
25
|
-
quasardb/pybind11/CMakeFiles/CMakeDirectoryInformation.cmake,sha256=
|
|
21
|
+
quasardb/numpy/__init__.py,sha256=F1gVvEH1ijnm-mG9nd1Co3bNwgO2Y_2RmsmWu3yCsYk,30050
|
|
22
|
+
quasardb/pandas/__init__.py,sha256=lC8Vq1Kw-vtoBjF1HHV1xwrbf4nI1Hq3-KvGedisq90,14944
|
|
23
|
+
quasardb/pybind11/Makefile,sha256=-wkYxChXK1qm77swnzj3HY2EinzjIrEOoAfn9djTerc,7831
|
|
24
|
+
quasardb/pybind11/cmake_install.cmake,sha256=sbucz9_54y8eAg8iqMUtHXpaflvLwgZI47s2s4LBA8Q,1312
|
|
25
|
+
quasardb/pybind11/CMakeFiles/CMakeDirectoryInformation.cmake,sha256=mndwrriFq9mLSmm_pUIeO7y-aVVwSS4ARsHgB3__-gQ,702
|
|
26
26
|
quasardb/pybind11/CMakeFiles/progress.marks,sha256=micfKpFrC27mzsskJvCzIG7wdFeL5V2byU9vP-Orhqo,2
|
|
27
|
-
quasardb/range-v3/Makefile,sha256
|
|
28
|
-
quasardb/range-v3/cmake_install.cmake,sha256=
|
|
27
|
+
quasardb/range-v3/Makefile,sha256=-W2CmuZ1u5fD___vC45O6b3G-q4-mtoGHzqFIYGmB1k,9064
|
|
28
|
+
quasardb/range-v3/cmake_install.cmake,sha256=LnE1Lfv2dliHnQaZlJ4LcEVJtTUEubZ97KFSzzzcFGU,4242
|
|
29
29
|
quasardb/range-v3/range-v3-config-version.cmake,sha256=xGi8nCg5dIl5VmCOtTEVVa-dwABxKxLEd1Mx-bUvLLM,3249
|
|
30
|
-
quasardb/range-v3/range-v3-config.cmake,sha256=
|
|
31
|
-
quasardb/range-v3/CMakeFiles/CMakeDirectoryInformation.cmake,sha256=
|
|
30
|
+
quasardb/range-v3/range-v3-config.cmake,sha256=CvROA_AaZ1oatgnlLa2gEnOYvNtzMXLmjHcUXxuoNio,3384
|
|
31
|
+
quasardb/range-v3/CMakeFiles/CMakeDirectoryInformation.cmake,sha256=mndwrriFq9mLSmm_pUIeO7y-aVVwSS4ARsHgB3__-gQ,702
|
|
32
32
|
quasardb/range-v3/CMakeFiles/progress.marks,sha256=micfKpFrC27mzsskJvCzIG7wdFeL5V2byU9vP-Orhqo,2
|
|
33
|
-
quasardb/range-v3/CMakeFiles/Export/48a02d54b5e9e60c30c5f249b431a911/range-v3-targets.cmake,sha256=
|
|
33
|
+
quasardb/range-v3/CMakeFiles/Export/48a02d54b5e9e60c30c5f249b431a911/range-v3-targets.cmake,sha256=YaSRRarHsiyAi9CBzEAGyLZ4lDnx7IaILNssyS3A3n8,5265
|
|
34
34
|
quasardb/range-v3/CMakeFiles/range.v3.headers.dir/DependInfo.cmake,sha256=ssojOAtcndfwexIOMvsRoVek3vdNgBmUVZscjIj5L1U,585
|
|
35
|
-
quasardb/range-v3/CMakeFiles/range.v3.headers.dir/build.make,sha256=
|
|
35
|
+
quasardb/range-v3/CMakeFiles/range.v3.headers.dir/build.make,sha256=NzhcQyUOEYjZAuKuNznU2_CbNjkr0KQOGCJvznWE3g0,3804
|
|
36
36
|
quasardb/range-v3/CMakeFiles/range.v3.headers.dir/cmake_clean.cmake,sha256=3b0pZoiofoRzAiY1l7OLw203ZXp-mm1FUlQHob6i7aU,160
|
|
37
37
|
quasardb/range-v3/CMakeFiles/range.v3.headers.dir/compiler_depend.make,sha256=Oge9eptzOB-hllw_Tye4o5wiXsIsdq1xm1GGCe0oGFM,126
|
|
38
38
|
quasardb/range-v3/CMakeFiles/range.v3.headers.dir/compiler_depend.ts,sha256=orKrKpvHulgFBjBgzdeRvCpv0fV7cTffTdaHNqijFJg,120
|
|
39
39
|
quasardb/range-v3/CMakeFiles/range.v3.headers.dir/progress.make,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
40
40
|
quasardb/range-v3/include/range/v3/version.hpp,sha256=d-ToEdR3GnC_p_0RAeS77xL-SVx6EKHgTlWJ9PUQlSQ,586
|
|
41
|
-
quasardb-3.14.2.
|
|
42
|
-
quasardb-3.14.2.
|
|
43
|
-
quasardb-3.14.2.
|
|
44
|
-
quasardb-3.14.2.
|
|
45
|
-
quasardb-3.14.2.
|
|
41
|
+
quasardb-3.14.2.dev2.dist-info/LICENSE.md,sha256=_drOadIrIX8mzUZcnTJBTpUQih5gwdRAGK8ZKanYD6k,1467
|
|
42
|
+
quasardb-3.14.2.dev2.dist-info/METADATA,sha256=VYfUewl7wVQC3z_nlU3E0y7pOP2oU8d16txeinEahhY,1418
|
|
43
|
+
quasardb-3.14.2.dev2.dist-info/WHEEL,sha256=GG4OgPmr4wzR6DR9C05yHdxygRJRIpYkqGoQ5EARuwg,154
|
|
44
|
+
quasardb-3.14.2.dev2.dist-info/top_level.txt,sha256=wlprix4hCywuF1PkgKWYdZeJKq_kgJOqkAvukm_sZQ8,9
|
|
45
|
+
quasardb-3.14.2.dev2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|