Extensions
What for?
Extensions are an advanced concept in Metamapper. Using extensions can be a way for you to customize Metamapper to fit your needs.
Exension can be used as an easy way to adapt Metamapper to different technology stacks. We intend to support this pattern as we add new features and datastores to our catalog.
contrib
module
The The Docker bootstrap syncs Metamapper with a local directory at ./metamapper/contrib
. Python code placed in this directory will be accessible to Metamapper:
metamapper/
conf/
contrib/
__init__.py
backends/
__init__.py
custom_file_storage.py
custom_search_backend.py
requirements.txt
We currently expose the following backends as configurable:
Environment Variable | Description |
---|---|
METAMAPPER_EMAIL_BACKEND | Handles email notification deliveries. |
METAMAPPER_FILE_STORAGE_BACKEND | Handles file uploads to different cloud providers. |
METAMAPPER_SEARCH_BACKEND | Handles searching data assets (such as tables) and their annotations. |
We have plans to support inspectors as extensions so that you can easily roll out datastores that we do not support by default, such as BigQuery or Vertica. However, this feature is not yet available.
Example
See Rolling Your Own Search Backend for a brief example on adding an extension.
Installing Extra Dependencies
When you build the bootstrap, it will install any dependencies found in the requirements.txt found in the metamapper
directory of the bootstrap.
You can also update the Dockerfile to install any Linux dependencies, etc.