PyDOE: An Experimental Design Package for Python
PyDOE is a Python package for design of experiments (DOE), enabling scientists, engineers, and statisticians to efficiently construct experimental designs.
- Website: https://pydoe.github.io/pydoe/
- Documentation: https://pydoe.github.io/pydoe/reference/factorial/
- Source code: https://github.com/pydoe/pydoe
- Contributing: https://pydoe.github.io/pydoe/contributing/
- Bug reports: https://github.com/pydoe/pydoe/issues
Overview
The package provides extensive support for design-of-experiments (DOE) methods and is capable of creating designs for any number of factors.
It provides:
-
Factorial Designs
- General Full-Factorial (
fullfact) - 2-level Full-Factorial (
ff2n) - 2-level Fractional Factorial (
fracfact,fracfact_aliasing,fracfact_by_res,fracfact_opt,alias_vector_indices) - Plackett-Burman (
pbdesign) - Generalized Subset Designs (
gsd) - Fold-over Designs (
fold) - John's 3/4 Fractional Factorial (
john_three_quarter_design) - Latin Square Designs (
latin_square) - Graeco-Latin Square Designs (
graeco_latin_square) - Hyper-Graeco-Latin Square Designs (
hyper_graeco_latin_square) - Blocking of Full Factorial Designs (
block_full_factorial)
- General Full-Factorial (
-
Mixture Designs
- Simplex-Lattice Design (
simplex_lattice_design) - Simplex-Centroid Design (
simplex_centroid_design) - Axial (Screening) Design (
mixture_axial_design) - Extreme-Vertices Design (
extreme_vertices_design) - Mixture-Process Variable Design (
mixture_process_design)
- Simplex-Lattice Design (
-
Response-Surface Designs
- Box-Behnken (
bbdesign) - Central-Composite (
ccdesign) - Doehlert Design (
doehlert_shell_design,doehlert_simplex_design) - Star Designs (
star) - Union Designs (
union) - Repeated Center Points (
repeat_center) - Blocked Central Composite Design (
block_ccdesign) - Small Composite Design (
small_composite_design)
- Box-Behnken (
-
Space-Filling Designs
- Latin-Hypercube (
lhs) - Orthogonal Array-based Latin Hypercube (
oa_lhd) - Sliced Latin Hypercube (
sliced_lhs) - Nested Latin Hypercube (
nested_lhs) - Maximin Distance Design (
maximin_design) - Minimax Distance Design (
minimax_design) - Maximum Projection Design (
maxpro_design) - Nearly Orthogonal Latin Hypercube (
nearly_orthogonal_lhs) - Random Uniform (
random_uniform)
- Latin-Hypercube (
-
Low-Discrepancy Sequences
- Sukharev Grid (
sukharev_grid) - Sobol’ Sequence (
sobol_sequence) - Halton Sequence (
halton_sequence) - Hammersley Point Set (
hammersley_sequence) - Rank-1 Lattice Design (
rank1_lattice) - Korobov Sequence (
korobov_sequence) - Faure Sequence (
faure_sequence) - Niederreiter Sequence (
niederreiter_sequence) - Cranley-Patterson Randomization (
cranley_patterson_shift)
- Sukharev Grid (
-
Clustering Designs
- Random K-Means (
random_k_means)
- Random K-Means (
-
Sensitivity Analysis Designs
- Morris Method (
morris_sampling) - Saltelli Sampling (
saltelli_sampling) - Iman-Conover Method (
iman_conover)
- Morris Method (
-
Taguchi Designs
- Orthogonal arrays and robust design utilities (
taguchi_design,compute_snr,get_orthogonal_array,list_orthogonal_arrays,TaguchiObjective)
- Orthogonal arrays and robust design utilities (
-
Optimal Designs
- Advanced optimal design algorithms (
optimal_design) - Optimality criteria (
a_optimality,c_optimality,d_optimality,e_optimality,g_optimality,i_optimality,s_optimality,t_optimality,v_optimality) - Efficiency measures (
a_efficiency,d_efficiency) - Search algorithms (
sequential_dykstra,simple_exchange_wynn_mitchell,fedorov,modified_fedorov,detmax) - Design utilities (
criterion_value,information_matrix,build_design_matrix,build_uniform_moment_matrix,generate_candidate_set)
- Advanced optimal design algorithms (
-
Sparse Grid Designs
- Sparse Grid Design (
doe_sparse_grid) - Sparse Grid Dimension (
sparse_grid_dimension)
- Sparse Grid Design (
-
Specialized Designs
- Definitive Screening Design (
definitive_screening_design) - Supersaturated Design (
supersaturated_design)
- Definitive Screening Design (
-
Sequential / Adaptive Designs
- Sequential Design Driver (
sequential_design) - Gaussian Process Surrogate (
GaussianProcessRegressor) - Acquisition Functions (
expected_improvement,probability_of_improvement,upper_confidence_bound)
- Sequential Design Driver (
Installation
pip install pydoe
Credits
For more info see: https://pydoe.github.io/pydoe/credits/
License
This package is provided under the BSD License (3-clause)
Release files for pydoe 1.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pydoe-1.5.0.tar.gz | 1.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pydoe-1.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.1 MB
Release files / pydoe-1.5.0.tar.gz
| Download URL | pydoe-1.5.0.tar.gz |
|---|---|
| Size | 1.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b1a90b8f1da9aa4f9a0202177a0d60e37451568027828c8b3772452da86a20cb
|
|
BLAKE2b-256 checksum How to use checksums |
52b0ec2a0a8fc6430e2eeceac8ff5a3758b7d4dd3f04ae23485a9e56b0189193
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.
Transparency logRelease files / pydoe-1.5.0-py3-none-any.whl
| Download URL | pydoe-1.5.0-py3-none-any.whl |
|---|---|
| Size | 129.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9326105ae47452b59a721a8a9159a89a58c30ac231edbc2b92745d6ecfd50f5b
|
|
BLAKE2b-256 checksum How to use checksums |
267dec480e4b71300a5b2fbae8426ef23bfc1309396fa4d48a00d31e464c02d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.
Transparency log