A Singer tap for extracting data from the Faethm Workforce API. This tap was created by Degreed and is designed to work with Meltano for data extraction and loading.
- Extracts data from Faethm's Workforce API
- Supports multiple data streams:
- Industries
- Emerging Skills (per industry)
- Trending Skills (per industry)
- Declining Skills (per industry)
- Built using the Singer SDK framework
- Includes rate limiting and timeout handling
- Configurable API base URL and authentication
# Install poetry if you haven't already
pipx install poetry
# Install package dependencies
poetry install
# Verify installation
poetry run tap-faethm --helpThe tap requires the following configuration parameters:
{
"api_base_url": "https://api.workforce.pearson.com/di/v1",
"api_key": "YOUR_API_KEY",
"country_code": "US"
}api_base_url(optional): Base URL for the Faethm API. Defaults to "https://api.workforce.pearson.com/di/v1"api_key(required): Your Faethm API authentication tokencountry_code(required): Country code for data filtering
Add to your meltano.yml file:
plugins:
extractors:
- name: tap-faethm
namespace: tap_faethm
executable: ./tap-faethm.sh
capabilities:
- state
- catalog
- discover
settings:
- name: api_base_url
value: https://api.workforce.pearson.com/di/v1
- name: api_key
kind: string
sensitive: true
- name: country_code
value: US
config:
api_base_url: $FAETHM_BASE_URL
api_key: $FAETHM_API_KEY
country_code: $FAETHM_COUNTRY_CODE- Install the tap:
meltano install extractor tap-faethm- Test the discovery mode:
meltano invoke tap-faethm --discover > catalog.json- Run the tap:
meltano invoke tap-faethm- Endpoint:
/industries - Primary key:
id - Schema:
id(string)name(string)
- Endpoint:
/industries/{industry_id}/skills/emerging - Primary key:
id - Parent stream: Industries
- Schema:
id(string)name(string)description(string)industry_id(string)
- Endpoint:
/industries/{industry_id}/skills/trending - Primary key:
id - Parent stream: Industries
- Schema:
id(string)name(string)description(string)industry_id(string)
- Endpoint:
/industries/{industry_id}/skills/declining - Primary key:
id - Parent stream: Industries
- Schema:
id(string)name(string)description(string)industry_id(string)