Metadata formatΒΆ
An example of metadata.yml
file:
---
description: "Given a valid AGI locus, fetch coexpressed genes from the ATTED-II database"
url: http://atted.jp/
main_module: main.py
name: atted_coexpressed_by_locus
type: query
version: 0.1
whitelist:
- atted.jp
The file metadata.yml
accepts the following fields:
name
- The name of the adapter
version
- The version of the adapter. Please, use semantic versioning.
type
Type of the adapter. One of:
query
generic
map_filter
passthrough
description
- Free form text to describe the purpose of the adapter.
url
- Url for the third party data source the adapter is accessing, if
any. Depending on the type of the adapter, this may be for
documentation purposes (
query
andgeneric
), or it may be used directly by Adama to access the service on behalf of the user (map_filter
andpassthrough
). whitelist
- An additional list of ip’s or domains that the adapter may need to access.
main_module
- The name (including the path relative to the root of the git
repository) of the main module for this adapter. If omitted, Adama
will search for a module named
main.*
. notify
- An url that will receive a POST with the data of the new registered adapter once it is ready to receive requests.
requirements
- A list of extra modules to add to the adapter at installation time.
These modules should be installable via the standard package manager
of the language used by the adapter (for example:
pip
for Python,gem
for Ruby, etc.) validate_request
- Whether to validate the parameters according to the provided
documentation. By default this option is
no
. If enabled, the parameters of a request are validated before passing control to the user’s code in the adapter. endpoints
- Documentation about the parameters accepted by this adapter (see documenting parameters).
json_path
This field is meaningful only for
map_filter
adapters. If the third party service returns an array of JSON objects to be processed by the adapter, then this field can be empty. Otherwise, if the array is nested inside a JSON object, this field is used to specify how to reach it.For example, if the response of the third party service is the following JSON object:
{ "status": "success", "result": { "data": [1, 2, 3, 4, 5], "name": "integers" } }
and the adapter is interested in the array of integers, then we set:
json_path: result.data