keboola.vcr
VCR recording, sanitization, and validation for Keboola component HTTP interactions
Decision gist · record as of 2026-08-14
Yes, if you are testing Keboola components that make HTTP calls. The package solves a real problem—capturing and replaying API interactions safely—with low install friction and active maintenance. Its scrub_before_read feature is particularly valuable for preventing real customer data from leaking into test outputs. Not relevant for non-HTTP or non-Keboola testing scenarios.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low friction: pure Python wheel with only three runtime dependencies (vcrpy, freezegun, typing-extensions).
- Active maintenance with a release 11 days ago and no known vulnerabilities.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open and proprietary projects.
last release 2026-08-03 (11 days) · last repo commit 2026-08-03
0 known vulnerabilities (OSV.dev, 2026-08-14) · 129,136 downloads/mo, #11,679 on PyPI
Alternatives
Verify before relying
pip install keboola.vcr
from keboola.vcr.recorder import VCRRecorder
from keboola.vcr.sanitizers import DefaultSanitizer
recorder = VCRRecorder(
cassette_dir="tests/cassettes/my_test",
secrets={"api_key": "secret"},
)- Whether scrub_before_read mode works reliably across all output formats (CSV, Parquet, direct-to-Storage) mentioned in the description.
- Performance characteristics when recording large HTTP interactions or many sequential requests.
- Compatibility with async/concurrent HTTP libraries beyond what vcrpy natively supports.
What it is and what it does
keboola.vcr is a testing utility that records real HTTP interactions made by Keboola data components, stores them as replayable JSON cassettes, and sanitizes sensitive data before saving. It wraps vcrpy and freezegun to capture and replay API responses deterministically, letting you test components against recorded interactions without hitting live APIs repeatedly.
The package's main value is its sanitization layer: it can redact secrets and tokens from cassettes before storage (cassette-only mode), or redact sensitive fields from responses before the component even reads them (scrub_before_read mode), preventing real customer data from leaking into test outputs. It also validates component output against snapshots to catch regressions.
Use it for
- Record live API responses during component development, then replay them in CI/CD without external API calls or rate limits.
- Redact API keys, tokens, and customer PII from cassettes before committing them to version control.
- Prevent real sensitive data from reaching component output by scrubbing response fields before the component processes them.
- Generate test directory scaffolding from component configuration definitions to standardize test setup.
- Compare component output snapshots across runs to detect unintended behavior changes or regressions.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are testing Keboola components that make HTTP calls.
The package solves a real problem—capturing and replaying API interactions safely—with low install friction and active maintenance. Its scrub_before_read feature is particularly valuable for preventing real customer data from leaking into test outputs. Not relevant for non-HTTP or non-Keboola testing scenarios.
Install
keboola-vcr on PyPI
Before you install
Low friction: pure Python wheel with only three runtime dependencies (vcrpy, freezegun, typing-extensions). Active maintenance with a release 11 days ago and no known vulnerabilities.
Requires Python 3.10 or later.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open and proprietary projects.
Quickstart
pip install keboola.vcr
from keboola.vcr.recorder import VCRRecorder
from keboola.vcr.sanitizers import DefaultSanitizer
recorder = VCRRecorder(
cassette_dir="tests/cassettes/my_test",
secrets={"api_key": "secret"},
)
Verify before relying
- Whether scrub_before_read mode works reliably across all output formats (CSV, Parquet, direct-to-Storage) mentioned in the description.
- Performance characteristics when recording large HTTP interactions or many sequential requests.
- Compatibility with async/concurrent HTTP libraries beyond what vcrpy natively supports.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesvcrpyfreezeguntyping-extensions |
| Maintenance | Actively maintained 11 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 129,136 / month, #11,679 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13 |
Evidence: keboola_vcr-0.7.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “api response cassette sanitization”
- keboola.vcrRecords, sanitizes, and validates HTTP interactions for Keboola…
- betamaxBetamax records and replays HTTP interactions made through the…
- vcrpy-unittestProvides a unittest base class that automatically records and replays…
Give your agent the search over MCP, or paste the wish link into any chat.
More Testing packages
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
pytest-asyncio is a pytest plugin that enables writing and running async test functions using the asyncio library, allowing developers to await code directly within test cases.
Install it if you write tests for any asyncio-based code.
A pytest plugin that generates test reports in Common Test Report Format (CTRF) as JSON, compatible with pytest-xdist and pytest-playwright for distributed and browser-based testing.
Install it if you need CTRF-formatted test output for CI/CD integration or cross-tool reporting.
See also asciinema · pytest-vcr · vcrpy · pytest-recording · keboola.component · betamax · vcrpy-unittest · kbcstorage · placebo · eradicate