Changelog¶
All notable changes to PyDOE are documented here.
Latest¶
Added¶
- Latin square (
latin_square), Graeco-Latin square (graeco_latin_square), and hyper-Graeco-Latin square (hyper_graeco_latin_square) designs — remove the effect of two, three, or more nuisance factors using mutually orthogonal Latin squares — @saudzahirr - Hammersley point set (
hammersley_sequence) — finite, fixed-size low-discrepancy point set with one equispaced coordinate and the remaining coordinates from the Halton sequence — @saudzahirr - Iman-Conover method (
iman_conover) — induces a target rank correlation structure among sampled variables while preserving their marginal distributions — @saudzahirr - Mixture axial (screening) design (
mixture_axial_design) — places one point at the simplex centroid and one axial point per component for screening blending effects — @saudzahirr - Extreme-vertices design (
extreme_vertices_design) — enumerates the vertices of a constrained mixture region defined by per-component lower/upper bounds — @saudzahirr - Mixture-process variable design (
mixture_process_design) — crosses a mixture design with an independent process-variable design — @saudzahirr - Blocking of full factorial designs (
block_full_factorial) — splits a \(2^k\) factorial into \(2^p\) blocks by confounding chosen interactions with block effects — @saudzahirr - Orthogonally-blocked central composite design (
block_ccdesign) — splits a CCD into a factorial block and an axial block withalphachosen for orthogonal blocking — @saudzahirr - Hartley's small composite design (
small_composite_design) — augments a resolution-III fractional factorial with star points, requiring fewer runs than a standard CCD — @saudzahirr - Definitive screening design (
definitive_screening_design) — three-level Jones-Nachtsheim design requiring only \(2k+1\) runs, built from a Paley conference matrix and its fold-over — @saudzahirr - Supersaturated design (
supersaturated_design) — random-search construction of \(k > n\) two-level designs minimizing \(E(s^2)\) for screening under effect sparsity — @saudzahirr - Orthogonal array-based Latin hypercube design (
oa_lhd) — Tang's (1993) construction turning a symmetric orthogonal array into a Latin hypercube with improved two-dimensional uniformity — @saudzahirr - Sliced Latin hypercube design (
sliced_lhs) — partitions an \(N=mt\)-point Latin hypercube into \(t\) slices of \(m\) points, each a Latin hypercube in its own right — @saudzahirr
v1.1.0 2026-06-09¶
Added¶
- Simplex-lattice design (
simplex_lattice_design) — mixture experiment design placing lattice points on the q-component simplex at resolution 1/m; supports fitting Scheffé polynomial models of degree m — @saudzahirr - Simplex-centroid design (
simplex_centroid_design) — mixture experiment design with the centroids of all \(2^q - 1\) non-empty subsets; supports estimation of all Scheffé interaction blending coefficients — @saudzahirr - John's 3/4 fractional factorial design (
john_three_quarter_design) — semifoldover design using exactly 3/4 of the runs of the next full \(2^k\) design; de-aliases all two-factor interactions involving the chosen factor — @saudzahirr
Fixed¶
- Eliminate 604 test warnings by correctly catching
scipy.linalg.LinAlgWarninginregularized_inv; suppress scipy Sobol advisory in the Saltelli path — @saudzahirr
Documentation¶
- Fix contributing docs to reference
zensicalinstead ofmkdocs serve— @saudzahirr - Add
Mixture Designsreference page — @saudzahirr
v1.0.2 2026-05-17¶
Added¶
- Add theory documentation pages (#114) — @saudzahirr
Fixed¶
- Fix typo in
factorial.md(#111) — @saudzahirr
v1.0.1 2026-05-05¶
Patch release following the 1.0.0 stable release. — @saudzahirr
v1.0.0 2026-05-05¶
First stable release. No breaking changes from 0.9.9.
v0.9.9 2026-04-07¶
Documentation¶
- Migrate documentation tooling from MkDocs to Zensical (#71) — @saudzahirr
- Update copyright information (#92) — @saudzahirr
v0.9.8 2026-03-31¶
Fixed¶
- Fix unexpected number of runs generated for fractional factorial designs (#89) — @Noor-Mustafa123
Documentation¶
- Format and clean up documentation (#78) — @saudzahirr
v0.9.7 2026-02-21¶
Added¶
- Compatibility shim for legacy
pyDOEimport paths (#70) — @laraibg786
v0.9.6 2026-02-16¶
Changed¶
- Restructure codebase into modular package layout (#63) — @laraibg786
- Rename modules to
snake_caseto comply with PEP 8 (#62) — @saudzahirr
Fixed¶
- Use
np.isclosefor logical float comparison inpbdesign(#65) — @saudzahirr
v0.9.5 2026-02-11¶
Changed¶
- Refresh documentation badges and
project.urls(#59) — @saudzahirr
v0.9.4 2026-02-10¶
First public PyPI release.
Added¶
- Factorial designs resolution table in documentation (#54) — @saudzahirr
- Type annotations throughout the codebase (#49) — @saudzahirr
- Ruff as default linter and formatter with Codecov integration (#47) — @saudzahirr
- PyPI release workflow (#57) — @laraibg786
uvas package manager with updatedpyproject.toml(#40) — @laraibg786- Dynamic versioning without a
_versionfile (#38) — @laraibg786
Fixed¶
- Buggy resolution values in fractional factorial designs (#52) — @Noor-Mustafa123
lhsmuTypeErrorwhen using NumPyGeneratorAPI (#44) — @saudzahirr- Negative determinant bug in
d_efficiency(#42) — @saudzahirr - Singular information matrix handling — @saudzahirr
- Improve RAM usage in
_lhsclassic(#43) — @saudzahirr
v0.9.3 2026-01-29¶
Added¶
- Type annotations throughout the codebase — @saudzahirr
- Ruff as linter and formatter with Codecov integration — @saudzahirr
Documentation¶
- Update and deploy documentation — @saudzahirr
v0.9.2 2026-01-07¶
Added¶
- Migrate documentation site from Sphinx to MkDocs — @saudzahirr
- Integrate
uvas package manager — @laraibg786 - Dynamic versioning without a
_versionfile — @laraibg786
Fixed¶
- Fix
lhsmuTypeErrorwhen using NumPyGeneratorAPI — @saudzahirr - Fix negative determinant bug in
d_efficiency— @saudzahirr - Improve RAM usage in
_lhsclassic— @saudzahirr
v0.9.1 2025-11-27¶
Fixed¶
- Fix singular information matrix handling — @saudzahirr
v0.9.0 2025-11-05¶
Added¶
- Add
doe_sparse_gridusing Smolyak's sparse grid construction — @saudzahirr
v0.8.1 2025-10-27¶
Changed¶
- Replace legacy NumPy
RandomStatewithGeneratorAPI throughout — @saudzahirr
v0.8.0 2025-10-24¶
Added¶
- Add
morris_samplingfor Morris one-at-a-time sensitivity screening — @saudzahirr - Add
saltelli_samplingfor variance-based Sobol' sensitivity analysis — @saudzahirr - Add
random_uniformandrandom_k_meansspace-filling designs — @saudzahirr - Deprecate
random_stateparameter inlhsin favour ofseed— @saudzahirr
v0.7.0 2025-09-09¶
Added¶
- Add
halton_sequence,sobol_sequence,korobov_sequence,rank1_lattice, andsukharev_grid— @saudzahirr - Add
cranley_patterson_shiftfor randomising quasi-random sequences — @saudzahirr
v0.6.2 2025-09-02¶
Added¶
- Add
optimal_designwith D, A, E, G, I, V, C, S, T optimality criteria — @saudzahirr - Add Fedorov, modified Fedorov, DETMAX, and Dykstra algorithms — @saudzahirr
v0.6.1 2025-07-08¶
Added¶
- Add
doehlert_shell_designanddoehlert_simplex_design— @saudzahirr
v0.6.0 2025-07-03¶
Added¶
- Add
taguchi_designwith orthogonal array lookup, SNR computation, andTaguchiObjectiveenum — @saudzahirr
v0.5.5 2025-05-16¶
Fixed¶
- Update
gsdto accept level count of 1 — @saudzahirr
v0.5.0 2023-10-25¶
Infrastructure¶
- Migrate build system to
pyproject.tomlwith Hatchling — @saudzahirr - Add full test suite and CI automation — @saudzahirr
Fixed¶
- Replace Black with Ruff; fix
fracfact_opt; add doc-tests — @saudzahirr - Refactor
fracfactwith test updates and minor bug fixes — @saudzahirr
v0.4.0 2021-03-03¶
Added¶
- Add
gsd(Generalized Subset Design) — @saudzahirr
v0.3.9 2017-04-25¶
Fixed¶
- Fix integer division for Python 3 compatibility — @tisimst
v0.3.8 2015-07-13¶
Fixed¶
- Fix incorrect indexing variable in
_pdist— @tisimst
v0.3.7 2014-12-09¶
Changed¶
- Clarify BSD 3-clause license — @tisimst
v0.3.6 2014-09-22¶
Changed¶
- Add code credits to original authors — @tisimst
v0.3.5 2014-02-18¶
Added¶
- Add
var_regression_matrixto public API — @tisimst
v0.3.4 2014-02-18¶
Fixed¶
- Fix Python 3 import and compatibility issues — @tisimst
v0.3.3 2014-02-12¶
Fixed¶
- Remove package import for better Python 3 compatibility — @tisimst
v0.3.2 2014-02-09¶
Fixed¶
- Fix indexing problem; improve Python 3 compatibility — @tisimst
v0.3.1 2014-02-09¶
Fixed¶
- Fix indexing issue — @tisimst
v0.3.0 2013-11-08¶
Changed¶
- Simplify design function inputs to accept number of factors directly — @tisimst
- Improve consistency across all design functions — @tisimst
v0.2.2 2013-10-23¶
Added¶
- Add
criterionkeyword argument tolhsfor more flexible sampling — @tisimst
v0.2.1 2013-09-13¶
Fixed¶
- Fix syntax errors and update documentation links — @tisimst
v0.2.0 2013-09-13¶
Added¶
- Add response surface designs (
bbdesign,ccdesign) — @tisimst - Add Latin hypercube sampling (
lhs) — @tisimst
0.1.alpha 2013-09-05¶
Initial release with
fullfact, ff2n, fracfact, pbdesign, and gsd. — @tisimst