xpublish-intake
An xpublish plugin for serving intake catalogs
Why?
As data access services are moved from custom APIs into xpublish plugins, data users need a way to discover these new plugins as they become available without changing their analysis code. One way to standardize dataset access for those that can be loaded via intake is to provide an intake catalog of the plugins endpoints.
Ideas
This plugin currently supports the xpublish.plugins.included.zarr.ZarrPlugin plugin (which is intake compatible). In the future it would be nice if this library did not have to understand each and every plugin that is intake compatible and left it up to the plugin authors to add intake catalog support into their access services where applicable. This library could provide a mixin for xpublish plugins to use to register their endpoints in a standard way to then be advertised in an intake catalog.
Installation
For conda users you can
conda install --channel conda-forge xpublish_intake
or, if you are a pip user
pip install xpublish_intake
Setup
The intake plugin will be automatically discoverd by xpublish if you have the library installed. This will work for most users if you don't need to customize the endpoints.
If you specify your plugins manually you will need to add IntakePlugin to the plugins argument of xpublish.Rest or register the IntakePlugin explicitly.
from xpublish_intake.plugins import IntakePlugin
# Included in the `plugins` map
rest = Rest(
...
plugins={
...
'intake': IntakePlugin()
}
)
# Registered explicitly
rest = Rest(...)
rest.register_plugin(IntakePlugin())
Usage
The intake plugin is by default configured with
-
app_router_prefix='/intake'which creates the/intake.yamlroute for the rootintakecatalog containing all datasets in anxpublish.Restinstance. By default that route is available athttp://.../intake.yaml. -
dataset_router_prefix=''which creates an/datasets/[name]/catalog.yamlrouter for all datasets in thexpublish.Restinstance. By default those route are available athttp://.../datasets/[name]/catalog.yaml.
Get in touch
Report bugs, suggest features or view the source code on GitHub.
License and copyright
xpublish_intake is licensed under the MIT License.
Development occurs on GitHub at https://github.com/axiom-data-science/xpublish-intake.
Metadata
Release files for xpublish-intake 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xpublish-intake-1.0.0.tar.gz | 8.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xpublish_intake-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.0 kB
Release files / xpublish-intake-1.0.0.tar.gz
| Download URL | xpublish-intake-1.0.0.tar.gz |
|---|---|
| Size | 8.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd647c3205f32734e1a0265ead68333df4dd7b564ae0f13a0a2c818bb23bcd51
|
|
BLAKE2b-256 checksum How to use checksums |
ab293d6f3c5ff6bcf0ce04093c72630bf9e7d1b8190cd1f5650eaffaf4e17eeb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.10
|
Release files / xpublish_intake-1.0.0-py3-none-any.whl
| Download URL | xpublish_intake-1.0.0-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
694c4407fb46b4a81daf90f419dbd12806487513df7d262e8be8c72317b36fba
|
|
BLAKE2b-256 checksum How to use checksums |
2613c053c50d854634845ec127c39023e813a5c2a9b375252f1f13ad7a7c0545
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.10
|