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)
Metadata
Release files for pydoe 1.6.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 | Provenance | |
|---|---|---|---|---|
| pydoe-1.6.0.tar.gz | 1.9 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pydoe-1.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.1 MB
Release files / pydoe-1.6.0.tar.gz
| Download URL | pydoe-1.6.0.tar.gz |
|---|---|
| Size | 1.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f08dac190923892f7419744986fdbab28057998128ad4f01061f5dcde81ec7c3
|
|
BLAKE2b-256 checksum How to use checksums |
0318c46d2f1a44eef31b6c1cd63f12b653172cbeb3504335221012f46a9e2346
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 21, 2026.
Transparency logRelease files / pydoe-1.6.0-py3-none-any.whl
| Download URL | pydoe-1.6.0-py3-none-any.whl |
|---|---|
| Size | 131.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5050cd6925db5c83fb3f6a6318b8f7b59250fa2e6f36e27309db8be128fb71ec
|
|
BLAKE2b-256 checksum How to use checksums |
731b09a05798a4c1a1c0bd8ebdd0b3c83429ea5af33dff5ab70aa5c194d184ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 21, 2026.
Transparency logSecurity for pydoe 1.6.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for pydoe-1.6.0.tar.gz
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 Oct 21, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.