pyspiral 0.6.6__cp312-abi3-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.
- pyspiral-0.6.6.dist-info/METADATA +51 -0
- pyspiral-0.6.6.dist-info/RECORD +102 -0
- pyspiral-0.6.6.dist-info/WHEEL +4 -0
- pyspiral-0.6.6.dist-info/entry_points.txt +2 -0
- spiral/__init__.py +35 -0
- spiral/_lib.abi3.so +0 -0
- spiral/adbc.py +411 -0
- spiral/api/__init__.py +78 -0
- spiral/api/admin.py +15 -0
- spiral/api/client.py +164 -0
- spiral/api/filesystems.py +134 -0
- spiral/api/key_space_indexes.py +23 -0
- spiral/api/organizations.py +77 -0
- spiral/api/projects.py +219 -0
- spiral/api/telemetry.py +19 -0
- spiral/api/text_indexes.py +56 -0
- spiral/api/types.py +22 -0
- spiral/api/workers.py +40 -0
- spiral/api/workloads.py +52 -0
- spiral/arrow_.py +216 -0
- spiral/cli/__init__.py +88 -0
- spiral/cli/__main__.py +4 -0
- spiral/cli/admin.py +14 -0
- spiral/cli/app.py +104 -0
- spiral/cli/console.py +95 -0
- spiral/cli/fs.py +76 -0
- spiral/cli/iceberg.py +97 -0
- spiral/cli/key_spaces.py +89 -0
- spiral/cli/login.py +24 -0
- spiral/cli/orgs.py +89 -0
- spiral/cli/printer.py +53 -0
- spiral/cli/projects.py +147 -0
- spiral/cli/state.py +5 -0
- spiral/cli/tables.py +174 -0
- spiral/cli/telemetry.py +17 -0
- spiral/cli/text.py +115 -0
- spiral/cli/types.py +50 -0
- spiral/cli/workloads.py +58 -0
- spiral/client.py +178 -0
- spiral/core/__init__.pyi +0 -0
- spiral/core/_tools/__init__.pyi +5 -0
- spiral/core/authn/__init__.pyi +27 -0
- spiral/core/client/__init__.pyi +237 -0
- spiral/core/table/__init__.pyi +101 -0
- spiral/core/table/manifests/__init__.pyi +35 -0
- spiral/core/table/metastore/__init__.pyi +58 -0
- spiral/core/table/spec/__init__.pyi +213 -0
- spiral/dataloader.py +285 -0
- spiral/dataset.py +255 -0
- spiral/datetime_.py +27 -0
- spiral/debug/__init__.py +0 -0
- spiral/debug/manifests.py +87 -0
- spiral/debug/metrics.py +56 -0
- spiral/debug/scan.py +266 -0
- spiral/expressions/__init__.py +276 -0
- spiral/expressions/base.py +157 -0
- spiral/expressions/http.py +86 -0
- spiral/expressions/io.py +100 -0
- spiral/expressions/list_.py +68 -0
- spiral/expressions/mp4.py +62 -0
- spiral/expressions/png.py +18 -0
- spiral/expressions/qoi.py +18 -0
- spiral/expressions/refs.py +58 -0
- spiral/expressions/str_.py +39 -0
- spiral/expressions/struct.py +59 -0
- spiral/expressions/text.py +62 -0
- spiral/expressions/tiff.py +223 -0
- spiral/expressions/udf.py +46 -0
- spiral/grpc_.py +32 -0
- spiral/iceberg.py +31 -0
- spiral/iterable_dataset.py +106 -0
- spiral/key_space_index.py +44 -0
- spiral/project.py +199 -0
- spiral/protogen/_/__init__.py +0 -0
- spiral/protogen/_/arrow/__init__.py +0 -0
- spiral/protogen/_/arrow/flight/__init__.py +0 -0
- spiral/protogen/_/arrow/flight/protocol/__init__.py +0 -0
- spiral/protogen/_/arrow/flight/protocol/sql/__init__.py +2548 -0
- spiral/protogen/_/google/__init__.py +0 -0
- spiral/protogen/_/google/protobuf/__init__.py +2310 -0
- spiral/protogen/_/message_pool.py +3 -0
- spiral/protogen/_/py.typed +0 -0
- spiral/protogen/_/scandal/__init__.py +190 -0
- spiral/protogen/_/spfs/__init__.py +72 -0
- spiral/protogen/_/spql/__init__.py +61 -0
- spiral/protogen/_/substrait/__init__.py +6196 -0
- spiral/protogen/_/substrait/extensions/__init__.py +169 -0
- spiral/protogen/__init__.py +0 -0
- spiral/protogen/util.py +41 -0
- spiral/py.typed +0 -0
- spiral/scan.py +285 -0
- spiral/server.py +17 -0
- spiral/settings.py +114 -0
- spiral/snapshot.py +56 -0
- spiral/streaming_/__init__.py +3 -0
- spiral/streaming_/reader.py +133 -0
- spiral/streaming_/stream.py +157 -0
- spiral/substrait_.py +274 -0
- spiral/table.py +293 -0
- spiral/text_index.py +17 -0
- spiral/transaction.py +58 -0
- spiral/types_.py +6 -0
File without changes
|
@@ -0,0 +1,190 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# sources: scandal/scandal.proto
|
3
|
+
# plugin: python-betterproto2
|
4
|
+
# This file has been @generated
|
5
|
+
|
6
|
+
__all__ = (
|
7
|
+
"Connectivity",
|
8
|
+
"Fetch",
|
9
|
+
"FetchRequest",
|
10
|
+
"FetchResponse",
|
11
|
+
"Metadata",
|
12
|
+
"MetadataParquet",
|
13
|
+
"Put",
|
14
|
+
"PutRequest",
|
15
|
+
"PutResponse",
|
16
|
+
"ScandalServiceStub",
|
17
|
+
"Sink",
|
18
|
+
"Source",
|
19
|
+
)
|
20
|
+
|
21
|
+
from dataclasses import dataclass
|
22
|
+
|
23
|
+
import betterproto2
|
24
|
+
import grpc
|
25
|
+
|
26
|
+
from ..message_pool import default_message_pool
|
27
|
+
|
28
|
+
_COMPILER_VERSION = "0.9.0"
|
29
|
+
betterproto2.check_compiler_version(_COMPILER_VERSION)
|
30
|
+
|
31
|
+
|
32
|
+
@dataclass(eq=False, repr=False)
|
33
|
+
class Connectivity(betterproto2.Message):
|
34
|
+
"""
|
35
|
+
Information about the client's perceived connectivity to a FileSystem.
|
36
|
+
"""
|
37
|
+
|
38
|
+
unreachable: "bool" = betterproto2.field(1, betterproto2.TYPE_BOOL)
|
39
|
+
|
40
|
+
round_trip_time_us: "int | None" = betterproto2.field(2, betterproto2.TYPE_INT32, optional=True)
|
41
|
+
|
42
|
+
|
43
|
+
default_message_pool.register_message("scandal", "Connectivity", Connectivity)
|
44
|
+
|
45
|
+
|
46
|
+
@dataclass(eq=False, repr=False)
|
47
|
+
class Fetch(betterproto2.Message):
|
48
|
+
"""
|
49
|
+
Let's make "fetch" happen.
|
50
|
+
"""
|
51
|
+
|
52
|
+
pass
|
53
|
+
|
54
|
+
|
55
|
+
default_message_pool.register_message("scandal", "Fetch", Fetch)
|
56
|
+
|
57
|
+
|
58
|
+
@dataclass(eq=False, repr=False)
|
59
|
+
class FetchRequest(betterproto2.Message):
|
60
|
+
"""
|
61
|
+
TODO(ngates): include projection expression.
|
62
|
+
"""
|
63
|
+
|
64
|
+
uri: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)
|
65
|
+
"""
|
66
|
+
A signed request to read an
|
67
|
+
spfs://<fsid>/path?token=<jwt> URI.
|
68
|
+
"""
|
69
|
+
|
70
|
+
connectivity: "Connectivity | None" = betterproto2.field(2, betterproto2.TYPE_MESSAGE, optional=True)
|
71
|
+
"""
|
72
|
+
Declares whether the client has connectivity to the FileSystem.
|
73
|
+
"""
|
74
|
+
|
75
|
+
accepts: "list[str]" = betterproto2.field(3, betterproto2.TYPE_STRING, repeated=True)
|
76
|
+
"""
|
77
|
+
Declares the MIME types the client can read directly.
|
78
|
+
"""
|
79
|
+
|
80
|
+
|
81
|
+
default_message_pool.register_message("scandal", "Fetch.Request", FetchRequest)
|
82
|
+
|
83
|
+
|
84
|
+
@dataclass(eq=False, repr=False)
|
85
|
+
class FetchResponse(betterproto2.Message):
|
86
|
+
sources: "list[Source]" = betterproto2.field(1, betterproto2.TYPE_MESSAGE, repeated=True)
|
87
|
+
"""
|
88
|
+
The sources the client should use to attempt to read the file.
|
89
|
+
The client should try each source in order until it finds one that works.
|
90
|
+
"""
|
91
|
+
|
92
|
+
|
93
|
+
default_message_pool.register_message("scandal", "Fetch.Response", FetchResponse)
|
94
|
+
|
95
|
+
|
96
|
+
@dataclass(eq=False, repr=False)
|
97
|
+
class Metadata(betterproto2.Message):
|
98
|
+
pass
|
99
|
+
|
100
|
+
|
101
|
+
default_message_pool.register_message("scandal", "Metadata", Metadata)
|
102
|
+
|
103
|
+
|
104
|
+
@dataclass(eq=False, repr=False)
|
105
|
+
class MetadataParquet(betterproto2.Message):
|
106
|
+
"""
|
107
|
+
A bunch of optional metadata that the client can use
|
108
|
+
to accelerate reading the file.
|
109
|
+
"""
|
110
|
+
|
111
|
+
pass
|
112
|
+
|
113
|
+
|
114
|
+
default_message_pool.register_message("scandal", "Metadata.Parquet", MetadataParquet)
|
115
|
+
|
116
|
+
|
117
|
+
@dataclass(eq=False, repr=False)
|
118
|
+
class Put(betterproto2.Message):
|
119
|
+
pass
|
120
|
+
|
121
|
+
|
122
|
+
default_message_pool.register_message("scandal", "Put", Put)
|
123
|
+
|
124
|
+
|
125
|
+
@dataclass(eq=False, repr=False)
|
126
|
+
class PutRequest(betterproto2.Message):
|
127
|
+
uri: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)
|
128
|
+
|
129
|
+
connectivity: "Connectivity | None" = betterproto2.field(2, betterproto2.TYPE_MESSAGE, optional=True)
|
130
|
+
|
131
|
+
|
132
|
+
default_message_pool.register_message("scandal", "Put.Request", PutRequest)
|
133
|
+
|
134
|
+
|
135
|
+
@dataclass(eq=False, repr=False)
|
136
|
+
class PutResponse(betterproto2.Message):
|
137
|
+
sinks: "list[Sink]" = betterproto2.field(1, betterproto2.TYPE_MESSAGE, repeated=True)
|
138
|
+
|
139
|
+
|
140
|
+
default_message_pool.register_message("scandal", "Put.Response", PutResponse)
|
141
|
+
|
142
|
+
|
143
|
+
@dataclass(eq=False, repr=False)
|
144
|
+
class Sink(betterproto2.Message):
|
145
|
+
url: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)
|
146
|
+
|
147
|
+
|
148
|
+
default_message_pool.register_message("scandal", "Sink", Sink)
|
149
|
+
|
150
|
+
|
151
|
+
@dataclass(eq=False, repr=False)
|
152
|
+
class Source(betterproto2.Message):
|
153
|
+
"""
|
154
|
+
NOTE(marko): Scandal does not yet exist and this file is unused.
|
155
|
+
|
156
|
+
Oneofs:
|
157
|
+
- metadata:
|
158
|
+
"""
|
159
|
+
|
160
|
+
url: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)
|
161
|
+
|
162
|
+
content_type: "str | None" = betterproto2.field(2, betterproto2.TYPE_STRING, optional=True)
|
163
|
+
|
164
|
+
size: "int | None" = betterproto2.field(3, betterproto2.TYPE_INT64, optional=True)
|
165
|
+
|
166
|
+
parquet: "MetadataParquet | None" = betterproto2.field(
|
167
|
+
10, betterproto2.TYPE_MESSAGE, optional=True, group="metadata"
|
168
|
+
)
|
169
|
+
|
170
|
+
|
171
|
+
default_message_pool.register_message("scandal", "Source", Source)
|
172
|
+
|
173
|
+
|
174
|
+
class ScandalServiceStub:
|
175
|
+
def __init__(self, channel: grpc.Channel):
|
176
|
+
self._channel = channel
|
177
|
+
|
178
|
+
def fetch(self, message: "FetchRequest") -> "FetchResponse":
|
179
|
+
return self._channel.unary_unary(
|
180
|
+
"/scandal.ScandalService/Fetch",
|
181
|
+
FetchRequest.SerializeToString,
|
182
|
+
FetchResponse.FromString,
|
183
|
+
)(message)
|
184
|
+
|
185
|
+
def put(self, message: "PutRequest") -> "PutResponse":
|
186
|
+
return self._channel.unary_unary(
|
187
|
+
"/scandal.ScandalService/Put",
|
188
|
+
PutRequest.SerializeToString,
|
189
|
+
PutResponse.FromString,
|
190
|
+
)(message)
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# sources: spfs/metadata.proto
|
3
|
+
# plugin: python-betterproto2
|
4
|
+
# This file has been @generated
|
5
|
+
|
6
|
+
__all__ = (
|
7
|
+
"FileMetadata",
|
8
|
+
"ParquetFileSpecificMetadata",
|
9
|
+
"ProtobufFileSpecificMetadata",
|
10
|
+
"VortexFileSpecificMetadata",
|
11
|
+
)
|
12
|
+
|
13
|
+
from dataclasses import dataclass
|
14
|
+
|
15
|
+
import betterproto2
|
16
|
+
|
17
|
+
from ..message_pool import default_message_pool
|
18
|
+
|
19
|
+
_COMPILER_VERSION = "0.9.0"
|
20
|
+
betterproto2.check_compiler_version(_COMPILER_VERSION)
|
21
|
+
|
22
|
+
|
23
|
+
@dataclass(eq=False, repr=False)
|
24
|
+
class FileMetadata(betterproto2.Message):
|
25
|
+
"""
|
26
|
+
|
27
|
+
|
28
|
+
Oneofs:
|
29
|
+
- format_specific:
|
30
|
+
"""
|
31
|
+
|
32
|
+
protobuf: "ProtobufFileSpecificMetadata | None" = betterproto2.field(
|
33
|
+
1, betterproto2.TYPE_MESSAGE, optional=True, group="format_specific"
|
34
|
+
)
|
35
|
+
|
36
|
+
parquet: "ParquetFileSpecificMetadata | None" = betterproto2.field(
|
37
|
+
2, betterproto2.TYPE_MESSAGE, optional=True, group="format_specific"
|
38
|
+
)
|
39
|
+
|
40
|
+
vortex: "VortexFileSpecificMetadata | None" = betterproto2.field(
|
41
|
+
3, betterproto2.TYPE_MESSAGE, optional=True, group="format_specific"
|
42
|
+
)
|
43
|
+
|
44
|
+
|
45
|
+
default_message_pool.register_message("spfs", "FileMetadata", FileMetadata)
|
46
|
+
|
47
|
+
|
48
|
+
@dataclass(eq=False, repr=False)
|
49
|
+
class ParquetFileSpecificMetadata(betterproto2.Message):
|
50
|
+
metadata_size_bytes: "int" = betterproto2.field(1, betterproto2.TYPE_UINT32)
|
51
|
+
|
52
|
+
|
53
|
+
default_message_pool.register_message("spfs", "ParquetFileSpecificMetadata", ParquetFileSpecificMetadata)
|
54
|
+
|
55
|
+
|
56
|
+
@dataclass(eq=False, repr=False)
|
57
|
+
class ProtobufFileSpecificMetadata(betterproto2.Message):
|
58
|
+
pass
|
59
|
+
|
60
|
+
|
61
|
+
default_message_pool.register_message("spfs", "ProtobufFileSpecificMetadata", ProtobufFileSpecificMetadata)
|
62
|
+
|
63
|
+
|
64
|
+
@dataclass(eq=False, repr=False)
|
65
|
+
class VortexFileSpecificMetadata(betterproto2.Message):
|
66
|
+
footer: "bytes | None" = betterproto2.field(2, betterproto2.TYPE_BYTES, optional=True)
|
67
|
+
"""
|
68
|
+
Optional because we may decide to not store it if it's too large.
|
69
|
+
"""
|
70
|
+
|
71
|
+
|
72
|
+
default_message_pool.register_message("spfs", "VortexFileSpecificMetadata", VortexFileSpecificMetadata)
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# sources: spql/exprs.proto
|
3
|
+
# plugin: python-betterproto2
|
4
|
+
# This file has been @generated
|
5
|
+
|
6
|
+
__all__ = (
|
7
|
+
"BoostOpts",
|
8
|
+
"FindOpts",
|
9
|
+
"IndexOpts",
|
10
|
+
"TableOpts",
|
11
|
+
"TextDTypeOpts",
|
12
|
+
)
|
13
|
+
|
14
|
+
from dataclasses import dataclass
|
15
|
+
|
16
|
+
import betterproto2
|
17
|
+
|
18
|
+
from ..message_pool import default_message_pool
|
19
|
+
|
20
|
+
_COMPILER_VERSION = "0.9.0"
|
21
|
+
betterproto2.check_compiler_version(_COMPILER_VERSION)
|
22
|
+
|
23
|
+
|
24
|
+
@dataclass(eq=False, repr=False)
|
25
|
+
class BoostOpts(betterproto2.Message):
|
26
|
+
factor: "float" = betterproto2.field(1, betterproto2.TYPE_FLOAT)
|
27
|
+
|
28
|
+
|
29
|
+
default_message_pool.register_message("spql", "BoostOpts", BoostOpts)
|
30
|
+
|
31
|
+
|
32
|
+
@dataclass(eq=False, repr=False)
|
33
|
+
class FindOpts(betterproto2.Message):
|
34
|
+
term: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)
|
35
|
+
|
36
|
+
|
37
|
+
default_message_pool.register_message("spql", "FindOpts", FindOpts)
|
38
|
+
|
39
|
+
|
40
|
+
@dataclass(eq=False, repr=False)
|
41
|
+
class IndexOpts(betterproto2.Message):
|
42
|
+
index_id: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)
|
43
|
+
|
44
|
+
|
45
|
+
default_message_pool.register_message("spql", "IndexOpts", IndexOpts)
|
46
|
+
|
47
|
+
|
48
|
+
@dataclass(eq=False, repr=False)
|
49
|
+
class TableOpts(betterproto2.Message):
|
50
|
+
table_id: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)
|
51
|
+
|
52
|
+
|
53
|
+
default_message_pool.register_message("spql", "TableOpts", TableOpts)
|
54
|
+
|
55
|
+
|
56
|
+
@dataclass(eq=False, repr=False)
|
57
|
+
class TextDTypeOpts(betterproto2.Message):
|
58
|
+
tokenizer: "str | None" = betterproto2.field(1, betterproto2.TYPE_STRING, optional=True)
|
59
|
+
|
60
|
+
|
61
|
+
default_message_pool.register_message("spql", "TextDTypeOpts", TextDTypeOpts)
|