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_categoricaldraw_likert,draw_ordered,draw_quantiledraw_multivariate,draw_normal_icc,draw_binary_icc,correlate
Estimation
feols,fepois,feglm, andquantreg: Polars-compatible direct PyFixest wrapperslm_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 thestep_a + step_bcomposition operatordeclare_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_estimatessimulate_design(design, sims=500, seed=None)diagnose_design(design_or_simulations, sims=500, seed=None)