quasardb 3.14.2.dev6__cp312-cp312-macosx_15_0_x86_64.whl → 3.14.2.dev7__cp312-cp312-macosx_15_0_x86_64.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.

Files changed (49) hide show
  1. quasardb/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
  2. quasardb/Makefile +11 -11
  3. quasardb/__init__.py +8 -5
  4. quasardb/__init__.pyi +72 -0
  5. quasardb/date/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
  6. quasardb/date/CMakeFiles/Export/a52b05f964b070ee926bcad51d3288af/dateTargets.cmake +1 -1
  7. quasardb/date/Makefile +11 -11
  8. quasardb/date/dateTargets.cmake +1 -1
  9. quasardb/libqdb_api.dylib +0 -0
  10. quasardb/numpy/__init__.py +22 -12
  11. quasardb/pandas/__init__.py +52 -20
  12. quasardb/pool.py +6 -0
  13. quasardb/pybind11/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
  14. quasardb/pybind11/Makefile +11 -11
  15. quasardb/quasardb/__init__.pyi +97 -0
  16. quasardb/quasardb/_batch_column.pyi +5 -0
  17. quasardb/quasardb/_batch_inserter.pyi +30 -0
  18. quasardb/quasardb/_blob.pyi +16 -0
  19. quasardb/quasardb/_cluster.pyi +100 -0
  20. quasardb/quasardb/_continuous.pyi +16 -0
  21. quasardb/quasardb/_double.pyi +7 -0
  22. quasardb/quasardb/_entry.pyi +60 -0
  23. quasardb/quasardb/_error.pyi +15 -0
  24. quasardb/quasardb/_integer.pyi +7 -0
  25. quasardb/quasardb/_node.pyi +26 -0
  26. quasardb/quasardb/_options.pyi +105 -0
  27. quasardb/quasardb/_perf.pyi +5 -0
  28. quasardb/quasardb/_properties.pyi +5 -0
  29. quasardb/quasardb/_query.pyi +2 -0
  30. quasardb/quasardb/_reader.pyi +9 -0
  31. quasardb/quasardb/_retry.pyi +16 -0
  32. quasardb/quasardb/_string.pyi +12 -0
  33. quasardb/quasardb/_table.pyi +125 -0
  34. quasardb/quasardb/_tag.pyi +5 -0
  35. quasardb/quasardb/_timestamp.pyi +9 -0
  36. quasardb/quasardb/_writer.pyi +111 -0
  37. quasardb/quasardb/metrics/__init__.pyi +20 -0
  38. quasardb/quasardb.cpython-312-darwin.so +0 -0
  39. quasardb/range-v3/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
  40. quasardb/range-v3/CMakeFiles/Export/d94ef200eca10a819b5858b33e808f5b/range-v3-targets.cmake +1 -1
  41. quasardb/range-v3/CMakeFiles/range.v3.headers.dir/build.make +3 -3
  42. quasardb/range-v3/Makefile +11 -11
  43. quasardb/range-v3/range-v3-config.cmake +1 -1
  44. {quasardb-3.14.2.dev6.dist-info → quasardb-3.14.2.dev7.dist-info}/METADATA +1 -1
  45. quasardb-3.14.2.dev7.dist-info/RECORD +69 -0
  46. {quasardb-3.14.2.dev6.dist-info → quasardb-3.14.2.dev7.dist-info}/WHEEL +1 -1
  47. quasardb-3.14.2.dev6.dist-info/RECORD +0 -45
  48. {quasardb-3.14.2.dev6.dist-info → quasardb-3.14.2.dev7.dist-info}/licenses/LICENSE.md +0 -0
  49. {quasardb-3.14.2.dev6.dist-info → quasardb-3.14.2.dev7.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 4.0
2
+ # Generated by "Unix Makefiles" Generator, CMake Version 4.1
3
3
 
4
4
  # Relative path conversion top directories.
5
5
  set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Users/teamcity/buildAgent/work/938b0bdf6727d1ad/thirdparty")
quasardb/Makefile CHANGED
@@ -1,5 +1,5 @@
1
1
  # CMAKE generated file: DO NOT EDIT!
2
- # Generated by "Unix Makefiles" Generator, CMake Version 4.0
2
+ # Generated by "Unix Makefiles" Generator, CMake Version 4.1
3
3
 
4
4
  # Default target executed when no arguments are given to make.
5
5
  default_target: all
@@ -48,10 +48,10 @@ cmake_force:
48
48
  SHELL = /bin/sh
49
49
 
50
50
  # The CMake executable.
51
- CMAKE_COMMAND = /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake
51
+ CMAKE_COMMAND = /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake
52
52
 
53
53
  # The command to remove a file.
54
- RM = /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -E rm -f
54
+ RM = /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -E rm -f
55
55
 
56
56
  # Escaping for special characters.
57
57
  EQUALS = =
@@ -68,7 +68,7 @@ CMAKE_BINARY_DIR = /Users/teamcity/buildAgent/work/938b0bdf6727d1ad/build/temp.m
68
68
  # Special rule for the target edit_cache
69
69
  edit_cache:
70
70
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
71
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
71
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
72
72
  .PHONY : edit_cache
73
73
 
74
74
  # Special rule for the target edit_cache
@@ -78,7 +78,7 @@ edit_cache/fast: edit_cache
78
78
  # Special rule for the target rebuild_cache
79
79
  rebuild_cache:
80
80
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
81
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
81
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
82
82
  .PHONY : rebuild_cache
83
83
 
84
84
  # Special rule for the target rebuild_cache
@@ -97,37 +97,37 @@ list_install_components/fast: list_install_components
97
97
  # Special rule for the target install
98
98
  install: preinstall
99
99
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
100
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
100
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
101
101
  .PHONY : install
102
102
 
103
103
  # Special rule for the target install
104
104
  install/fast: preinstall/fast
105
105
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
106
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
106
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
107
107
  .PHONY : install/fast
108
108
 
109
109
  # Special rule for the target install/local
110
110
  install/local: preinstall
111
111
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
112
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
112
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
113
113
  .PHONY : install/local
114
114
 
115
115
  # Special rule for the target install/local
116
116
  install/local/fast: preinstall/fast
117
117
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
118
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
118
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
119
119
  .PHONY : install/local/fast
120
120
 
121
121
  # Special rule for the target install/strip
122
122
  install/strip: preinstall
123
123
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
124
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
124
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
125
125
  .PHONY : install/strip
126
126
 
127
127
  # Special rule for the target install/strip
128
128
  install/strip/fast: preinstall/fast
129
129
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
130
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
130
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
131
131
  .PHONY : install/strip/fast
132
132
 
133
133
  # The main all target
quasardb/__init__.py CHANGED
@@ -36,7 +36,10 @@
36
36
  """
37
37
 
38
38
 
39
- def generic_error_msg(msg, e=None):
39
+ from typing import List, Optional
40
+
41
+
42
+ def generic_error_msg(msg: List[str], e: Optional[BaseException] = None) -> str:
40
43
  msg_str = "\n".join(msg)
41
44
 
42
45
  if e is None:
@@ -47,7 +50,7 @@ def generic_error_msg(msg, e=None):
47
50
 
48
51
  **************************************************************************
49
52
  """.format(
50
- msg_str, type(e), str(e)
53
+ msg_str
51
54
  )
52
55
  else:
53
56
  return """
@@ -68,7 +71,7 @@ Original exception:
68
71
  )
69
72
 
70
73
 
71
- def link_error_msg(e):
74
+ def link_error_msg(e: BaseException) -> str:
72
75
  msg = [
73
76
  "QuasarDB was unable to find all expected symbols in the compiled library.",
74
77
  "This is usually caused by running an incorrect version of the QuasarDB C",
@@ -82,7 +85,7 @@ def link_error_msg(e):
82
85
  return generic_error_msg(msg, e)
83
86
 
84
87
 
85
- def glibc_error_msg(e):
88
+ def glibc_error_msg(e: BaseException) -> str:
86
89
  msg = [
87
90
  "QuasarDB was unable to find the expected GLIBC version on this machine.",
88
91
  "This is usually caused by compiling the Python API on a different machine "
@@ -99,7 +102,7 @@ def glibc_error_msg(e):
99
102
  return generic_error_msg(msg, e)
100
103
 
101
104
 
102
- def unknown_error_msg():
105
+ def unknown_error_msg() -> str:
103
106
  msg = [
104
107
  "Unable to import quasardb module: unknown error. ",
105
108
  "",
quasardb/__init__.pyi ADDED
@@ -0,0 +1,72 @@
1
+ """
2
+
3
+ .. module: quasardb
4
+ :platform: Unix, Windows
5
+ :synopsis: quasardb official Python API
6
+
7
+ .. moduleauthor: quasardb SAS. All rights reserved
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ from quasardb.quasardb import (
13
+ AliasAlreadyExistsError,
14
+ AliasNotFoundError,
15
+ AsyncPipelineFullError,
16
+ BatchColumnInfo,
17
+ Cluster,
18
+ ColumnInfo,
19
+ ColumnType,
20
+ Error,
21
+ IncompatibleTypeError,
22
+ IndexedColumnInfo,
23
+ InputBufferTooSmallError,
24
+ InternalLocalError,
25
+ InvalidArgumentError,
26
+ InvalidDatetimeError,
27
+ InvalidHandleError,
28
+ InvalidQueryError,
29
+ Node,
30
+ NotImplementedError,
31
+ OutOfBoundsError,
32
+ RetryOptions,
33
+ TryAgainError,
34
+ UninitializedError,
35
+ WriterData,
36
+ WriterPushMode,
37
+ build,
38
+ metrics,
39
+ never_expires,
40
+ version,
41
+ )
42
+
43
+ __all__ = [
44
+ "AliasAlreadyExistsError",
45
+ "AliasNotFoundError",
46
+ "AsyncPipelineFullError",
47
+ "BatchColumnInfo",
48
+ "Cluster",
49
+ "ColumnInfo",
50
+ "ColumnType",
51
+ "Error",
52
+ "IncompatibleTypeError",
53
+ "IndexedColumnInfo",
54
+ "InputBufferTooSmallError",
55
+ "InternalLocalError",
56
+ "InvalidArgumentError",
57
+ "InvalidDatetimeError",
58
+ "InvalidHandleError",
59
+ "InvalidQueryError",
60
+ "Node",
61
+ "NotImplementedError",
62
+ "OutOfBoundsError",
63
+ "RetryOptions",
64
+ "TryAgainError",
65
+ "UninitializedError",
66
+ "WriterData",
67
+ "WriterPushMode",
68
+ "build",
69
+ "metrics",
70
+ "never_expires",
71
+ "version",
72
+ ]
@@ -1,5 +1,5 @@
1
1
  # CMAKE generated file: DO NOT EDIT!
2
- # Generated by "Unix Makefiles" Generator, CMake Version 4.0
2
+ # Generated by "Unix Makefiles" Generator, CMake Version 4.1
3
3
 
4
4
  # Relative path conversion top directories.
5
5
  set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Users/teamcity/buildAgent/work/938b0bdf6727d1ad/thirdparty")
@@ -7,7 +7,7 @@ if(CMAKE_VERSION VERSION_LESS "3.1.0")
7
7
  message(FATAL_ERROR "CMake >= 3.1.0 required")
8
8
  endif()
9
9
  cmake_policy(PUSH)
10
- cmake_policy(VERSION 3.1.0...3.30)
10
+ cmake_policy(VERSION 3.1.0...3.31)
11
11
  #----------------------------------------------------------------
12
12
  # Generated CMake target import file.
13
13
  #----------------------------------------------------------------
quasardb/date/Makefile CHANGED
@@ -1,5 +1,5 @@
1
1
  # CMAKE generated file: DO NOT EDIT!
2
- # Generated by "Unix Makefiles" Generator, CMake Version 4.0
2
+ # Generated by "Unix Makefiles" Generator, CMake Version 4.1
3
3
 
4
4
  # Default target executed when no arguments are given to make.
5
5
  default_target: all
@@ -48,10 +48,10 @@ cmake_force:
48
48
  SHELL = /bin/sh
49
49
 
50
50
  # The CMake executable.
51
- CMAKE_COMMAND = /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake
51
+ CMAKE_COMMAND = /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake
52
52
 
53
53
  # The command to remove a file.
54
- RM = /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -E rm -f
54
+ RM = /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -E rm -f
55
55
 
56
56
  # Escaping for special characters.
57
57
  EQUALS = =
@@ -68,7 +68,7 @@ CMAKE_BINARY_DIR = /Users/teamcity/buildAgent/work/938b0bdf6727d1ad/build/temp.m
68
68
  # Special rule for the target edit_cache
69
69
  edit_cache:
70
70
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
71
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
71
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
72
72
  .PHONY : edit_cache
73
73
 
74
74
  # Special rule for the target edit_cache
@@ -78,7 +78,7 @@ edit_cache/fast: edit_cache
78
78
  # Special rule for the target rebuild_cache
79
79
  rebuild_cache:
80
80
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
81
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
81
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
82
82
  .PHONY : rebuild_cache
83
83
 
84
84
  # Special rule for the target rebuild_cache
@@ -97,37 +97,37 @@ list_install_components/fast: list_install_components
97
97
  # Special rule for the target install
98
98
  install: preinstall
99
99
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
100
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
100
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
101
101
  .PHONY : install
102
102
 
103
103
  # Special rule for the target install
104
104
  install/fast: preinstall/fast
105
105
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
106
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
106
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
107
107
  .PHONY : install/fast
108
108
 
109
109
  # Special rule for the target install/local
110
110
  install/local: preinstall
111
111
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
112
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
112
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
113
113
  .PHONY : install/local
114
114
 
115
115
  # Special rule for the target install/local
116
116
  install/local/fast: preinstall/fast
117
117
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
118
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
118
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
119
119
  .PHONY : install/local/fast
120
120
 
121
121
  # Special rule for the target install/strip
122
122
  install/strip: preinstall
123
123
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
124
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
124
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
125
125
  .PHONY : install/strip
126
126
 
127
127
  # Special rule for the target install/strip
128
128
  install/strip/fast: preinstall/fast
129
129
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
130
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
130
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
131
131
  .PHONY : install/strip/fast
132
132
 
133
133
  # The main all target
@@ -7,7 +7,7 @@ if(CMAKE_VERSION VERSION_LESS "3.0.0")
7
7
  message(FATAL_ERROR "CMake >= 3.0.0 required")
8
8
  endif()
9
9
  cmake_policy(PUSH)
10
- cmake_policy(VERSION 3.0.0...3.30)
10
+ cmake_policy(VERSION 3.0.0...3.31)
11
11
  #----------------------------------------------------------------
12
12
  # Generated CMake target import file.
13
13
  #----------------------------------------------------------------
quasardb/libqdb_api.dylib CHANGED
Binary file
@@ -30,6 +30,8 @@
30
30
  import logging
31
31
  import time
32
32
  import warnings
33
+ from typing import Dict, List, Optional, Tuple, Union
34
+ from numpy.typing import DTypeLike
33
35
 
34
36
  import quasardb
35
37
  import quasardb.table_cache as table_cache
@@ -62,14 +64,14 @@ class IncompatibleDtypeError(TypeError):
62
64
  Exception raised when a provided dtype is not the expected dtype.
63
65
  """
64
66
 
65
- def __init__(self, cname=None, ctype=None, expected=None, provided=None):
67
+ def __init__(self, cname=None, ctype=None, expected=None, provided=None) -> None:
66
68
  self.cname = cname
67
69
  self.ctype = ctype
68
70
  self.expected = expected
69
71
  self.provided = provided
70
72
  super().__init__(self.msg())
71
73
 
72
- def msg(self):
74
+ def msg(self) -> str:
73
75
  return "Data for column '{}' with type '{}' was provided in dtype '{}' but need '{}'.".format(
74
76
  self.cname, self.ctype, self.provided, self.expected
75
77
  )
@@ -80,11 +82,11 @@ class IncompatibleDtypeErrors(TypeError):
80
82
  Wraps multiple dtype errors
81
83
  """
82
84
 
83
- def __init__(self, xs):
85
+ def __init__(self, xs) -> None:
84
86
  self.xs = xs
85
87
  super().__init__(self.msg())
86
88
 
87
- def msg(self):
89
+ def msg(self) -> str:
88
90
  return "\n".join(x.msg() for x in self.xs)
89
91
 
90
92
 
@@ -93,12 +95,12 @@ class InvalidDataCardinalityError(ValueError):
93
95
  Raised when the provided data arrays doesn't match the table's columns.
94
96
  """
95
97
 
96
- def __init__(self, data, cinfos):
98
+ def __init__(self, data, cinfos) -> None:
97
99
  self.data = data
98
100
  self.cinfos = cinfos
99
101
  super().__init__(self.msg())
100
102
 
101
- def msg(self):
103
+ def msg(self) -> str:
102
104
  return "Provided data array length '{}' exceeds amount of table columns '{}', unable to map data to columns".format(
103
105
  len(self.data), len(self.cinfos)
104
106
  )
@@ -117,7 +119,7 @@ _ctype_to_dtype = {
117
119
  }
118
120
 
119
121
 
120
- def _best_dtype_for_ctype(ctype: quasardb.quasardb.ColumnType):
122
+ def _best_dtype_for_ctype(ctype: quasardb.ColumnType):
121
123
  """
122
124
  Returns the 'best' DType for a certain column type. For example, for blobs, even
123
125
  though we accept py::bytes, prefer bytestrings (as they are faster to read in c++).
@@ -129,7 +131,10 @@ def _best_dtype_for_ctype(ctype: quasardb.quasardb.ColumnType):
129
131
  return possible_dtypes[0]
130
132
 
131
133
 
132
- def _coerce_dtype(dtype, columns):
134
+ def _coerce_dtype(
135
+ dtype: Union[DTypeLike, Dict[str, DTypeLike], List[DTypeLike]],
136
+ columns: List[Tuple[str, quasardb.ColumnInfo]],
137
+ ) -> List[DTypeLike]:
133
138
  if dtype is None:
134
139
  dtype = [None] * len(columns)
135
140
 
@@ -137,11 +142,10 @@ def _coerce_dtype(dtype, columns):
137
142
  dtype = [dtype]
138
143
 
139
144
  if type(dtype) is dict:
140
-
141
145
  # Conveniently look up column index by label
142
146
  offsets = {}
143
147
  for i in range(len(columns)):
144
- (cname, ctype) = columns[i]
148
+ (cname, _) = columns[i]
145
149
  offsets[cname] = i
146
150
 
147
151
  # Now convert the provided dtype dict to a list that matches
@@ -152,7 +156,7 @@ def _coerce_dtype(dtype, columns):
152
156
 
153
157
  for k, dt in dtype.items():
154
158
  if not k in offsets:
155
- logger.warn(
159
+ logger.warning(
156
160
  "Forced dtype provided for column '%s' = %s, but that column is not found in the table. Skipping...",
157
161
  k,
158
162
  )
@@ -179,7 +183,9 @@ def _coerce_dtype(dtype, columns):
179
183
  return dtype
180
184
 
181
185
 
182
- def _add_desired_dtypes(dtype, columns):
186
+ def _add_desired_dtypes(
187
+ dtype: List[DTypeLike], columns: List[Tuple[str, quasardb.ColumnInfo]]
188
+ ) -> List[DTypeLike]:
183
189
  """
184
190
  When infer_types=True, this function sets the 'desired' dtype for each of the columns.
185
191
  `dtype` is expected to be the output of `_coerce_dtype`, that is, a list-like with an
@@ -453,6 +459,10 @@ def _ensure_list(xs, cinfos):
453
459
  # of the array.
454
460
  n = _probe_length(xs)
455
461
 
462
+ if n is None:
463
+ logger.error("Unable to probe length: provided arrays: %s", xs)
464
+ raise ValueError("Unable to probe array length: all provided arrays None?")
465
+
456
466
  ret = list()
457
467
 
458
468
  for i in range(len(cinfos)):
@@ -28,6 +28,7 @@
28
28
  #
29
29
 
30
30
  import logging
31
+ import warnings
31
32
  from datetime import datetime
32
33
  from functools import partial
33
34
 
@@ -175,35 +176,56 @@ def write_series(series, table, col_name, infer_types=True, dtype=None):
175
176
  )
176
177
 
177
178
 
178
- def query(cluster: quasardb.Cluster, query, index=None, blobs=False, numpy=True):
179
+ def query(
180
+ cluster: quasardb.Cluster,
181
+ query: str,
182
+ index: str = None,
183
+ blobs: bool = False,
184
+ numpy: bool = True,
185
+ ):
179
186
  """
180
- Execute a query and return the results as DataFrames. Returns a dict of
181
- tablename / DataFrame pairs.
182
-
183
- Parameters:
184
- -----------
187
+ Execute *query* and return the result as a pandas DataFrame.
185
188
 
189
+ Parameters
190
+ ----------
186
191
  cluster : quasardb.Cluster
187
- Active connection to the QuasarDB cluster
192
+ Active connection to the QuasarDB cluster.
188
193
 
189
194
  query : str
190
- The query to execute.
191
-
192
- blobs : bool or list
193
- Determines which QuasarDB blob-columns should be returned as bytearrays; otherwise
194
- they are returned as UTF-8 strings.
195
+ The query to execute.
195
196
 
196
- True means every blob column should be returned as byte-array, or a list will
197
- specify which specific columns. Defaults to false, meaning all blobs are returned
198
- as strings.
197
+ index : str | None, default None
198
+ Column to use as index. When None a synthetic index is created and
199
+ named “$index”.
199
200
 
201
+ blobs, numpy
202
+ DEPRECATED – no longer used. Supplying a non-default value raises a
203
+ DeprecationWarning and the argument is ignored.
200
204
  """
205
+ # ------------------------------------------------------------------ deprecations
206
+ if blobs is not False:
207
+ warnings.warn(
208
+ "`blobs` is deprecated and will be removed in a future version; "
209
+ "the argument is ignored.",
210
+ DeprecationWarning,
211
+ stacklevel=2,
212
+ )
213
+ if numpy is not True:
214
+ warnings.warn(
215
+ "`numpy` is deprecated and will be removed in a future version; "
216
+ "the argument is ignored.",
217
+ DeprecationWarning,
218
+ stacklevel=2,
219
+ )
220
+ # ------------------------------------------------------------------------------
221
+
201
222
  logger.debug("querying and returning as DataFrame: %s", query)
202
- (index, m) = qdbnp.query(cluster, query, index=index, dict=True)
203
- df = pd.DataFrame(m)
223
+ index_vals, m = qdbnp.query(cluster, query, index=index, dict=True)
204
224
 
205
- df.set_index(index, inplace=True)
206
- return df
225
+ index_name = "$index" if index is None else index
226
+ index_obj = pd.Index(index_vals, name=index_name)
227
+
228
+ return pd.DataFrame(m, index=index_obj)
207
229
 
208
230
 
209
231
  def stream_dataframes(
@@ -327,7 +349,17 @@ def read_dataframe(conn: quasardb.Cluster, table, **kwargs):
327
349
  # dataframes.
328
350
  dfs = stream_dataframe(conn, table, **kwargs)
329
351
 
330
- return pd.concat(dfs)
352
+ # if result of stream_dataframe is empty this could result in ValueError on pd.concat()
353
+ # as stream_dataframe is a generator there is no easy way to check for this condition without evaluation
354
+ # the most simple way is to catch the ValueError and return an empty DataFrame
355
+ try:
356
+ return pd.concat(dfs, copy=False)
357
+ except ValueError as e:
358
+ logger.error(
359
+ "Error while concatenating dataframes. This can happen if result set is empty. Returning empty dataframe. Error: %s",
360
+ e,
361
+ )
362
+ return pd.DataFrame()
331
363
 
332
364
 
333
365
  def _extract_columns(df, cinfos):
quasardb/pool.py CHANGED
@@ -118,6 +118,9 @@ class Pool(object):
118
118
  logger.debug("closing connection {}".format(conn))
119
119
  conn.close()
120
120
 
121
+ def _do_connect(self):
122
+ raise NotImplementedError
123
+
121
124
  def connect(self) -> quasardb.Cluster:
122
125
  """
123
126
  Acquire a new connection from the pool. Returned connection must either
@@ -131,6 +134,9 @@ class Pool(object):
131
134
  logger.info("Acquiring connection from pool")
132
135
  return self._do_connect()
133
136
 
137
+ def _do_release(self):
138
+ raise NotImplementedError
139
+
134
140
  def release(self, conn: quasardb.Cluster):
135
141
  """
136
142
  Put a connection back into the pool
@@ -1,5 +1,5 @@
1
1
  # CMAKE generated file: DO NOT EDIT!
2
- # Generated by "Unix Makefiles" Generator, CMake Version 4.0
2
+ # Generated by "Unix Makefiles" Generator, CMake Version 4.1
3
3
 
4
4
  # Relative path conversion top directories.
5
5
  set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Users/teamcity/buildAgent/work/938b0bdf6727d1ad/thirdparty")
@@ -1,5 +1,5 @@
1
1
  # CMAKE generated file: DO NOT EDIT!
2
- # Generated by "Unix Makefiles" Generator, CMake Version 4.0
2
+ # Generated by "Unix Makefiles" Generator, CMake Version 4.1
3
3
 
4
4
  # Default target executed when no arguments are given to make.
5
5
  default_target: all
@@ -48,10 +48,10 @@ cmake_force:
48
48
  SHELL = /bin/sh
49
49
 
50
50
  # The CMake executable.
51
- CMAKE_COMMAND = /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake
51
+ CMAKE_COMMAND = /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake
52
52
 
53
53
  # The command to remove a file.
54
- RM = /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -E rm -f
54
+ RM = /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -E rm -f
55
55
 
56
56
  # Escaping for special characters.
57
57
  EQUALS = =
@@ -68,7 +68,7 @@ CMAKE_BINARY_DIR = /Users/teamcity/buildAgent/work/938b0bdf6727d1ad/build/temp.m
68
68
  # Special rule for the target edit_cache
69
69
  edit_cache:
70
70
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
71
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
71
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
72
72
  .PHONY : edit_cache
73
73
 
74
74
  # Special rule for the target edit_cache
@@ -78,7 +78,7 @@ edit_cache/fast: edit_cache
78
78
  # Special rule for the target rebuild_cache
79
79
  rebuild_cache:
80
80
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
81
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
81
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
82
82
  .PHONY : rebuild_cache
83
83
 
84
84
  # Special rule for the target rebuild_cache
@@ -97,37 +97,37 @@ list_install_components/fast: list_install_components
97
97
  # Special rule for the target install
98
98
  install: preinstall
99
99
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
100
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
100
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
101
101
  .PHONY : install
102
102
 
103
103
  # Special rule for the target install
104
104
  install/fast: preinstall/fast
105
105
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
106
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
106
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -P cmake_install.cmake
107
107
  .PHONY : install/fast
108
108
 
109
109
  # Special rule for the target install/local
110
110
  install/local: preinstall
111
111
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
112
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
112
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
113
113
  .PHONY : install/local
114
114
 
115
115
  # Special rule for the target install/local
116
116
  install/local/fast: preinstall/fast
117
117
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
118
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
118
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
119
119
  .PHONY : install/local/fast
120
120
 
121
121
  # Special rule for the target install/strip
122
122
  install/strip: preinstall
123
123
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
124
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
124
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
125
125
  .PHONY : install/strip
126
126
 
127
127
  # Special rule for the target install/strip
128
128
  install/strip/fast: preinstall/fast
129
129
  @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
130
- /Users/teamcity/buildAgent/temp/buildTmp/build-env-eps9ell3/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
130
+ /Users/teamcity/buildAgent/temp/buildTmp/build-env-2o_n8sw6/lib/python3.12/site-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
131
131
  .PHONY : install/strip/fast
132
132
 
133
133
  # The main all target