Skip to content

add support for document.location resolver plugins #222

@keighrim

Description

@keighrim

New Feature Summary

Currently document.location values in MMIF have to be URI/IRI format, but the SDK only support file path resolution for the file protocol (which holds already resolved to a local path anyway).
As resolution logic can be very different for different URI scheme, I'd like to add "plugin"-based** support for additional local URI handlers.

Related

This was first suggested in #206 (comment) .
Also as we're building a data housing solution for Brandeis internal servers, the first scheme to add will probably a client for that datahouse.

Alternatives

Alternatively, we can add additional handlers as part of mmif-python distribution. It is obvious that the entire development-package-delivery workflow would become much simpler is that way. However here are some possible issue with such a monolithic approach.

  • when there's an update in one URI handler module, we need to release a new version of mmif-python.
  • when an external developer wants to develop a URI handler for their own data pipeline, they will have to fork the mmif-python

Additional context

** by plugins, I mean separate python packages that are NOT shipped within the mmif-python PyPI distribution. Plugins must have a common affix in the package names so that the core library (in our case, mmif.serialize module that holds the Document class and document.location retrieval methods) can load at initiation time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ✨NNew feature or request

    Type

    No type

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions