timezonefinder-data 1.2026.3__py3-none-any.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.
@@ -0,0 +1,32 @@
1
+ """The timezone boundary data ``timezonefinder`` answers lookups from.
2
+
3
+ This distribution exists to give the ~63 MB dataset a release cadence of its own:
4
+ an upstream boundary release ships as a new ``timezonefinder-data`` without a
5
+ ``timezonefinder`` release, and a user who needs the answers of a particular
6
+ dataset can pin it without giving up code fixes.
7
+ """
8
+
9
+ from importlib.metadata import PackageNotFoundError, version as _metadata_version
10
+ from pathlib import Path
11
+
12
+ # The packaged data directory. A real filesystem path rather than an
13
+ # ``importlib.resources`` traversable, because ``FileCoordAccessor`` memory-maps the
14
+ # coordinate files via ``fileno()`` - which is also why the data ships inside an
15
+ # importable package instead of as bare package data.
16
+ DATA_DIR: Path = Path(__file__).parent / "data"
17
+
18
+ # The installed distribution's version, read the way ``timezonefinder.__version__``
19
+ # reads its own: from the installed metadata rather than a hand-maintained constant,
20
+ # which drifts from what is actually installed. A bug report wants both numbers, and
21
+ # only the pair says which dataset answered. ``PackageNotFoundError`` bites when the
22
+ # package is imported without being installed (a source checkout with no metadata),
23
+ # where "unknown" is honest.
24
+ try:
25
+ __version__ = _metadata_version("timezonefinder-data")
26
+ except PackageNotFoundError: # pragma: no cover - source checkout without install
27
+ __version__ = "unknown"
28
+
29
+ __all__ = (
30
+ "DATA_DIR",
31
+ "__version__",
32
+ )
@@ -0,0 +1 @@
1
+ 2026c
@@ -0,0 +1,390 @@
1
+ {
2
+ "1165": [
3
+ 2,
4
+ 270
5
+ ],
6
+ "1184": [
7
+ 15,
8
+ 272
9
+ ],
10
+ "1188": [
11
+ 44,
12
+ 287
13
+ ],
14
+ "1191": [
15
+ 2,
16
+ 331
17
+ ],
18
+ "1192": [
19
+ 37,
20
+ 333
21
+ ],
22
+ "1193": [
23
+ 20,
24
+ 370
25
+ ],
26
+ "1196": [
27
+ 1,
28
+ 390
29
+ ],
30
+ "1199": [
31
+ 28,
32
+ 391
33
+ ],
34
+ "1200": [
35
+ 3,
36
+ 419
37
+ ],
38
+ "1204": [
39
+ 1,
40
+ 422
41
+ ],
42
+ "1205": [
43
+ 16,
44
+ 423
45
+ ],
46
+ "1208": [
47
+ 4,
48
+ 439
49
+ ],
50
+ "1212": [
51
+ 2,
52
+ 443
53
+ ],
54
+ "1214": [
55
+ 1,
56
+ 445
57
+ ],
58
+ "1217": [
59
+ 2,
60
+ 446
61
+ ],
62
+ "1218": [
63
+ 5,
64
+ 448
65
+ ],
66
+ "1219": [
67
+ 3,
68
+ 453
69
+ ],
70
+ "1220": [
71
+ 14,
72
+ 456
73
+ ],
74
+ "1226": [
75
+ 12,
76
+ 470
77
+ ],
78
+ "1227": [
79
+ 6,
80
+ 482
81
+ ],
82
+ "1230": [
83
+ 1,
84
+ 488
85
+ ],
86
+ "1234": [
87
+ 1,
88
+ 489
89
+ ],
90
+ "1236": [
91
+ 7,
92
+ 490
93
+ ],
94
+ "1241": [
95
+ 21,
96
+ 497
97
+ ],
98
+ "1246": [
99
+ 3,
100
+ 518
101
+ ],
102
+ "1255": [
103
+ 1,
104
+ 521
105
+ ],
106
+ "1258": [
107
+ 5,
108
+ 522
109
+ ],
110
+ "1265": [
111
+ 2,
112
+ 527
113
+ ],
114
+ "1269": [
115
+ 1,
116
+ 529
117
+ ],
118
+ "1271": [
119
+ 2,
120
+ 530
121
+ ],
122
+ "1274": [
123
+ 2,
124
+ 532
125
+ ],
126
+ "1275": [
127
+ 4,
128
+ 534
129
+ ],
130
+ "1277": [
131
+ 13,
132
+ 538
133
+ ],
134
+ "1279": [
135
+ 17,
136
+ 551
137
+ ],
138
+ "1282": [
139
+ 2,
140
+ 568
141
+ ],
142
+ "1284": [
143
+ 1,
144
+ 570
145
+ ],
146
+ "1285": [
147
+ 11,
148
+ 571
149
+ ],
150
+ "1289": [
151
+ 2,
152
+ 582
153
+ ],
154
+ "1293": [
155
+ 13,
156
+ 584
157
+ ],
158
+ "1294": [
159
+ 1,
160
+ 597
161
+ ],
162
+ "1295": [
163
+ 4,
164
+ 598
165
+ ],
166
+ "1298": [
167
+ 6,
168
+ 602
169
+ ],
170
+ "1299": [
171
+ 14,
172
+ 608
173
+ ],
174
+ "1303": [
175
+ 4,
176
+ 622
177
+ ],
178
+ "1306": [
179
+ 4,
180
+ 626
181
+ ],
182
+ "1310": [
183
+ 32,
184
+ 630
185
+ ],
186
+ "1314": [
187
+ 34,
188
+ 662
189
+ ],
190
+ "1317": [
191
+ 37,
192
+ 696
193
+ ],
194
+ "1320": [
195
+ 22,
196
+ 733
197
+ ],
198
+ "1321": [
199
+ 1,
200
+ 755
201
+ ],
202
+ "16": [
203
+ 4,
204
+ 0
205
+ ],
206
+ "196": [
207
+ 95,
208
+ 19
209
+ ],
210
+ "248": [
211
+ 1,
212
+ 114
213
+ ],
214
+ "259": [
215
+ 2,
216
+ 115
217
+ ],
218
+ "26": [
219
+ 1,
220
+ 4
221
+ ],
222
+ "262": [
223
+ 2,
224
+ 117
225
+ ],
226
+ "280": [
227
+ 1,
228
+ 119
229
+ ],
230
+ "290": [
231
+ 1,
232
+ 120
233
+ ],
234
+ "291": [
235
+ 3,
236
+ 121
237
+ ],
238
+ "300": [
239
+ 1,
240
+ 124
241
+ ],
242
+ "33": [
243
+ 1,
244
+ 5
245
+ ],
246
+ "335": [
247
+ 1,
248
+ 125
249
+ ],
250
+ "358": [
251
+ 1,
252
+ 126
253
+ ],
254
+ "360": [
255
+ 2,
256
+ 127
257
+ ],
258
+ "370": [
259
+ 1,
260
+ 129
261
+ ],
262
+ "385": [
263
+ 1,
264
+ 130
265
+ ],
266
+ "406": [
267
+ 1,
268
+ 131
269
+ ],
270
+ "455": [
271
+ 1,
272
+ 132
273
+ ],
274
+ "457": [
275
+ 3,
276
+ 133
277
+ ],
278
+ "461": [
279
+ 1,
280
+ 136
281
+ ],
282
+ "471": [
283
+ 1,
284
+ 137
285
+ ],
286
+ "483": [
287
+ 1,
288
+ 138
289
+ ],
290
+ "497": [
291
+ 19,
292
+ 139
293
+ ],
294
+ "50": [
295
+ 2,
296
+ 6
297
+ ],
298
+ "509": [
299
+ 2,
300
+ 158
301
+ ],
302
+ "529": [
303
+ 1,
304
+ 160
305
+ ],
306
+ "535": [
307
+ 1,
308
+ 161
309
+ ],
310
+ "545": [
311
+ 2,
312
+ 162
313
+ ],
314
+ "597": [
315
+ 45,
316
+ 164
317
+ ],
318
+ "627": [
319
+ 1,
320
+ 209
321
+ ],
322
+ "677": [
323
+ 8,
324
+ 210
325
+ ],
326
+ "754": [
327
+ 21,
328
+ 218
329
+ ],
330
+ "765": [
331
+ 2,
332
+ 239
333
+ ],
334
+ "794": [
335
+ 1,
336
+ 241
337
+ ],
338
+ "795": [
339
+ 1,
340
+ 242
341
+ ],
342
+ "803": [
343
+ 6,
344
+ 243
345
+ ],
346
+ "804": [
347
+ 1,
348
+ 249
349
+ ],
350
+ "809": [
351
+ 6,
352
+ 250
353
+ ],
354
+ "84": [
355
+ 11,
356
+ 8
357
+ ],
358
+ "847": [
359
+ 2,
360
+ 256
361
+ ],
362
+ "862": [
363
+ 1,
364
+ 258
365
+ ],
366
+ "864": [
367
+ 2,
368
+ 259
369
+ ],
370
+ "877": [
371
+ 1,
372
+ 261
373
+ ],
374
+ "887": [
375
+ 2,
376
+ 262
377
+ ],
378
+ "891": [
379
+ 3,
380
+ 264
381
+ ],
382
+ "895": [
383
+ 1,
384
+ 267
385
+ ],
386
+ "915": [
387
+ 2,
388
+ 268
389
+ ]
390
+ }
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,46 @@
1
+ namespace timezonefinder.flatbuf.generated.shortcuts_uint16;
2
+
3
+ // Table representing a unique zone ID (when all polygons in hex share same zone)
4
+ // Optimized for uint16 zone IDs (0-65535)
5
+ table UniqueZone {
6
+ // Direct zone ID storage - 2 bytes per zone ID
7
+ zone_id: ushort;
8
+ }
9
+
10
+ // Table representing a list of polygon IDs (when hex contains multiple zones)
11
+ table PolygonList {
12
+ // List of polygon IDs (fixed uint16 as per requirement)
13
+ poly_ids: [ushort];
14
+ }
15
+
16
+ // Union type for the shortcut value - either unique zone or polygon list
17
+ union ShortcutValue {
18
+ UniqueZone,
19
+ PolygonList
20
+ }
21
+
22
+ // Individual shortcut entry mapping H3 hex ID to its value
23
+ table HybridShortcutEntry {
24
+ // H3 hexagon ID (uint64)
25
+ hex_id: ulong;
26
+ // The value for this hex - either unique zone or polygon list
27
+ value: ShortcutValue;
28
+ }
29
+
30
+ // Root collection containing all shortcut entries
31
+ // Optimized for uint16 zone IDs - no metadata overhead
32
+ table HybridShortcutCollection {
33
+ // All shortcut entries
34
+ entries: [HybridShortcutEntry];
35
+ // encoding of the shortcut entries; see SHORTCUT_LAYOUT_VERSION in
36
+ // timezonefinder/flatbuf/io/hybrid_shortcuts.py. absent (= 0) in files written
37
+ // before the identifier and this marker were introduced.
38
+ layout_version: ushort;
39
+ }
40
+
41
+ root_type HybridShortcutCollection;
42
+
43
+ // Distinct per zone id width on purpose: a uint16 buffer parsed under the other
44
+ // schema decodes UniqueZone.zone_id at the wrong width and yields wrong zone ids
45
+ // without failing, so the two must never be mistaken for one another.
46
+ file_identifier "TZS2";
@@ -0,0 +1,46 @@
1
+ namespace timezonefinder.flatbuf.generated.shortcuts_uint8;
2
+
3
+ // Table representing a unique zone ID (when all polygons in hex share same zone)
4
+ // Optimized for uint8 zone IDs (0-255)
5
+ table UniqueZone {
6
+ // Direct zone ID storage - 1 byte per zone ID
7
+ zone_id: ubyte;
8
+ }
9
+
10
+ // Table representing a list of polygon IDs (when hex contains multiple zones)
11
+ table PolygonList {
12
+ // List of polygon IDs (fixed uint16 as per requirement)
13
+ poly_ids: [ushort];
14
+ }
15
+
16
+ // Union type for the shortcut value - either unique zone or polygon list
17
+ union ShortcutValue {
18
+ UniqueZone,
19
+ PolygonList
20
+ }
21
+
22
+ // Individual shortcut entry mapping H3 hex ID to its value
23
+ table HybridShortcutEntry {
24
+ // H3 hexagon ID (uint64)
25
+ hex_id: ulong;
26
+ // The value for this hex - either unique zone or polygon list
27
+ value: ShortcutValue;
28
+ }
29
+
30
+ // Root collection containing all shortcut entries
31
+ // Optimized for uint8 zone IDs - no metadata overhead
32
+ table HybridShortcutCollection {
33
+ // All shortcut entries
34
+ entries: [HybridShortcutEntry];
35
+ // encoding of the shortcut entries; see SHORTCUT_LAYOUT_VERSION in
36
+ // timezonefinder/flatbuf/io/hybrid_shortcuts.py. absent (= 0) in files written
37
+ // before the identifier and this marker were introduced.
38
+ layout_version: ushort;
39
+ }
40
+
41
+ root_type HybridShortcutCollection;
42
+
43
+ // Distinct per zone id width on purpose: a uint8 buffer parsed under the other
44
+ // schema decodes UniqueZone.zone_id at the wrong width and yields wrong zone ids
45
+ // without failing, so the two must never be mistaken for one another.
46
+ file_identifier "TZS1";
@@ -0,0 +1,17 @@
1
+ namespace timezonefinder.flatbuf.generated.polygons;
2
+
3
+ table Polygon {
4
+ // all x coordinates followed by all y coordinates, in a single vector
5
+ coords:[int];
6
+ }
7
+
8
+ table PolygonCollection {
9
+ polygons:[Polygon];
10
+ // encoding of the `coords` vectors; see POLYGON_LAYOUT_VERSION in
11
+ // timezonefinder/flatbuf/io/polygons.py. absent (= 0) in files written
12
+ // before the per-axis layout was introduced.
13
+ layout_version:ushort;
14
+ }
15
+
16
+ root_type PolygonCollection;
17
+ file_identifier "TZFP";