Skip to main content

stats-transformer

stats-transformer is a Python library for macroeconomic data transformation, analysis, and visualization. Built around a configuration-driven architecture, it handles data ingestion, resampling, feature engineering, and econometric modeling for time-series and panel datasets.

Features

  • Feature Engineering: Advanced data transformations, frequency alignment, and robust merging capabilities for disparate datasets.
  • Econometric Modeling: Built-in support for standard OLS, Robust OLS, Panel Regression, IV regression, discrete choice, time-series models, and unsupervised learning models (PCA, KMeans).
  • Visualization: Automated generation of Exploratory Data Analysis (EDA) and regression model visual summaries (e.g., coefficient plots, residual plots, time-series tracking). Now includes a modular suite of standalone chart components for custom research plots.
  • Configuration-Driven Orchestration: Fully integrated with YAML configuration (params.yaml) to enable reproducible, stage-based execution compatible with DVC pipelines.

Quickstart

1. Installation

To use it in your project via PyPI:

pip install stats-transformer

Or add it with uv:

uv add stats-transformer

For local development from this repository:

uv sync

2. Configuration (params.yaml)

Define your data sources, pipeline parameters, and model specifications in a params.yaml file:

data:
  featurization:
    entity_column: country
  datasets:
    - name: macro_data
      path: data/raw/macro_indicators.csv
      frequency: Q

model:
  model_type: panel_ols
  target_variable: gdp_growth
  independent_variables:
    - interest_rate
    - inflation

visualization:
  output_dir: reports/visualizations

3. Usage

Load a packaged example dataset:

from stats_transformer.data import list_examples, load_example

print(list_examples())
df = load_example("macrodb_gdp_inflation")

You can execute the pipeline via the command line using the Pipeline orchestrator:

# Run the full end-to-end pipeline
uv run python -m stats_transformer.pipeline --config params.yaml

Or you can interact with the API programmatically:

from stats_transformer import Pipeline

# Initialize the pipeline with your configuration
pipeline = Pipeline(params_path="params.yaml")

# Run specific stages sequentially
merged_data = pipeline.run(stage="resample")
transformed_data = pipeline.run(stage="features")
model_results = pipeline.run(stage="regression")

# Generate and save visualizations
pipeline.run(stage="visualization")

4. Testing

Verify the installation and library integrity by running the test suite:

uv run pytest tests

For more details on test coverage, see the Testing Suite.

Documentation

Agent Skill

Source checkouts of this repository include an optional stats-transformer-architecture agent skill for AI coding tools. It gives agents a compact map of the library architecture, pipeline stages, model contracts, and feature-engineering vocabulary.

The canonical skill source lives at .agents/skills/stats-transformer-architecture/. From the repository root, use the local terminal to run scripts/install-agent-skill.sh, which installs or refreshes tool-specific copies for Claude Code, OpenAI Codex, or Kilo Code:

./scripts/install-agent-skill.sh all

You can also target one tool at a time:

./scripts/install-agent-skill.sh claude
./scripts/install-agent-skill.sh codex
./scripts/install-agent-skill.sh kilo

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stats_transformer-1.3.0.tar.gz (257.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stats_transformer-1.3.0-py3-none-any.whl (270.0 kB view details)

Uploaded Python 3

File details

Details for the file stats_transformer-1.3.0.tar.gz.

File metadata

  • Download URL: stats_transformer-1.3.0.tar.gz
  • Upload date:
  • Size: 257.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for stats_transformer-1.3.0.tar.gz
Algorithm Hash digest
SHA256 73b828253fb7c3d93f60d8283399a0153df751c620933bd056d53843a117b238
MD5 ecdd14fda9214f35c958005bc07edc79
BLAKE2b-256 a10b34077ae2aa48bfb2d4b514d2da0d1cf6a712ea3159361dc751dea4cec45f

See more details on using hashes here.

Provenance

The following attestation bundles were made for stats_transformer-1.3.0.tar.gz:

Publisher: publish.yml on corybaird/stats-transformer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stats_transformer-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for stats_transformer-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 283fac441b30c5478c1c96ac90be0602daf77cae52b338cb9116896f9c8a1b2e
MD5 6440ff7745c3e70af870a4d4f87e7763
BLAKE2b-256 cdc76318980b7b7a40ca4efa985f74c4ab15e898d3362b99e54ed32e27dfe919

See more details on using hashes here.

Provenance

The following attestation bundles were made for stats_transformer-1.3.0-py3-none-any.whl:

Publisher: publish.yml on corybaird/stats-transformer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.6.0

2 files

1.5.1

2 files

1.5.0

2 files

This release

1.3.0 This release

2 files

1.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page