Skip to content

Commit 5dc6dcc

Browse files
committed
Rename Registries to be clear on purpose
1 parent 4d9d2c0 commit 5dc6dcc

File tree

14 files changed

+127
-94
lines changed

14 files changed

+127
-94
lines changed

docs/source/reference/service.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ When registering new types, make reference to the
7979
.. autosummary::
8080
:toctree: generated
8181
82-
tiled.media_type_registration.serialization_registry
8382
tiled.media_type_registration.SerializationRegistry
8483
tiled.media_type_registration.SerializationRegistry.register
8584
tiled.media_type_registration.SerializationRegistry.media_types

tiled/client/container.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from ..adapters.utils import IndexersMixin
1515
from ..iterviews import ItemsView, KeysView, ValuesView
1616
from ..queries import KeyLookup
17-
from ..query_registration import query_registry
17+
from ..query_registration import default_query_registry
1818
from ..structures.core import Spec, StructureFamily
1919
from ..structures.data_source import DataSource
2020
from ..utils import UNCHANGED, OneShotCachedMap, Sentinel, node_repr, safe_json_dump
@@ -986,7 +986,7 @@ def _queries_to_params(*queries):
986986
"Compute GET params from the queries."
987987
params = collections.defaultdict(list)
988988
for query in queries:
989-
name = query_registry.query_type_to_name[type(query)]
989+
name = default_query_registry.query_type_to_name[type(query)]
990990
for field, value in query.encode().items():
991991
if value is not None:
992992
params[f"filter[{name}][condition][{field}]"].append(value)

tiled/config.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,20 @@
1010
from datetime import timedelta
1111
from functools import cache
1212
from pathlib import Path
13+
from typing import Optional
1314

1415
import jsonschema
1516

1617
from .adapters.mapping import MapAdapter
1718
from .media_type_registration import (
18-
compression_registry as default_compression_registry,
19+
CompressionRegistry,
20+
SerializationRegistry,
21+
default_compression_registry,
22+
default_serialization_registry,
1923
)
20-
from .media_type_registration import (
21-
serialization_registry as default_serialization_registry,
22-
)
23-
from .query_registration import query_registry as default_query_registry
24+
from .query_registration import QueryRegistry, default_query_registry
2425
from .utils import import_object, parse, prepend_to_sys_path
25-
from .validation_registration import validation_registry as default_validation_registry
26+
from .validation_registration import ValidationRegistry, default_validation_registry
2627

2728

