quasardb 3.14.2.dev6__cp311-cp311-macosx_11_0_arm64.whl → 3.14.2.dev7__cp311-cp311-macosx_11_0_arm64.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 +11 -11
- quasardb/__init__.py +8 -5
- quasardb/__init__.pyi +72 -0
- quasardb/date/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
- quasardb/date/CMakeFiles/Export/a52b05f964b070ee926bcad51d3288af/dateTargets.cmake +1 -1
- quasardb/date/Makefile +11 -11
- quasardb/date/dateTargets.cmake +1 -1
- quasardb/libqdb_api.dylib +0 -0
- quasardb/numpy/__init__.py +22 -12
- quasardb/pandas/__init__.py +52 -20
- quasardb/pool.py +6 -0
- quasardb/pybind11/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
- quasardb/pybind11/Makefile +11 -11
- quasardb/quasardb/__init__.pyi +97 -0
- quasardb/quasardb/_batch_column.pyi +5 -0
- quasardb/quasardb/_batch_inserter.pyi +30 -0
- quasardb/quasardb/_blob.pyi +16 -0
- quasardb/quasardb/_cluster.pyi +100 -0
- quasardb/quasardb/_continuous.pyi +16 -0
- quasardb/quasardb/_double.pyi +7 -0
- quasardb/quasardb/_entry.pyi +60 -0
- quasardb/quasardb/_error.pyi +15 -0
- quasardb/quasardb/_integer.pyi +7 -0
- quasardb/quasardb/_node.pyi +26 -0
- quasardb/quasardb/_options.pyi +105 -0
- quasardb/quasardb/_perf.pyi +5 -0
- quasardb/quasardb/_properties.pyi +5 -0
- quasardb/quasardb/_query.pyi +2 -0
- quasardb/quasardb/_reader.pyi +9 -0
- quasardb/quasardb/_retry.pyi +16 -0
- quasardb/quasardb/_string.pyi +12 -0
- quasardb/quasardb/_table.pyi +125 -0
- quasardb/quasardb/_tag.pyi +5 -0
- quasardb/quasardb/_timestamp.pyi +9 -0
- quasardb/quasardb/_writer.pyi +111 -0
- quasardb/quasardb/metrics/__init__.pyi +20 -0
- quasardb/quasardb.cpython-311-darwin.so +0 -0
- quasardb/range-v3/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
- quasardb/range-v3/CMakeFiles/Export/d94ef200eca10a819b5858b33e808f5b/range-v3-targets.cmake +1 -1
- quasardb/range-v3/CMakeFiles/range.v3.headers.dir/build.make +3 -3
- quasardb/range-v3/Makefile +11 -11
- quasardb/range-v3/range-v3-config.cmake +1 -1
- {quasardb-3.14.2.dev6.dist-info → quasardb-3.14.2.dev7.dist-info}/METADATA +1 -1
- quasardb-3.14.2.dev7.dist-info/RECORD +69 -0
- {quasardb-3.14.2.dev6.dist-info → quasardb-3.14.2.dev7.dist-info}/WHEEL +1 -1
- quasardb-3.14.2.dev6.dist-info/RECORD +0 -45
- {quasardb-3.14.2.dev6.dist-info → quasardb-3.14.2.dev7.dist-info}/licenses/LICENSE.md +0 -0
- {quasardb-3.14.2.dev6.dist-info → quasardb-3.14.2.dev7.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
from . import metrics
|
|
4
|
+
from ._batch_column import BatchColumnInfo
|
|
5
|
+
from ._batch_inserter import TimeSeriesBatch
|
|
6
|
+
from ._blob import Blob
|
|
7
|
+
from ._cluster import Cluster
|
|
8
|
+
from ._continuous import QueryContinuous
|
|
9
|
+
from ._double import Double
|
|
10
|
+
from ._entry import Entry, ExpirableEntry
|
|
11
|
+
from ._error import (
|
|
12
|
+
AliasAlreadyExistsError,
|
|
13
|
+
AliasNotFoundError,
|
|
14
|
+
AsyncPipelineFullError,
|
|
15
|
+
Error,
|
|
16
|
+
IncompatibleTypeError,
|
|
17
|
+
InputBufferTooSmallError,
|
|
18
|
+
InternalLocalError,
|
|
19
|
+
InvalidArgumentError,
|
|
20
|
+
InvalidDatetimeError,
|
|
21
|
+
InvalidHandleError,
|
|
22
|
+
InvalidQueryError,
|
|
23
|
+
NotImplementedError,
|
|
24
|
+
OutOfBoundsError,
|
|
25
|
+
TryAgainError,
|
|
26
|
+
UninitializedError,
|
|
27
|
+
)
|
|
28
|
+
from ._integer import Integer
|
|
29
|
+
from ._node import DirectBlob, DirectInteger, Node
|
|
30
|
+
from ._options import Options
|
|
31
|
+
from ._perf import Perf
|
|
32
|
+
from ._query import FindQuery
|
|
33
|
+
from ._reader import Reader
|
|
34
|
+
from ._retry import RetryOptions
|
|
35
|
+
from ._string import String
|
|
36
|
+
from ._table import ColumnInfo, ColumnType, IndexedColumnInfo, Table
|
|
37
|
+
from ._tag import Tag
|
|
38
|
+
from ._timestamp import Timestamp
|
|
39
|
+
from ._writer import Writer, WriterData, WriterPushMode
|
|
40
|
+
|
|
41
|
+
__all__ = [
|
|
42
|
+
"BatchColumnInfo",
|
|
43
|
+
"TimeSeriesBatch",
|
|
44
|
+
"Blob",
|
|
45
|
+
"Cluster",
|
|
46
|
+
"QueryContinuous",
|
|
47
|
+
"Double",
|
|
48
|
+
"Entry",
|
|
49
|
+
"ExpirableEntry",
|
|
50
|
+
"Error",
|
|
51
|
+
"AliasAlreadyExistsError",
|
|
52
|
+
"AliasNotFoundError",
|
|
53
|
+
"AsyncPipelineFullError",
|
|
54
|
+
"IncompatibleTypeError",
|
|
55
|
+
"InputBufferTooSmallError",
|
|
56
|
+
"InternalLocalError",
|
|
57
|
+
"InvalidArgumentError",
|
|
58
|
+
"InvalidDatetimeError",
|
|
59
|
+
"InvalidHandleError",
|
|
60
|
+
"InvalidQueryError",
|
|
61
|
+
"NotImplementedError",
|
|
62
|
+
"OutOfBoundsError",
|
|
63
|
+
"TryAgainError",
|
|
64
|
+
"UninitializedError",
|
|
65
|
+
"Integer",
|
|
66
|
+
"DirectBlob",
|
|
67
|
+
"DirectInteger",
|
|
68
|
+
"Node",
|
|
69
|
+
"Options",
|
|
70
|
+
"Perf",
|
|
71
|
+
"FindQuery",
|
|
72
|
+
"Reader",
|
|
73
|
+
"RetryOptions",
|
|
74
|
+
"String",
|
|
75
|
+
"ColumnInfo",
|
|
76
|
+
"ColumnType",
|
|
77
|
+
"IndexedColumnInfo",
|
|
78
|
+
"Table",
|
|
79
|
+
"Tag",
|
|
80
|
+
"Timestamp",
|
|
81
|
+
"Writer",
|
|
82
|
+
"WriterData",
|
|
83
|
+
"WriterPushMode",
|
|
84
|
+
"metrics",
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
never_expires: datetime.datetime = ...
|
|
88
|
+
|
|
89
|
+
def build() -> str:
|
|
90
|
+
"""
|
|
91
|
+
Return build number
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
def version() -> str:
|
|
95
|
+
"""
|
|
96
|
+
Return version number
|
|
97
|
+
"""
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
class TimeSeriesBatch:
|
|
2
|
+
def push(self) -> None:
|
|
3
|
+
"""
|
|
4
|
+
Regular batch push
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
def push_async(self) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Asynchronous batch push that buffers data inside the QuasarDB daemon
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
def push_fast(self) -> None:
|
|
13
|
+
"""
|
|
14
|
+
Fast, in-place batch push that is efficient when doing lots of small, incremental pushes.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
def push_truncate(self, **kwargs) -> None:
|
|
18
|
+
"""
|
|
19
|
+
Before inserting data, truncates any existing data. This is useful when you want your insertions to be idempotent, e.g. in case of a retry.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
def set_blob(self, index: int, blob: bytes) -> None: ...
|
|
23
|
+
def set_double(self, index: int, double: float) -> None: ...
|
|
24
|
+
def set_int64(self, index: int, int64: int) -> None: ...
|
|
25
|
+
def set_string(self, index: int, string: str) -> None: ...
|
|
26
|
+
def set_timestamp(self, index: int, timestamp: object) -> None: ...
|
|
27
|
+
def start_row(self, ts: object) -> None:
|
|
28
|
+
"""
|
|
29
|
+
Calling this function marks the beginning of processing a new row.
|
|
30
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
from ._entry import ExpirableEntry
|
|
4
|
+
|
|
5
|
+
class Blob(ExpirableEntry):
|
|
6
|
+
def compare_and_swap(self, new_content: str, comparand: str) -> bytes: ...
|
|
7
|
+
def get(self) -> bytes: ...
|
|
8
|
+
def get_and_remove(self) -> bytes: ...
|
|
9
|
+
def get_and_update(self, data: str) -> bytes: ...
|
|
10
|
+
def put(self, data: str) -> None: ...
|
|
11
|
+
def remove_if(self, comparand: str) -> None: ...
|
|
12
|
+
def update(
|
|
13
|
+
self,
|
|
14
|
+
data: str,
|
|
15
|
+
expiry: datetime.datetime = datetime.datetime.fromtimestamp(0),
|
|
16
|
+
) -> None: ...
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import datetime
|
|
4
|
+
|
|
5
|
+
import numpy as np
|
|
6
|
+
|
|
7
|
+
from ._batch_column import BatchColumnInfo
|
|
8
|
+
from ._batch_inserter import TimeSeriesBatch
|
|
9
|
+
from ._blob import Blob
|
|
10
|
+
from ._continuous import QueryContinuous
|
|
11
|
+
from ._double import Double
|
|
12
|
+
from ._integer import Integer
|
|
13
|
+
from ._node import Node
|
|
14
|
+
from ._options import Options
|
|
15
|
+
from ._perf import Perf
|
|
16
|
+
from ._properties import Properties
|
|
17
|
+
from ._reader import Reader
|
|
18
|
+
from ._string import String
|
|
19
|
+
from ._table import Table
|
|
20
|
+
from ._tag import Tag
|
|
21
|
+
from ._timestamp import Timestamp
|
|
22
|
+
from ._writer import Writer
|
|
23
|
+
|
|
24
|
+
class Cluster:
|
|
25
|
+
"""
|
|
26
|
+
Represents a connection to the QuasarDB cluster.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
def __enter__(self) -> Cluster: ...
|
|
30
|
+
def __exit__(self, exc_type: object, exc_value: object, exc_tb: object) -> None: ...
|
|
31
|
+
def __init__(
|
|
32
|
+
self,
|
|
33
|
+
uri: str,
|
|
34
|
+
user_name: str = "",
|
|
35
|
+
user_private_key: str = "",
|
|
36
|
+
cluster_public_key: str = "",
|
|
37
|
+
user_security_file: str = "",
|
|
38
|
+
cluster_public_key_file: str = "",
|
|
39
|
+
timeout: datetime.timedelta = datetime.timedelta(minutes=1),
|
|
40
|
+
do_version_check: bool = False,
|
|
41
|
+
enable_encryption: bool = False,
|
|
42
|
+
compression_mode: Options.Compression = ..., # balanced
|
|
43
|
+
client_max_parallelism: int = 0,
|
|
44
|
+
) -> None: ...
|
|
45
|
+
def blob(self, alias: str) -> Blob: ...
|
|
46
|
+
def close(self) -> None: ...
|
|
47
|
+
def compact_abort(self) -> None: ...
|
|
48
|
+
def compact_full(self) -> None: ...
|
|
49
|
+
def compact_progress(self) -> int: ...
|
|
50
|
+
def double(self, alias: str) -> Double: ...
|
|
51
|
+
def endpoints(self) -> list[str]: ...
|
|
52
|
+
def find(self, query: str) -> list[str]: ...
|
|
53
|
+
def get_memory_info(self) -> str: ...
|
|
54
|
+
def inserter(self, column_info_list: list[BatchColumnInfo]) -> TimeSeriesBatch: ...
|
|
55
|
+
def integer(self, alias: str) -> Integer: ...
|
|
56
|
+
def is_open(self) -> bool: ...
|
|
57
|
+
def node(self, uri: str) -> Node: ...
|
|
58
|
+
def node_config(self, uri: str) -> dict[str, object]: ...
|
|
59
|
+
def node_status(self, uri: str) -> dict[str, object]: ...
|
|
60
|
+
def node_topology(self, uri: str) -> dict[str, object]: ...
|
|
61
|
+
def options(self) -> Options: ...
|
|
62
|
+
def perf(self) -> Perf: ...
|
|
63
|
+
def pinned_writer(self) -> Writer: ...
|
|
64
|
+
def prefix_count(self, prefix: str) -> int: ...
|
|
65
|
+
def prefix_get(self, prefix: str, max_count: int) -> list[str]: ...
|
|
66
|
+
def properties(self) -> Properties: ...
|
|
67
|
+
def purge_all(self, timeout: datetime.timedelta) -> None: ...
|
|
68
|
+
def purge_cache(self, timeout: datetime.timedelta) -> None: ...
|
|
69
|
+
def query(
|
|
70
|
+
self, query: str, blobs: bool | list[str] = False
|
|
71
|
+
) -> list[dict[str, object]]: ...
|
|
72
|
+
def query_continuous_full(
|
|
73
|
+
self, query: str, pace: datetime.timedelta, blobs: bool | list[str] = False
|
|
74
|
+
) -> QueryContinuous: ...
|
|
75
|
+
def query_continuous_new_values(
|
|
76
|
+
self, query: str, pace: datetime.timedelta, blobs: bool | list[str] = False
|
|
77
|
+
) -> QueryContinuous: ...
|
|
78
|
+
def query_numpy(self, query: str) -> list[tuple[str, np.ma.MaskedArray]]: ...
|
|
79
|
+
def reader(
|
|
80
|
+
self,
|
|
81
|
+
table_names: list[str],
|
|
82
|
+
column_names: list[str] = [],
|
|
83
|
+
batch_size: int = 0,
|
|
84
|
+
ranges: list[tuple] = [],
|
|
85
|
+
) -> Reader: ...
|
|
86
|
+
def string(self, alias: str) -> String: ...
|
|
87
|
+
def suffix_count(self, suffix: str) -> int: ...
|
|
88
|
+
def suffix_get(self, suffix: str, max_count: int) -> list[str]: ...
|
|
89
|
+
def table(self, alias: str) -> Table: ...
|
|
90
|
+
def tag(self, alias: str) -> Tag: ...
|
|
91
|
+
def tidy_memory(self) -> None: ...
|
|
92
|
+
def timestamp(self, alias: str) -> Timestamp: ...
|
|
93
|
+
def trim_all(
|
|
94
|
+
self, pause: datetime.timedelta, timeout: datetime.timedelta
|
|
95
|
+
) -> None: ...
|
|
96
|
+
def ts(self, alias: str) -> Table: ...
|
|
97
|
+
def ts_batch(self, column_info_list: list[BatchColumnInfo]) -> TimeSeriesBatch: ...
|
|
98
|
+
def uri(self) -> str: ...
|
|
99
|
+
def wait_for_compaction(self) -> None: ...
|
|
100
|
+
def writer(self) -> Writer: ...
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
# import datetime
|
|
4
|
+
|
|
5
|
+
class QueryContinuous:
|
|
6
|
+
def __iter__(self) -> QueryContinuous: ...
|
|
7
|
+
def __next__(self) -> list[dict[str, object]]: ...
|
|
8
|
+
def probe_results(self) -> list[dict[str, object]]: ...
|
|
9
|
+
def results(self) -> list[dict[str, object]]: ...
|
|
10
|
+
# def run(
|
|
11
|
+
# self,
|
|
12
|
+
# mode: qdb_query_continuous_mode_type_t,
|
|
13
|
+
# pace: datetime.timedelta,
|
|
14
|
+
# query: str,
|
|
15
|
+
# ) -> None: ...
|
|
16
|
+
def stop(self) -> None: ...
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import datetime
|
|
4
|
+
|
|
5
|
+
class Entry:
|
|
6
|
+
class Metadata: ...
|
|
7
|
+
|
|
8
|
+
class Type:
|
|
9
|
+
Uninitialized: Entry.Type # value = <Type.Uninitialized: -1>
|
|
10
|
+
Blob: Entry.Type # value = <Type.Blob: 0>
|
|
11
|
+
Integer: Entry.Type # value = <Type.Integer: 1>
|
|
12
|
+
HashSet: Entry.Type # value = <Type.HashSet: 2>
|
|
13
|
+
Tag: Entry.Type # value = <Type.Tag: 3>
|
|
14
|
+
Deque: Entry.Type # value = <Type.Deque: 4>
|
|
15
|
+
Stream: Entry.Type # value = <Type.Stream: 5>
|
|
16
|
+
Timeseries: Entry.Type # value = <Type.Timeseries: 6>
|
|
17
|
+
__members__: dict[str, Entry.Type]
|
|
18
|
+
def __and__(self, other: object) -> object: ...
|
|
19
|
+
def __eq__(self, other: object) -> bool: ...
|
|
20
|
+
def __ge__(self, other: object) -> bool: ...
|
|
21
|
+
def __getstate__(self) -> int: ...
|
|
22
|
+
def __gt__(self, other: object) -> bool: ...
|
|
23
|
+
def __hash__(self) -> int: ...
|
|
24
|
+
def __index__(self) -> int: ...
|
|
25
|
+
def __init__(self, value: int) -> None: ...
|
|
26
|
+
def __int__(self) -> int: ...
|
|
27
|
+
def __invert__(self) -> object: ...
|
|
28
|
+
def __le__(self, other: object) -> bool: ...
|
|
29
|
+
def __lt__(self, other: object) -> bool: ...
|
|
30
|
+
def __ne__(self, other: object) -> bool: ...
|
|
31
|
+
def __or__(self, other: object) -> object: ...
|
|
32
|
+
def __rand__(self, other: object) -> object: ...
|
|
33
|
+
def __repr__(self) -> str: ...
|
|
34
|
+
def __ror__(self, other: object) -> object: ...
|
|
35
|
+
def __rxor__(self, other: object) -> object: ...
|
|
36
|
+
def __setstate__(self, state: int) -> None: ...
|
|
37
|
+
def __str__(self) -> str: ...
|
|
38
|
+
def __xor__(self, other: object) -> object: ...
|
|
39
|
+
@property
|
|
40
|
+
def name(self) -> str: ...
|
|
41
|
+
@property
|
|
42
|
+
def value(self) -> int: ...
|
|
43
|
+
|
|
44
|
+
def attach_tag(self, tag: str) -> bool: ...
|
|
45
|
+
def attach_tags(self, tags: list[str]) -> None: ...
|
|
46
|
+
def detach_tag(self, tag: str) -> bool: ...
|
|
47
|
+
def detach_tags(self, tags: list[str]) -> None: ...
|
|
48
|
+
def exists(self) -> bool: ...
|
|
49
|
+
def get_entry_type(self) -> Entry.Type: ...
|
|
50
|
+
def get_location(self) -> tuple[str, int]: ...
|
|
51
|
+
def get_metadata(self) -> Metadata: ...
|
|
52
|
+
def get_name(self) -> str: ...
|
|
53
|
+
def get_tags(self) -> list[str]: ...
|
|
54
|
+
def has_tag(self, tag: str) -> bool: ...
|
|
55
|
+
def remove(self) -> None: ...
|
|
56
|
+
|
|
57
|
+
class ExpirableEntry(Entry):
|
|
58
|
+
def expires_at(self, expiry_time: datetime.datetime) -> None: ...
|
|
59
|
+
def expires_from_now(self, expiry_delta: datetime.timedelta) -> None: ...
|
|
60
|
+
def get_expiry_time(self) -> datetime.datetime: ...
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
class Error(RuntimeError): ...
|
|
2
|
+
class AliasAlreadyExistsError(Error): ...
|
|
3
|
+
class AliasNotFoundError(Error): ...
|
|
4
|
+
class AsyncPipelineFullError(Error): ...
|
|
5
|
+
class IncompatibleTypeError(Error): ...
|
|
6
|
+
class InputBufferTooSmallError(Error): ...
|
|
7
|
+
class InternalLocalError(Error): ...
|
|
8
|
+
class InvalidArgumentError(Error): ...
|
|
9
|
+
class InvalidDatetimeError(Error): ...
|
|
10
|
+
class InvalidHandleError(Error): ...
|
|
11
|
+
class InvalidQueryError(Error): ...
|
|
12
|
+
class NotImplementedError(Error): ...
|
|
13
|
+
class OutOfBoundsError(Error): ...
|
|
14
|
+
class TryAgainError(Error): ...
|
|
15
|
+
class UninitializedError(Error): ...
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
class DirectBlob:
|
|
2
|
+
def get(self) -> bytes: ...
|
|
3
|
+
def put(self, data: str) -> None: ...
|
|
4
|
+
def remove(self) -> None: ...
|
|
5
|
+
def update(self, data: str) -> None: ...
|
|
6
|
+
|
|
7
|
+
class DirectInteger:
|
|
8
|
+
def get(self) -> int: ...
|
|
9
|
+
def put(self, integer: int) -> None: ...
|
|
10
|
+
def remove(self) -> None: ...
|
|
11
|
+
def update(self, integer: int) -> None: ...
|
|
12
|
+
|
|
13
|
+
class Node:
|
|
14
|
+
def __init__(
|
|
15
|
+
self,
|
|
16
|
+
uri: str,
|
|
17
|
+
user_name: str = "",
|
|
18
|
+
user_private_key: str = "",
|
|
19
|
+
cluster_public_key: str = "",
|
|
20
|
+
user_security_file: str = "",
|
|
21
|
+
cluster_public_key_file: str = "",
|
|
22
|
+
enable_encryption: bool = False,
|
|
23
|
+
) -> None: ...
|
|
24
|
+
def blob(self, alias: str) -> DirectBlob: ...
|
|
25
|
+
def integer(self, alias: str) -> DirectInteger: ...
|
|
26
|
+
def prefix_get(self, prefix: str, max_count: int) -> list[str]: ...
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import datetime
|
|
4
|
+
|
|
5
|
+
class Options:
|
|
6
|
+
class Compression:
|
|
7
|
+
Disabled: Options.Compression # value = <Compression.Disabled: 0>
|
|
8
|
+
Best: Options.Compression # value = <Compression.Best: 2>
|
|
9
|
+
Balanced: Options.Compression # value = <Compression.Balanced: 3>
|
|
10
|
+
__members__: dict[str, Options.Compression]
|
|
11
|
+
def __and__(self, other: object) -> object: ...
|
|
12
|
+
def __eq__(self, other: object) -> bool: ...
|
|
13
|
+
def __ge__(self, other: object) -> bool: ...
|
|
14
|
+
def __getstate__(self) -> int: ...
|
|
15
|
+
def __gt__(self, other: object) -> bool: ...
|
|
16
|
+
def __hash__(self) -> int: ...
|
|
17
|
+
def __index__(self) -> int: ...
|
|
18
|
+
def __init__(self, value: int) -> None: ...
|
|
19
|
+
def __int__(self) -> int: ...
|
|
20
|
+
def __invert__(self) -> object: ...
|
|
21
|
+
def __le__(self, other: object) -> bool: ...
|
|
22
|
+
def __lt__(self, other: object) -> bool: ...
|
|
23
|
+
def __ne__(self, other: object) -> bool: ...
|
|
24
|
+
def __or__(self, other: object) -> object: ...
|
|
25
|
+
def __rand__(self, other: object) -> object: ...
|
|
26
|
+
def __repr__(self) -> str: ...
|
|
27
|
+
def __ror__(self, other: object) -> object: ...
|
|
28
|
+
def __rxor__(self, other: object) -> object: ...
|
|
29
|
+
def __setstate__(self, state: int) -> None: ...
|
|
30
|
+
def __str__(self) -> str: ...
|
|
31
|
+
def __xor__(self, other: object) -> object: ...
|
|
32
|
+
@property
|
|
33
|
+
def name(self) -> str: ...
|
|
34
|
+
@property
|
|
35
|
+
def value(self) -> int: ...
|
|
36
|
+
|
|
37
|
+
class Encryption:
|
|
38
|
+
Disabled: Options.Encryption # value = <Encryption.Disabled: 0>
|
|
39
|
+
AES256GCM: Options.Encryption # value = <Encryption.AES256GCM: 1>
|
|
40
|
+
__members__: dict[str, Options.Encryption]
|
|
41
|
+
def __and__(self, other: object) -> object: ...
|
|
42
|
+
def __eq__(self, other: object) -> bool: ...
|
|
43
|
+
def __ge__(self, other: object) -> bool: ...
|
|
44
|
+
def __getstate__(self) -> int: ...
|
|
45
|
+
def __gt__(self, other: object) -> bool: ...
|
|
46
|
+
def __hash__(self) -> int: ...
|
|
47
|
+
def __index__(self) -> int: ...
|
|
48
|
+
def __init__(self, value: int) -> None: ...
|
|
49
|
+
def __int__(self) -> int: ...
|
|
50
|
+
def __invert__(self) -> object: ...
|
|
51
|
+
def __le__(self, other: object) -> bool: ...
|
|
52
|
+
def __lt__(self, other: object) -> bool: ...
|
|
53
|
+
def __ne__(self, other: object) -> bool: ...
|
|
54
|
+
def __or__(self, other: object) -> object: ...
|
|
55
|
+
def __rand__(self, other: object) -> object: ...
|
|
56
|
+
def __repr__(self) -> str: ...
|
|
57
|
+
def __ror__(self, other: object) -> object: ...
|
|
58
|
+
def __rxor__(self, other: object) -> object: ...
|
|
59
|
+
def __setstate__(self, state: int) -> None: ...
|
|
60
|
+
def __str__(self) -> str: ...
|
|
61
|
+
def __xor__(self, other: object) -> object: ...
|
|
62
|
+
@property
|
|
63
|
+
def name(self) -> str: ...
|
|
64
|
+
@property
|
|
65
|
+
def value(self) -> int: ...
|
|
66
|
+
|
|
67
|
+
def disable_user_properties(self) -> None: ...
|
|
68
|
+
def enable_user_properties(self) -> None: ...
|
|
69
|
+
def get_client_max_batch_load(self) -> int:
|
|
70
|
+
"""
|
|
71
|
+
Get the number of shards per thread used for the batch writer.
|
|
72
|
+
"""
|
|
73
|
+
|
|
74
|
+
def get_client_max_in_buf_size(self) -> int: ...
|
|
75
|
+
def get_client_max_parallelism(self) -> int: ...
|
|
76
|
+
def get_cluster_max_in_buf_size(self) -> int: ...
|
|
77
|
+
def get_connection_per_address_soft_limit(self) -> int:
|
|
78
|
+
"""
|
|
79
|
+
Get the maximum number of connections per qdbd node
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
def get_query_max_length(self) -> int: ...
|
|
83
|
+
def get_stabilization_max_wait(self) -> datetime.timedelta: ...
|
|
84
|
+
def get_timeout(self) -> datetime.timedelta: ...
|
|
85
|
+
def get_timezone(self) -> str: ...
|
|
86
|
+
def set_client_max_batch_load(self, shard_count: int) -> None:
|
|
87
|
+
"""
|
|
88
|
+
Adjust the number of shards per thread used for the batch writer.
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
def set_client_max_in_buf_size(self, max_size: int) -> None: ...
|
|
92
|
+
def set_client_soft_memory_limit(self, limit: int) -> None: ...
|
|
93
|
+
def set_cluster_public_key(self, key: str) -> None: ...
|
|
94
|
+
def set_connection_per_address_soft_limit(self, max_count: int) -> None:
|
|
95
|
+
"""
|
|
96
|
+
Adjust the maximum number of connections per qdbd node
|
|
97
|
+
"""
|
|
98
|
+
|
|
99
|
+
def set_encryption(self, algorithm: Options.Encryption) -> None: ...
|
|
100
|
+
def set_max_cardinality(self, cardinality: int) -> None: ...
|
|
101
|
+
def set_query_max_length(self, query_max_length: int) -> None: ...
|
|
102
|
+
def set_stabilization_max_wait(self, max_wait: datetime.timedelta) -> None: ...
|
|
103
|
+
def set_timeout(self, timeout: datetime.timedelta) -> None: ...
|
|
104
|
+
def set_timezone(self, tz: str) -> None: ...
|
|
105
|
+
def set_user_credentials(self, user: str, private_key: str) -> None: ...
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
class Reader:
|
|
6
|
+
def __enter__(self) -> Reader: ...
|
|
7
|
+
def __exit__(self, exc_type: object, exc_value: object, exc_tb: object) -> None: ...
|
|
8
|
+
def __iter__(self) -> typing.Iterator[dict[str, object]]: ...
|
|
9
|
+
def get_batch_size(self) -> int: ...
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
class RetryOptions:
|
|
4
|
+
delay: datetime.timedelta
|
|
5
|
+
exponent: int
|
|
6
|
+
jitter: float
|
|
7
|
+
retries_left: int
|
|
8
|
+
def __init__(
|
|
9
|
+
self,
|
|
10
|
+
retries: int = 3,
|
|
11
|
+
delay: datetime.timedelta = ...,
|
|
12
|
+
exponent: int = 2,
|
|
13
|
+
jitter: float = 0.1,
|
|
14
|
+
) -> None: ...
|
|
15
|
+
def has_next(self) -> bool: ...
|
|
16
|
+
def next(self) -> RetryOptions: ...
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
from ._entry import ExpirableEntry
|
|
4
|
+
|
|
5
|
+
class String(ExpirableEntry):
|
|
6
|
+
def compare_and_swap(self, new_content: str, comparand: str) -> str: ...
|
|
7
|
+
def get(self) -> str: ...
|
|
8
|
+
def get_and_remove(self) -> str: ...
|
|
9
|
+
def get_and_update(self, data: str) -> str: ...
|
|
10
|
+
def put(self, data: str) -> None: ...
|
|
11
|
+
def remove_if(self, comparand: str) -> None: ...
|
|
12
|
+
def update(self, data: str, expiry: datetime.datetime = ...) -> None: ...
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import datetime
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
import numpy
|
|
7
|
+
|
|
8
|
+
from quasardb.quasardb._reader import Reader
|
|
9
|
+
|
|
10
|
+
from ._entry import Entry
|
|
11
|
+
|
|
12
|
+
class ColumnType:
|
|
13
|
+
Uninitialized: ColumnType # value = <ColumnType.Uninitialized: -1>
|
|
14
|
+
Double: ColumnType # value = <ColumnType.Double: 0>
|
|
15
|
+
Blob: ColumnType # value = <ColumnType.Blob: 1>
|
|
16
|
+
Int64: ColumnType # value = <ColumnType.Int64: 2>
|
|
17
|
+
Timestamp: ColumnType # value = <ColumnType.Timestamp: 3>
|
|
18
|
+
String: ColumnType # value = <ColumnType.String: 4>
|
|
19
|
+
Symbol: ColumnType # value = <ColumnType.Symbol: 5>
|
|
20
|
+
__members__: dict[str, ColumnType]
|
|
21
|
+
def __and__(self, other: object) -> object: ...
|
|
22
|
+
def __eq__(self, other: object) -> bool: ...
|
|
23
|
+
def __ge__(self, other: object) -> bool: ...
|
|
24
|
+
def __getstate__(self) -> int: ...
|
|
25
|
+
def __gt__(self, other: object) -> bool: ...
|
|
26
|
+
def __hash__(self) -> int: ...
|
|
27
|
+
def __index__(self) -> int: ...
|
|
28
|
+
def __init__(self, value: int) -> None: ...
|
|
29
|
+
def __int__(self) -> int: ...
|
|
30
|
+
def __invert__(self) -> object: ...
|
|
31
|
+
def __le__(self, other: object) -> bool: ...
|
|
32
|
+
def __lt__(self, other: object) -> bool: ...
|
|
33
|
+
def __ne__(self, other: object) -> bool: ...
|
|
34
|
+
def __or__(self, other: object) -> object: ...
|
|
35
|
+
def __rand__(self, other: object) -> object: ...
|
|
36
|
+
def __repr__(self) -> str: ...
|
|
37
|
+
def __ror__(self, other: object) -> object: ...
|
|
38
|
+
def __rxor__(self, other: object) -> object: ...
|
|
39
|
+
def __setstate__(self, state: int) -> None: ...
|
|
40
|
+
def __str__(self) -> str: ...
|
|
41
|
+
def __xor__(self, other: object) -> object: ...
|
|
42
|
+
@property
|
|
43
|
+
def name(self) -> str: ...
|
|
44
|
+
@property
|
|
45
|
+
def value(self) -> int: ...
|
|
46
|
+
|
|
47
|
+
class ColumnInfo:
|
|
48
|
+
name: str
|
|
49
|
+
symtable: str
|
|
50
|
+
type: ColumnType
|
|
51
|
+
@typing.overload
|
|
52
|
+
def __init__(self, type: ColumnType, name: str) -> None: ...
|
|
53
|
+
@typing.overload
|
|
54
|
+
def __init__(self, type: ColumnType, name: str, symtable: str) -> None: ...
|
|
55
|
+
def __repr__(self) -> str: ...
|
|
56
|
+
|
|
57
|
+
class IndexedColumnInfo:
|
|
58
|
+
@typing.overload
|
|
59
|
+
def __init__(self, type: ColumnType, index: int) -> None: ...
|
|
60
|
+
@typing.overload
|
|
61
|
+
def __init__(self, type: ColumnType, index: int, symtable: str) -> None: ...
|
|
62
|
+
@property
|
|
63
|
+
def index(self) -> int: ...
|
|
64
|
+
@property
|
|
65
|
+
def symtable(self) -> str: ...
|
|
66
|
+
@property
|
|
67
|
+
def type(self) -> ColumnType: ...
|
|
68
|
+
|
|
69
|
+
class Table(Entry):
|
|
70
|
+
def __repr__(self) -> str: ...
|
|
71
|
+
def blob_get_ranges(
|
|
72
|
+
self, column: str, ranges: object = None
|
|
73
|
+
) -> tuple[numpy.ndarray, numpy.ma.MaskedArray]: ...
|
|
74
|
+
def blob_insert(
|
|
75
|
+
self, column: str, timestamps: numpy.ndarray, values: numpy.ma.MaskedArray
|
|
76
|
+
) -> None: ...
|
|
77
|
+
def column_id_by_index(self, index: int) -> str: ...
|
|
78
|
+
def column_index_by_id(self, alias: str) -> int: ...
|
|
79
|
+
def column_info_by_index(self, index: int) -> ColumnInfo: ...
|
|
80
|
+
def column_type_by_id(self, alias: str) -> ColumnType: ...
|
|
81
|
+
def column_type_by_index(self, index: int) -> ColumnType: ...
|
|
82
|
+
def create(
|
|
83
|
+
self,
|
|
84
|
+
columns: list[ColumnInfo],
|
|
85
|
+
shard_size: datetime.timedelta = ...,
|
|
86
|
+
ttl: datetime.timedelta = ...,
|
|
87
|
+
) -> None: ...
|
|
88
|
+
def double_get_ranges(
|
|
89
|
+
self, column: str, ranges: object = None
|
|
90
|
+
) -> tuple[numpy.ndarray, numpy.ma.MaskedArray]: ...
|
|
91
|
+
def double_insert(
|
|
92
|
+
self, column: str, timestamps: numpy.ndarray, values: numpy.ma.MaskedArray
|
|
93
|
+
) -> None: ...
|
|
94
|
+
def erase_ranges(self, column: str, ranges: object) -> int: ...
|
|
95
|
+
def get_shard_size(self) -> datetime.timedelta: ...
|
|
96
|
+
def get_ttl(self) -> datetime.timedelta: ...
|
|
97
|
+
def has_ttl(self) -> bool: ...
|
|
98
|
+
def insert_columns(self, columns: list[ColumnInfo]) -> None: ...
|
|
99
|
+
def int64_get_ranges(
|
|
100
|
+
self, column: str, ranges: object = None
|
|
101
|
+
) -> tuple[numpy.ndarray, numpy.ma.MaskedArray]: ...
|
|
102
|
+
def int64_insert(
|
|
103
|
+
self, column: str, timestamps: numpy.ndarray, values: numpy.ma.MaskedArray
|
|
104
|
+
) -> None: ...
|
|
105
|
+
def list_columns(self) -> list[ColumnInfo]: ...
|
|
106
|
+
def reader(
|
|
107
|
+
self,
|
|
108
|
+
column_names: list[str] = [],
|
|
109
|
+
batch_size: int = 0,
|
|
110
|
+
ranges: list[tuple] = [],
|
|
111
|
+
) -> Reader: ...
|
|
112
|
+
def retrieve_metadata(self) -> None: ...
|
|
113
|
+
def string_get_ranges(
|
|
114
|
+
self, column: str, ranges: object = None
|
|
115
|
+
) -> tuple[numpy.ndarray, numpy.ma.MaskedArray]: ...
|
|
116
|
+
def string_insert(
|
|
117
|
+
self, column: str, timestamps: numpy.ndarray, values: numpy.ma.MaskedArray
|
|
118
|
+
) -> None: ...
|
|
119
|
+
def subscribe(self, conn: object) -> object: ...
|
|
120
|
+
def timestamp_get_ranges(
|
|
121
|
+
self, column: str, ranges: object = None
|
|
122
|
+
) -> tuple[numpy.ndarray, numpy.ma.MaskedArray]: ...
|
|
123
|
+
def timestamp_insert(
|
|
124
|
+
self, column: str, timestamps: numpy.ndarray, values: numpy.ma.MaskedArray
|
|
125
|
+
) -> None: ...
|