pyspiral 0.4.0__pp310-pypy310_pp73-macosx_10_12_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.
Files changed (98) hide show
  1. pyspiral-0.4.0.dist-info/METADATA +46 -0
  2. pyspiral-0.4.0.dist-info/RECORD +98 -0
  3. pyspiral-0.4.0.dist-info/WHEEL +4 -0
  4. pyspiral-0.4.0.dist-info/entry_points.txt +2 -0
  5. spiral/__init__.py +10 -0
  6. spiral/_lib.pypy310-pp73-darwin.so +0 -0
  7. spiral/adbc.py +393 -0
  8. spiral/api/__init__.py +64 -0
  9. spiral/api/admin.py +15 -0
  10. spiral/api/client.py +160 -0
  11. spiral/api/filesystems.py +153 -0
  12. spiral/api/organizations.py +77 -0
  13. spiral/api/projects.py +197 -0
  14. spiral/api/telemetry.py +19 -0
  15. spiral/api/types.py +20 -0
  16. spiral/api/workloads.py +52 -0
  17. spiral/arrow_.py +221 -0
  18. spiral/cli/__init__.py +79 -0
  19. spiral/cli/__main__.py +4 -0
  20. spiral/cli/admin.py +16 -0
  21. spiral/cli/app.py +65 -0
  22. spiral/cli/console.py +95 -0
  23. spiral/cli/fs.py +112 -0
  24. spiral/cli/iceberg/__init__.py +7 -0
  25. spiral/cli/iceberg/namespaces.py +47 -0
  26. spiral/cli/iceberg/tables.py +60 -0
  27. spiral/cli/indexes/__init__.py +19 -0
  28. spiral/cli/login.py +22 -0
  29. spiral/cli/orgs.py +90 -0
  30. spiral/cli/printer.py +53 -0
  31. spiral/cli/projects.py +136 -0
  32. spiral/cli/state.py +5 -0
  33. spiral/cli/tables/__init__.py +121 -0
  34. spiral/cli/telemetry.py +18 -0
  35. spiral/cli/types.py +51 -0
  36. spiral/cli/workloads.py +59 -0
  37. spiral/client.py +79 -0
  38. spiral/core/__init__.pyi +0 -0
  39. spiral/core/client/__init__.pyi +117 -0
  40. spiral/core/index/__init__.pyi +15 -0
  41. spiral/core/table/__init__.pyi +108 -0
  42. spiral/core/table/manifests/__init__.pyi +35 -0
  43. spiral/core/table/metastore/__init__.pyi +62 -0
  44. spiral/core/table/spec/__init__.pyi +214 -0
  45. spiral/datetime_.py +27 -0
  46. spiral/expressions/__init__.py +245 -0
  47. spiral/expressions/base.py +149 -0
  48. spiral/expressions/http.py +86 -0
  49. spiral/expressions/io.py +100 -0
  50. spiral/expressions/list_.py +68 -0
  51. spiral/expressions/mp4.py +62 -0
  52. spiral/expressions/png.py +18 -0
  53. spiral/expressions/qoi.py +18 -0
  54. spiral/expressions/refs.py +58 -0
  55. spiral/expressions/str_.py +39 -0
  56. spiral/expressions/struct.py +59 -0
  57. spiral/expressions/text.py +62 -0
  58. spiral/expressions/tiff.py +223 -0
  59. spiral/expressions/udf.py +46 -0
  60. spiral/grpc_.py +32 -0
  61. spiral/iceberg/__init__.py +3 -0
  62. spiral/iceberg/client.py +33 -0
  63. spiral/indexes/__init__.py +5 -0
  64. spiral/indexes/client.py +137 -0
  65. spiral/indexes/index.py +34 -0
  66. spiral/indexes/scan.py +22 -0
  67. spiral/project.py +46 -0
  68. spiral/protogen/_/__init__.py +0 -0
  69. spiral/protogen/_/arrow/__init__.py +0 -0
  70. spiral/protogen/_/arrow/flight/__init__.py +0 -0
  71. spiral/protogen/_/arrow/flight/protocol/__init__.py +0 -0
  72. spiral/protogen/_/arrow/flight/protocol/sql/__init__.py +1990 -0
  73. spiral/protogen/_/scandal/__init__.py +178 -0
  74. spiral/protogen/_/spiral/__init__.py +0 -0
  75. spiral/protogen/_/spiral/table/__init__.py +22 -0
  76. spiral/protogen/_/substrait/__init__.py +3399 -0
  77. spiral/protogen/_/substrait/extensions/__init__.py +115 -0
  78. spiral/protogen/__init__.py +0 -0
  79. spiral/protogen/substrait/__init__.py +3399 -0
  80. spiral/protogen/substrait/extensions/__init__.py +115 -0
  81. spiral/protogen/util.py +41 -0
  82. spiral/py.typed +0 -0
  83. spiral/server.py +17 -0
  84. spiral/settings.py +101 -0
  85. spiral/substrait_.py +279 -0
  86. spiral/tables/__init__.py +12 -0
  87. spiral/tables/client.py +130 -0
  88. spiral/tables/dataset.py +250 -0
  89. spiral/tables/debug/__init__.py +0 -0
  90. spiral/tables/debug/manifests.py +70 -0
  91. spiral/tables/debug/metrics.py +56 -0
  92. spiral/tables/debug/scan.py +248 -0
  93. spiral/tables/maintenance.py +12 -0
  94. spiral/tables/scan.py +193 -0
  95. spiral/tables/snapshot.py +78 -0
  96. spiral/tables/table.py +157 -0
  97. spiral/tables/transaction.py +52 -0
  98. spiral/types_.py +6 -0
