The Storage Adapter spec (datajoint-docs#172) documents
``dj.StorageAdapter`` as the public base class and ``dj.get_storage_adapter()``
as the lookup helper, but they were not exposed via the top-level
namespace in 2.2.3 — plugin authors following the spec literally hit
``AttributeError: module 'datajoint' has no attribute 'StorageAdapter'``.
Adds the two public symbols to ``__init__.py``:
- ``StorageAdapter`` (ABC, defined in ``src/datajoint/storage_adapter.py``)
- ``get_storage_adapter(protocol)``
The private ``_discover_adapters`` helper is intentionally not exported.
Summary
The Storage Adapter spec (datajoint-docs#172) documents dj.StorageAdapter as the public base class and dj.get_storage_adapter() as the lookup helper, but they were not exposed via the top-level namespace in 2.2.3 — plugin authors following the spec literally hit:
Surfaced by Milagros in her review of #172 (item #1).
Fix
Adds the two public symbols to src/datajoint/__init__.py (both __all__ and the import line):
The private _discover_adapters helper is intentionally not exported.
Smoke test
Release target
Candidate for 2.2.4 (alongside #1461 settings.py marker refresh, #1462 packaging dep fix).
Test plan