2829
@cache
@@ -40,10 +41,10 @@ def construct_build_app_kwargs(
4041
config,
4142
*,
4243
source_filepath=None,
43-
query_registry=None,
44-
compression_registry=None,
45-
serialization_registry=None,
46-
validation_registry=None,
44+
query_registry: Optional[QueryRegistry] = None,
45+
compression_registry: Optional[CompressionRegistry] = None,
46+
serialization_registry: Optional[SerializationRegistry] = None,
47+
validation_registry: Optional[ValidationRegistry] = None,
4748
):
4849
"""
4950
Given parsed configuration, construct arguments for build_app(...).

tiled/media_type_registration.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -197,21 +197,21 @@ def __call__(self, media_type, encoder, *args, **kwargs):
197197
return self.dispatch(media_type, encoder)(*args, **kwargs)
198198

199199

200-
serialization_registry = SerializationRegistry()
200+
default_serialization_registry = SerializationRegistry()
201201
"Global serialization registry. See Registry for usage examples."
202202

203-
deserialization_registry = SerializationRegistry()
203+
default_deserialization_registry = SerializationRegistry()
204204
"Global deserialization registry. See Registry for usage examples."
205205

206-
compression_registry = CompressionRegistry()
206+
default_compression_registry = CompressionRegistry()
207207
"Global compression registry. See Registry for usage examples."
208208

209209

210210
for media_type in [
211211
"application/json",
212212
"application/x-msgpack",
213213
]:
214-
compression_registry.register(
214+
default_compression_registry.register(
215215
media_type,
216216
"gzip",
217217
lambda buffer: gzip.GzipFile(mode="wb", fileobj=buffer, compresslevel=9),
@@ -225,7 +225,7 @@ def __call__(self, media_type, encoder, *args, **kwargs):
225225
"text/plain",
226226
"text/html",
227227
]:
228-
compression_registry.register(
228+
default_compression_registry.register(
229229
media_type,
230230
"gzip",
231231
# Use a lower compression level. High compression is extremely slow
@@ -270,7 +270,7 @@ def close(self):
270270
"text/html",
271271
"text/plain",
272272
]:
273-
compression_registry.register(media_type, "zstd", ZstdBuffer)
273+
default_compression_registry.register(media_type, "zstd", ZstdBuffer)
274274

275275
if modules_available("lz4"):
276276
import lz4
@@ -326,7 +326,7 @@ def close(self):
326326
"text/html",
327327
"text/plain",
328328
]:
329-
compression_registry.register(media_type, "lz4", LZ4Buffer)
329+
default_compression_registry.register(media_type, "lz4", LZ4Buffer)
330330

331331
if modules_available("blosc2"):
332332
import blosc2
@@ -355,4 +355,4 @@ def close(self):
355355
pass
356356

357357
for media_type in ["application/octet-stream", APACHE_ARROW_FILE_MIME_TYPE]:
358-
compression_registry.register(media_type, "blosc2", BloscBuffer)
358+
default_compression_registry.register(media_type, "blosc2", BloscBuffer)

tiled/query_registration.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ def inner(cls):
7979

8080

8181
# Make a global registry.
82-
query_registry = QueryRegistry()
83-
register = query_registry.register
82+
default_query_registry = QueryRegistry()
83+
register = default_query_registry.register
8484
"""Register a new type of query."""
8585

8686

tiled/serialization/array.py

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33

44
import numpy
55

6-
from ..media_type_registration import deserialization_registry, serialization_registry
6+
from ..media_type_registration import (
7+
default_deserialization_registry,
8+
default_serialization_registry,
9+
)
710
from ..utils import (
811
SerializationError,
912
UnsupportedShape,
@@ -22,13 +25,13 @@ def as_buffer(array, metadata):
2225
return numpy.asarray(array).tobytes()
2326

2427

25-
serialization_registry.register(
28+
default_serialization_registry.register(
2629
"array",
2730
"application/octet-stream",
2831
as_buffer,
2932
)
3033
if modules_available("orjson"):
31-
serialization_registry.register(
34+
default_serialization_registry.register(
3235
"array",
3336
"application/json",
3437
lambda array, metadata: safe_json_dump(array),
@@ -43,10 +46,12 @@ def serialize_csv(array, metadata):
4346
return file.getvalue().encode()
4447

4548

46-
serialization_registry.register("array", "text/csv", serialize_csv)
47-
serialization_registry.register("array", "text/x-comma-separated-values", serialize_csv)
48-
serialization_registry.register("array", "text/plain", serialize_csv)
49-
deserialization_registry.register(
49+
default_serialization_registry.register("array", "text/csv", serialize_csv)
50+
default_serialization_registry.register(
51+
"array", "text/x-comma-separated-values", serialize_csv
52+
)
53+
default_serialization_registry.register("array", "text/plain", serialize_csv)
54+
default_deserialization_registry.register(
5055
"array",
5156
"application/octet-stream",
5257
lambda buffer, dtype, shape: numpy.frombuffer(buffer, dtype=dtype).reshape(shape),
@@ -90,10 +95,10 @@ def array_from_buffer_PIL(buffer, format, dtype, shape):
9095
image = Image.open(file, format=format)
9196
return numpy.asarray(image).asdtype(dtype).reshape(shape)
9297

93-
serialization_registry.register(
98+
default_serialization_registry.register(
9499
"array", "image/png", lambda array, metadata: save_to_buffer_PIL(array, "png")
95100
)
96-
deserialization_registry.register(
101+
default_deserialization_registry.register(
97102
"array",
98103
"image/png",
99104
lambda buffer, dtype, shape: array_from_buffer_PIL(buffer, "png", dtype, shape),
@@ -120,18 +125,24 @@ def save_to_buffer_tifffile(array, metadata):
120125
imwrite(file, normalized_array)
121126
return file.getbuffer()
122127

123-
serialization_registry.register("array", "image/tiff", save_to_buffer_tifffile)
124-
deserialization_registry.register("array", "image/tiff", array_from_buffer_tifffile)
128+
default_serialization_registry.register(
129+
"array", "image/tiff", save_to_buffer_tifffile
130+
)
131+
default_deserialization_registry.register(
132+
"array", "image/tiff", array_from_buffer_tifffile
133+
)
125134

126135

127136
def serialize_html(array, metadata):
128137
"Try to display as image. Fall back to CSV."
129138
try:
130-
png_data = serialization_registry.dispatch("array", "image/png")(
139+
png_data = default_serialization_registry.dispatch("array", "image/png")(
131140
array, metadata
132141
)
133142
except Exception:
134-
csv_data = serialization_registry.dispatch("array", "text/csv")(array, metadata)
143+
csv_data = default_serialization_registry.dispatch("array", "text/csv")(
144+
array, metadata
145+
)
135146
return "<html>" "<body>" f"{csv_data.decode()!s}" "</body>" "</html>"
136147
else:
137148
return (
@@ -145,4 +156,4 @@ def serialize_html(array, metadata):
145156
)
146157

147158

148-
serialization_registry.register("array", "text/html", serialize_html)
159+
default_serialization_registry.register("array", "text/html", serialize_html)

tiled/serialization/awkward.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@
33

44
import awkward
55

6-
from ..media_type_registration import deserialization_registry, serialization_registry
6+
from ..media_type_registration import (
7+
default_deserialization_registry,
8+
default_serialization_registry,
9+
)
710
from ..structures.core import StructureFamily
811
from ..utils import APACHE_ARROW_FILE_MIME_TYPE, modules_available
912

1013

11-
@serialization_registry.register(StructureFamily.awkward, "application/zip")
14+
@default_serialization_registry.register(StructureFamily.awkward, "application/zip")
1215
def to_zipped_buffers(components, metadata):
1316
(form, length, container) = components
1417
file = io.BytesIO()
@@ -22,7 +25,7 @@ def to_zipped_buffers(components, metadata):
2225
return file.getbuffer()
2326

2427

25-
@deserialization_registry.register(StructureFamily.awkward, "application/zip")
28+
@default_deserialization_registry.register(StructureFamily.awkward, "application/zip")
2629
def from_zipped_buffers(buffer, form, length):
2730
file = io.BytesIO(buffer)
2831
with zipfile.ZipFile(file, "r") as zip:
@@ -33,7 +36,7 @@ def from_zipped_buffers(buffer, form, length):
3336
return container
3437

3538

36-
@serialization_registry.register(StructureFamily.awkward, "application/json")
39+
@default_serialization_registry.register(StructureFamily.awkward, "application/json")
3740
def to_json(components, metadata):
3841
(form, length, container) = components
3942
file = io.StringIO()
@@ -44,7 +47,7 @@ def to_json(components, metadata):
4447

4548
if modules_available("pyarrow"):
4649

47-
@serialization_registry.register(
50+
@default_serialization_registry.register(
4851
StructureFamily.awkward, APACHE_ARROW_FILE_MIME_TYPE
4952
)
5053
def to_arrow(components, metadata):
@@ -60,7 +63,9 @@ def to_arrow(components, metadata):
6063

6164
# There seems to be no official Parquet MIME type.
6265
# https://issues.apache.org/jira/browse/PARQUET-1889
63-
@serialization_registry.register(StructureFamily.awkward, "application/x-parquet")
66+
@default_serialization_registry.register(
67+
StructureFamily.awkward, "application/x-parquet"
68+
)
6469
def to_parquet(components, metadata):
6570
import pyarrow.parquet
6671

tiled/serialization/container.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import io
22

3-
from ..media_type_registration import serialization_registry
3+
from ..media_type_registration import default_serialization_registry
44
from ..structures.core import StructureFamily
55
from ..utils import (
66
SerializationError,
@@ -78,7 +78,7 @@ async def serialize_hdf5(node, metadata, filter_for_access):
7878
dataset.attrs.create(k, v)
7979
return buffer.getbuffer()
8080

81-
serialization_registry.register(
81+
default_serialization_registry.register(
8282
StructureFamily.container, "application/x-hdf5", serialize_hdf5
8383
)
8484

@@ -101,6 +101,6 @@ async def serialize_json(node, metadata, filter_for_access):
101101
d = d[key]["contents"]
102102
return safe_json_dump(to_serialize)
103103

104-
serialization_registry.register(
104+
default_serialization_registry.register(
105105
StructureFamily.container, "application/json", serialize_json
106106
)

tiled/serialization/sparse.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import io
22

3-
from ..media_type_registration import deserialization_registry, serialization_registry
3+
from ..media_type_registration import (
4+
default_deserialization_registry,
5+
default_serialization_registry,
6+
)
47
from ..utils import modules_available
58

69
if modules_available("h5py"):
@@ -19,7 +22,9 @@ def serialize_hdf5(sparse_arr, metadata):
1922
file.attrs.create(k, v)
2023
return buffer.getbuffer()
2124

22-
serialization_registry.register("sparse", "application/x-hdf5", serialize_hdf5)
25+
default_serialization_registry.register(
26+
"sparse", "application/x-hdf5", serialize_hdf5
27+
)
2328

2429
if modules_available("pandas", "pyarrow"):
2530
import pandas
@@ -37,7 +42,7 @@ def serialize_hdf5(sparse_arr, metadata):
3742
if modules_available("openpyxl"):
3843
from .table import serialize_excel
3944

40-
serialization_registry.register(
45+
default_serialization_registry.register(
4146
"sparse",
4247
XLSX_MIME_TYPE,
4348
lambda sparse_arr, metadata: serialize_excel(
@@ -52,38 +57,38 @@ def to_dataframe(sparse_arr):
5257
d["data"] = sparse_arr.data
5358
return pandas.DataFrame(d)
5459

55-
deserialization_registry.register(
60+
default_deserialization_registry.register(
5661
"sparse", APACHE_ARROW_FILE_MIME_TYPE, deserialize_arrow
5762
)
58-
serialization_registry.register(
63+
default_serialization_registry.register(
5964
"sparse",
6065
APACHE_ARROW_FILE_MIME_TYPE,
6166
lambda sparse_arr, metadata: serialize_arrow(
6267
to_dataframe(sparse_arr), metadata, preserve_index=False
6368
),
6469
)
65-
serialization_registry.register(
70+
default_serialization_registry.register(
6671
"sparse",
6772
"application/x-parquet",
6873
lambda sparse_arr, metadata: serialize_parquet(
6974
to_dataframe(sparse_arr), metadata, preserve_index=False
7075
),
7176
)
72-
serialization_registry.register(
77+
default_serialization_registry.register(
7378
"sparse",
7479
"text/csv",
7580
lambda sparse_arr, metadata: serialize_csv(
7681
to_dataframe(sparse_arr), metadata, preserve_index=False
7782
),
7883
)
79-
serialization_registry.register(
84+
default_serialization_registry.register(
8085
"sparse",
8186
"text/plain",
8287
lambda sparse_arr, metadata: serialize_csv(
8388
to_dataframe(sparse_arr), metadata, preserve_index=False
8489
),
8590
)
86-
serialization_registry.register(
91+
default_serialization_registry.register(
8792
"sparse",
8893
"text/html",
8994
lambda sparse_arr, metadata: serialize_html(
@@ -99,7 +104,7 @@ def serialize_json(sparse_arr, metadata):
99104
{column: df[column].tolist() for column in df},
100105
)
101106

102-
serialization_registry.register(
107+
default_serialization_registry.register(
103108
"sparse",
104109
"application/json",
105110
serialize_json,

0 commit comments

Comments
 (0)