@@ -0,0 +1,178 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # sources: scandal/scandal.proto
3
+ # plugin: python-betterproto
4
+ # This file has been @generated
5
+
6
+ from dataclasses import dataclass
7
+ from typing import (
8
+ TYPE_CHECKING,
9
+ Dict,
10
+ List,
11
+ Optional,
12
+ )
13
+
14
+ import betterproto
15
+ import grpclib
16
+ from betterproto.grpc.grpclib_server import ServiceBase
17
+
18
+
19
+ if TYPE_CHECKING:
20
+ import grpclib.server
21
+ from betterproto.grpc.grpclib_client import MetadataLike
22
+ from grpclib.metadata import Deadline
23
+
24
+
25
+ @dataclass(eq=False, repr=False)
26
+ class Source(betterproto.Message):
27
+ url: str = betterproto.string_field(1)
28
+ content_type: Optional[str] = betterproto.string_field(2, optional=True)
29
+ size: Optional[int] = betterproto.int64_field(3, optional=True)
30
+ parquet: "MetadataParquet" = betterproto.message_field(10, group="metadata")
31
+
32
+
33
+ @dataclass(eq=False, repr=False)
34
+ class Metadata(betterproto.Message):
35
+ pass
36
+
37
+
38
+ @dataclass(eq=False, repr=False)
39
+ class MetadataParquet(betterproto.Message):
40
+ pass
41
+
42
+
43
+ @dataclass(eq=False, repr=False)
44
+ class Sink(betterproto.Message):
45
+ url: str = betterproto.string_field(1)
46
+
47
+
48
+ @dataclass(eq=False, repr=False)
49
+ class Connectivity(betterproto.Message):
50
+ """
51
+ Information about the client's perceived connectivity to a FileSystem.
52
+ """
53
+
54
+ unreachable: bool = betterproto.bool_field(1)
55
+ round_trip_time_us: Optional[int] = betterproto.int32_field(2, optional=True)
56
+
57
+
58
+ @dataclass(eq=False, repr=False)
59
+ class Fetch(betterproto.Message):
60
+ """Let's make "fetch" happen."""
61
+
62
+ pass
63
+
64
+
65
+ @dataclass(eq=False, repr=False)
66
+ class FetchRequest(betterproto.Message):
67
+ """TODO(ngates): include projection expression."""
68
+
69
+ uri: str = betterproto.string_field(1)
70
+ """
71
+ A signed request to read an
72
+ spfs://<fsid>/path?token=<jwt&gt URI.
73
+ """
74
+
75
+ connectivity: "Connectivity" = betterproto.message_field(2)
76
+ """Declares whether the client has connectivity to the FileSystem."""
77
+
78
+ accepts: List[str] = betterproto.string_field(3)
79
+ """Declares the MIME types the client can read directly."""
80
+
81
+
82
+ @dataclass(eq=False, repr=False)
83
+ class FetchResponse(betterproto.Message):
84
+ sources: List["Source"] = betterproto.message_field(1)
85
+ """
86
+ The sources the client should use to attempt to read the file.
87
+ The client should try each source in order until it finds one that works.
88
+ """
89
+
90
+
91
+ @dataclass(eq=False, repr=False)
92
+ class Put(betterproto.Message):
93
+ pass
94
+
95
+
96
+ @dataclass(eq=False, repr=False)
97
+ class PutRequest(betterproto.Message):
98
+ uri: str = betterproto.string_field(1)
99
+ connectivity: "Connectivity" = betterproto.message_field(2)
100
+
101
+
102
+ @dataclass(eq=False, repr=False)
103
+ class PutResponse(betterproto.Message):
104
+ sinks: List["Sink"] = betterproto.message_field(1)
105
+
106
+
107
+ class ScandalServiceStub(betterproto.ServiceStub):
108
+ async def fetch(
109
+ self,
110
+ fetch_request: "FetchRequest",
111
+ *,
112
+ timeout: Optional[float] = None,
113
+ deadline: Optional["Deadline"] = None,
114
+ metadata: Optional["MetadataLike"] = None
115
+ ) -> "FetchResponse":
116
+ return await self._unary_unary(
117
+ "/scandal.ScandalService/Fetch",
118
+ fetch_request,
119
+ FetchResponse,
120
+ timeout=timeout,
121
+ deadline=deadline,
122
+ metadata=metadata,
123
+ )
124
+
125
+ async def put(
126
+ self,
127
+ put_request: "PutRequest",
128
+ *,
129
+ timeout: Optional[float] = None,
130
+ deadline: Optional["Deadline"] = None,
131
+ metadata: Optional["MetadataLike"] = None
132
+ ) -> "PutResponse":
133
+ return await self._unary_unary(
134
+ "/scandal.ScandalService/Put",
135
+ put_request,
136
+ PutResponse,
137
+ timeout=timeout,
138
+ deadline=deadline,
139
+ metadata=metadata,
140
+ )
141
+
142
+
143
+ class ScandalServiceBase(ServiceBase):
144
+ async def fetch(self, fetch_request: "FetchRequest") -> "FetchResponse":
145
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
146
+
147
+ async def put(self, put_request: "PutRequest") -> "PutResponse":
148
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
149
+
150
+ async def __rpc_fetch(
151
+ self, stream: "grpclib.server.Stream[FetchRequest, FetchResponse]"
152
+ ) -> None:
153
+ request = await stream.recv_message()
154
+ response = await self.fetch(request)
155
+ await stream.send_message(response)
156
+
157
+ async def __rpc_put(
158
+ self, stream: "grpclib.server.Stream[PutRequest, PutResponse]"
159
+ ) -> None:
160
+ request = await stream.recv_message()
161
+ response = await self.put(request)
162
+ await stream.send_message(response)
163
+
164
+ def __mapping__(self) -> Dict[str, grpclib.const.Handler]:
165
+ return {
166
+ "/scandal.ScandalService/Fetch": grpclib.const.Handler(
167
+ self.__rpc_fetch,
168
+ grpclib.const.Cardinality.UNARY_UNARY,
169
+ FetchRequest,
170
+ FetchResponse,
171
+ ),
172
+ "/scandal.ScandalService/Put": grpclib.const.Handler(
173
+ self.__rpc_put,
174
+ grpclib.const.Cardinality.UNARY_UNARY,
175
+ PutRequest,
176
+ PutResponse,
177
+ ),
178
+ }
File without changes
@@ -0,0 +1,22 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # sources: spiral/table/statistics.proto
3
+ # plugin: python-betterproto
4
+ # This file has been @generated
5
+
6
+ from dataclasses import dataclass
7
+
8
+ import betterproto
9
+
10
+
11
+ @dataclass(eq=False, repr=False)
12
+ class ApproximateSetMembership(betterproto.Message):
13
+ bloom_filter: "BloomFilter" = betterproto.message_field(
14
+ 2, group="membership_strategy"
15
+ )
16
+
17
+
18
+ @dataclass(eq=False, repr=False)
19
+ class BloomFilter(betterproto.Message):
20
+ bit_vec: bytes = betterproto.bytes_field(1)
21
+ bitmap_bits: int = betterproto.uint64_field(2)
22
+ k_num: int = betterproto.uint32_field(3)