API reference

Random assignment

  • complete_ra(N, m=None, m_each=None, prob=None, prob_each=None, ...)
  • simple_ra(N, prob=None, prob_unit=None, prob_each=None, ...)
  • block_ra(blocks, block_m=None, block_prob=None, ...)
  • cluster_ra(clusters, ...)
  • block_and_cluster_ra(blocks, clusters, ...)
  • complete_ra_probabilities(...), simple_ra_probabilities(...)
  • declare_ra(method="complete", **kwargs), conduct_ra(...)

Sampling

  • complete_rs(N, n=None, prob=None, ...)
  • simple_rs(N, prob=0.5, prob_unit=None, ...)
  • strata_rs(strata, ...), cluster_rs(clusters, ...)
  • strata_and_cluster_rs(strata, clusters, ...)
  • declare_rs(method="complete", **kwargs), draw_rs(...)

Fabrication

  • fabricate(N=None, data=None, rng=None, **columns)
  • add_level(parent, N, level, parent_id="ID", **columns)
  • potential_outcomes(data, outcome, assignment, conditions, model)
  • reveal_outcomes(data, outcome, assignment, target=None)
  • resample_data(data, N=None, replace=True)
  • draw_binary, draw_binomial, draw_count, draw_categorical
  • draw_likert, draw_ordered, draw_quantile
  • draw_multivariate, draw_normal_icc, draw_binary_icc, correlate

Estimation

  • feols, fepois, feglm, and quantreg: Polars-compatible direct PyFixest wrappers
  • lm_robust(formula_or_y, data_or_X, se_type=None, weights=None, clusters=None, **fit_kwargs)
  • difference_in_means(formula, data, blocks=None, clusters=None)
  • lm_lin(formula, data, covariates, se_type="HC2")
  • horvitz_thompson(formula, data, condition_probabilities)
  • iv_robust(formula, data, se_type="HC1", clusters=None, weights=None)
  • model_matrix(formula, data)

Regression functions return native PyFixest model objects with coef(), se(), pvalue(), confint(), predict(), resid(), wildboottest(), ritest(), and tidy(). EstimateResult provides a small scalar-contrast interface for difference-in-means, Lin adjustment, and Horvitz–Thompson estimation.

Design declaration and diagnosis

  • declare_design(*steps) and the step_a + step_b composition operator
  • declare_population(N, **columns)
  • declare_potential_outcomes(...)
  • declare_inquiry(name, function) / declare_estimand(...)
  • declare_sampling(...), declare_assignment(...)
  • declare_measurement(...) / declare_reveal(...)
  • declare_estimator(formula, estimator=..., inquiry=None, label=None)
  • declare_step(handler, label, kind)
  • run_design, draw_data, draw_estimands, draw_estimates
  • simulate_design(design, sims=500, seed=None)
  • diagnose_design(design_or_simulations, sims=500, seed=None)