Install & Compatibility
Where this runs
tested against v0.4.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
py 3.11
✕ build_error
✕ build_error
py 3.12
✕ build_error
✕ build_error
py 3.13
✕ build_error
✕ build_error
70MB installed
● package 70MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Tap
✓ from singer_sdk import Tap
While `tap-gladly` is primarily a command-line utility, `singer_sdk.Tap` is the base class it extends. This import is relevant for developers extending or inspecting the tap's internal structure, not for typical end-user execution.
This quickstart demonstrates how to run `tap-gladly` as a standalone Singer tap. It first sets up a basic `config.json` with a placeholder API token and a `start_date` for historical data extraction. Then, it uses the `--discover` flag to generate a `catalog.json` detailing available data streams and their schemas. Finally, it executes a data sync using the generated catalog, an empty `state.json` (for the initial run), and outputs the extracted data in JSONL format to `data.jsonl`. Replace `your_gladly_api_token` and `https://your-gladly-instance.gladly.com` with your actual Gladly API credentials and instance URL.
export GLADLY_API_TOKEN="your_gladly_api_token"
# 1. Create a minimal configuration file (config.json)
cat <<EOF > config.json
{
"api_url": "https://your-gladly-instance.gladly.com",
"api_token": "$GLADLY_API_TOKEN",
"start_date": "2023-01-01T00:00:00Z"
}
EOF
# 2. Discover available streams and their schemas
tap-gladly --config config.json --discover > catalog.json
# 3. Perform a data sync (extract data)
tap-gladly --config config.json --catalog catalog.json --state state.json > data.jsonl
# (Optional) View the first few lines of extracted data
head data.jsonl
tap-gladly --version
Debug
Known issues
breakingMajor version updates to the Gladly API or changes in the underlying Singer schema (e.g., modifying primary keys, making schemas more restrictive) can introduce breaking changes. Always review release notes for `tap-gladly` and the Gladly API before upgrading.fixConsult the `tap-gladly` release notes and the Gladly API documentation. Update your `catalog.json` if schemas have changed and adjust downstream consumers as necessary.
affects: All versions, potential with upstream API changes
gotchaAPI rate limits are common for external services like Gladly. Excessive requests without proper backoff or concurrency management can lead to temporary blocks or errors. `tap-gladly` relies on the Meltano SDK's handling, but aggressive syncs may still hit limits.fixEnsure your `tap-gladly` configuration respects API rate limits if available. If running within Meltano, consider configuring `Meltano`'s `max_workers` or `concurrency` settings. Review Gladly's API documentation for specific rate limit details.
affects: All versions
gotchaAll date and time values, especially `start_date` in the configuration, should strictly adhere to the RFC3339 format, preferably in UTC (e.g., `2023-01-01T00:00:00Z`). Incorrect formats can lead to parsing errors or unexpected data extraction ranges.fixAlways use ISO 8601 / RFC3339 compliant date-time strings, including timezone information (e.g., 'Z' for UTC or an offset like '+00:00').
affects: All versions
gotchaThe tap has a strict Python version requirement, supporting Python 3.7.1 up to, but not including, Python 3.11. Using unsupported Python versions may lead to installation failures or runtime errors.fixEnsure your environment uses a compatible Python version (e.g., 3.8, 3.9, 3.10). Consider using a virtual environment to manage Python versions.
affects: >=0.1.0
Upgrade
Version history
0.4.1latest on PyPI · released Oct 28, 2022
Audit
Dependencies
pythonrequiredRequires Python versions 3.7.1 up to, but not including, 3.11.