Skip to main content

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.yaml route for the root intake catalog containing all datasets in an xpublish.Rest instance. By default that route is available at http://.../intake.yaml.

  • dataset_router_prefix='' which creates an /datasets/[name]/catalog.yaml router for all datasets in the xpublish.Rest instance. By default those route are available at http://.../datasets/[name]/catalog.yaml.

Get in touch

Report bugs, suggest features or view the source code on GitHub.

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)

Source distribution for xpublish-intake 1.0.0
File Size Uploaded
xpublish-intake-1.0.0.tar.gz 8.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xpublish-intake 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page