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:

/opt/homebrew/bin/uv run python -m pytest -q

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.5.0.tar.gz (279.2 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.5.0-py3-none-any.whl (301.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stats_transformer-1.5.0.tar.gz
  • Upload date:
  • Size: 279.2 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.5.0.tar.gz
Algorithm Hash digest
SHA256 1c5542d1f2297a50ae2285c99b4a808483c161560feaf07147d436adfeeb3c6d
MD5 29e2a24da4118d1fb3ff92c3c2843d10
BLAKE2b-256 9c285fcec6ed36958e445719dd3208618577ec932ea7333d0b657735c5dd4fa4

See more details on using hashes here.

Provenance

The following attestation bundles were made for stats_transformer-1.5.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.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for stats_transformer-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d9c7896631db6b99bd0915e315b2119da3be4e330071a575346f0b4fde56c47
MD5 6089219824683de768f29377b3dadc12
BLAKE2b-256 821f192451730254b63d070ad6af0d9df9fa5354304d762e9005b60c905d329c

See more details on using hashes here.

Provenance

The following attestation bundles were made for stats_transformer-1.5.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

This release

1.5.0 This release

2 files

1.3.0

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