Service-side Components¶
Adapters¶
Python Object Adapters¶
These Adapters don’t do any I/O, but instead wrap a structure in memory or its dask counterpart.
|
Adapt any mapping (dictionary-like object) to Tiled. |
|
Wrap an array-like object in an interface that Tiled can serve. |
Wrap a dataframe-like object in an interface that Tiled can serve. |
|
|
Wrap sparse Coordinate List (COO) arrays. |
File and Directory Adapters¶
|
An Adapter constructed by walking a directory and watching it for changes. |
Read a CSV. |
|
|
Read a TIFF file. |
|
|
|
Read an HDF5 file or a group within one. |
Search Queries¶
Built-in Search Query Types¶
These are simple, JSON-serializable dataclasses that define the data in a query. They do not defined how to execute a query on a given Tree.
Note
The list of built-in queries is short. Most of the power of queries comes from registering custom queries that fit your use case and can make specific assumption about your metadata / data and its meaning.
|
Search the full text of all metadata values for word matches. |
Match a specific Entry by key. |
Custom Search Query Registration¶
Keep track of all known queries types, with names. |
|
|
Register a new type of query. |
Media Type (Format) Registry¶
This is a registry of formats that the service can write upon a client’s request.
When registering new types, make reference to the IANA Media Types (formerly known as MIME types).
Global serialization registry. |
|
Registry of media types for each structure family |
|
|
Register a new media_type for a structure family. |
|
List the supported media types for a given structure family. |
|
List the aliases (file extensions) for each media type for a given structure family. |
Structures¶
For each data structure supported by tiled, there are dataclasses that encode its structure. These are very lightweight objects; they are used to inexpensively construct and a communicate a representation of the data’s shape and chunk/partition structure to the client so that it can formulate requests for slices of data and decode the responses.
See Structures for more context.
Array¶
|
|
|
See https://numpy.org/devdocs/reference/arrays.interface.html#object.__array_interface__ |
An enum of endian values: big, little, not_applicable. |
Sparse Array¶
|
DataFrame¶
Configuration Parsing¶
|
Parse configuration file or directory of configuration files. |
Given parsed configuration, construct arguments for build_app(...). |
HTTP Server Application¶
|
Serve a Tree |
Convenience function that calls build_app(...) given config as dict. |
Object Cache¶
The “object” cache is available to all Adapters to cache any objects, including serializable objects like array chunks and unserializable objects like file handles. It is a process-global singleton.
Implementation detail: It is backed by Cachey.
Adapters that use the cache must use a tuple of strings and/or numbers as a
cache key and should use a cache key of the form (class.__module__, class.__qualname__, ...)
to avoid collisions with other Adapters. See
tiled.adapters.tiff
for a generic example and see tiled.adapters.dataframe
for
an example that uses integration with dask.
Set the process-global icache. |
|
Set the process-global icache. |
|
Maximum size in bytes |
|
Get cache item. |
|
Put cache item. |
|
Discard one or more items from the cache if present. |
|
Empty the cache. |
|
Within this context, get and store dask tasks with the object cache. |
|
Discard one or more dask tasks from the cache, if present. |