- Home
- Skills
- Tradingstrategy Ai
- Web3 Ethereum Defi
- Extract Test Set
extract-test-set_skill
- Python
776
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill tradingstrategy-ai/web3-ethereum-defi --skill extract-test-set- SKILL.md1.1 KB
Overview
This skill extracts a raw price dataframe for an isolated unit test from an uncleaned price database and generates a runnable pytest module plus a matching Parquet file. It automates slicing price data for a single vault (chain id and address) and embeds metadata into the generated test. The result is a reproducible, self-contained test that validates downstream logic against historical prices.
How this skill works
Provide a chain id and contract address (as a chain-explorer link) plus a test case name. The script reads DEFAULT_UNCLEANED_PRICE_DATABASE, filters the time series for the specified vault, writes a compact Parquet file containing only price data, and emits a test_xxx.py file with one test function and inline metadata pointing to the Parquet. Run pytest on the generated module to execute the isolated test.
When to use it
- Creating deterministic unit tests that depend on historical price series for a single vault.
- Isolating a failing integration test into a small, reproducible example.
- Capturing a snapshot of raw prices for regression testing after data wrangling changes.
- Sharing minimal test data with collaborators or CI without shipping the entire database.
Best practices
- Limit each generated test to a single test function to keep failures focused and easy to debug.
- Include chain id and an explorer link in the test metadata so the vault source is clear.
- Store only the price columns needed by the logic under test to minimize file size and noise.
- Version-control the generated test and Parquet together so test inputs stay synchronized.
- Run pytest immediately after generation to confirm the test and Parquet are correct.
Example use cases
- Extract prices for a PancakeSwap vault on BSC to isolate a price-normalization bug.
- Generate a regression test after changing a price-wrangling transform to ensure no drift.
- Produce a compact dataset to run in CI where the full price database is unavailable.
- Create a reproducible failing test to share with a teammate when debugging DeFi integration.
FAQ
A numeric chain id, a contract address (optionally as an explorer link), and a test case name.
What files are produced?
A pytest module named test_<case>.py containing inline metadata and a single test, plus test_<case>_price.parquet with the filtered price series.