diff --git a/Cargo.lock b/Cargo.lock index bc61e1ca..90fef3f3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -541,18 +541,13 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" name = "egobox" version = "0.25.0" dependencies = [ - "anyhow", - "approx", "argmin_testfunctions", - "criterion", "ctrlc", "egobox-doe", "egobox-ego", "egobox-gp", "egobox-moe", "env_logger", - "finitediff", - "libm", "linfa", "log", "ndarray", @@ -561,7 +556,6 @@ dependencies = [ "pyo3", "pyo3-log", "rand_xoshiro", - "rayon", "serde", "serde_json", ] @@ -679,7 +673,6 @@ dependencies = [ "ndarray-rand", "ndarray-stats", "paste", - "rand_isaac", "rand_xoshiro", "serde", "serde_json", @@ -1671,15 +1664,6 @@ dependencies = [ "rand", ] -[[package]] -name = "rand_isaac" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fac4373cd91b4f55722c553fb0f286edbb81ef3ff6eec7b99d1898a4110a0b28" -dependencies = [ - "rand_core", -] - [[package]] name = "rand_xoshiro" version = "0.6.0" diff --git a/Cargo.toml b/Cargo.toml index 5560d28d..30abe405 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,3 +27,32 @@ exclude = [".github/"] [workspace.metadata.release] shared-version = true tag-name = "{{version}}" + +[workspace.dependencies] +linfa = { version = "0.7", default-features = false } + +ndarray = { version = "0.15", features = ["rayon", "approx"] } +ndarray-rand = "0.14" +ndarray-stats = "0.5" +ndarray-npy = "0.8" + +num-traits = "0.2" + +thiserror = "1" +anyhow = "1" +rayon = "1" + +rand_xoshiro = "0.6" +finitediff = { version = "0.1.4", features = ["ndarray"] } +env_logger = "0.11" +log = "0.4" + +serde = "1" +serde_json = "1" + +ctrlc = "3.4" + +# dev dependencies +criterion = "0.5" +approx = "0.4" +argmin_testfunctions = "0.2" diff --git a/crates/doe/Cargo.toml b/crates/doe/Cargo.toml index 710d37c5..10110c51 100644 --- a/crates/doe/Cargo.toml +++ b/crates/doe/Cargo.toml @@ -1,11 +1,12 @@ [package] name = "egobox-doe" -version = "0.25.0" -authors = ["Rémi Lafage "] -edition = "2021" +authors.workspace = true +version.workspace = true +license.workspace = true +edition.workspace = true +homepage.workspace = true description = "A library for design of experiments" -license = "Apache-2.0" -repository = "https://github.com/relf/egobox" +repository = "https://github.com/relf/egobox/crates/doe" keywords = [ "machine-learning", "design", @@ -13,7 +14,7 @@ keywords = [ "lhs", "full-factorial", ] -categories = ["algorithms", "mathematics", "science"] +readme = "README.md" [features] default = [] @@ -21,18 +22,18 @@ default = [] serializable = ["serde", "rand_xoshiro/serde1"] [dependencies] -linfa = { version = "0.7", default-features = false } -ndarray = { version = "0.15", features = ["rayon", "approx"] } -ndarray-stats = "0.5" -ndarray-rand = "0.14" -rand_xoshiro = "0.6" -num-traits = "0.2" +linfa.workspace = true +ndarray.workspace = true +ndarray-rand.workspace = true +ndarray-stats.workspace = true +num-traits.workspace = true +rand_xoshiro.workspace = true serde = { version = "1", optional = true } [dev-dependencies] -criterion = "0.5" -serde_json = "1" -approx = "0.4" +criterion.workspace = true +serde_json.workspace = true +approx.workspace = true [[bench]] name = "lhs" diff --git a/crates/ego/Cargo.toml b/crates/ego/Cargo.toml index 0cbec933..4331409f 100644 --- a/crates/ego/Cargo.toml +++ b/crates/ego/Cargo.toml @@ -1,11 +1,12 @@ [package] name = "egobox-ego" -version = "0.25.0" -authors = ["Rémi Lafage "] -edition = "2021" +authors.workspace = true +version.workspace = true +license.workspace = true +edition.workspace = true +homepage.workspace = true description = "A library for efficient global optimization" -license = "Apache-2.0" -repository = "https://github.com/relf/egobox" +repository = "https://github.com/relf/egobox/crates/ego" keywords = ["machine-learning", "bayesian", "optimization"] categories = ["algorithms", "mathematics", "science"] @@ -24,16 +25,16 @@ egobox-moe = { version = "0.25.0", path = "../moe", features = [ "serializable", ] } -linfa = { version = "0.7", default-features = false } +linfa.workspace = true linfa-pls = { version = "0.7", default-features = false } linfa-linalg = { version = "0.1", default-features = false } -ndarray = { version = "0.15", features = ["rayon", "approx"] } +ndarray.workspace = true ndarray-linalg = { version = "0.15", optional = true } -ndarray-stats = "0.5" -ndarray-rand = "0.14" -ndarray-npy = "0.8" -rayon = "1" +ndarray-stats.workspace = true +ndarray-rand.workspace = true +ndarray-npy.workspace = true +rayon.workspace = true cobyla = { version = "0.6" } slsqp = { version = "0.1" } @@ -44,25 +45,24 @@ argmin = { version = "0.10.0", features = ["serde1", "ctrlc"] } bincode = { version = "1.3.0" } web-time = "1.1.0" libm = "0.2.6" -finitediff = { version = "0.1", features = ["ndarray"] } +finitediff.workspace = true # sort-axis rawpointer = { version = "0.2" } -log = "0.4" -env_logger = "0.11.3" -thiserror = "1" -anyhow = "1" +log.workspace = true +env_logger.workspace = true +thiserror.workspace = true +anyhow.workspace = true clap = { version = "4", features = ["derive"] } serde = { version = "1", features = ["derive", "rc"] } -serde_json = "1" +serde_json.workspace = true typetag = { version = "0.2" } dyn-clonable = { version = "0.9" } - [dev-dependencies] -criterion = "0.5" -approx = "0.4" -argmin_testfunctions = "0.2" +criterion.workspace = true +approx.workspace = true +argmin_testfunctions.workspace = true serial_test = "3.1.0" [[bench]] diff --git a/crates/gp/Cargo.toml b/crates/gp/Cargo.toml index d035cb80..cacef318 100644 --- a/crates/gp/Cargo.toml +++ b/crates/gp/Cargo.toml @@ -1,11 +1,12 @@ [package] name = "egobox-gp" -version = "0.25.0" -authors = ["Rémi Lafage "] -edition = "2021" +authors.workspace = true +version.workspace = true +license.workspace = true +edition.workspace = true +homepage.workspace = true description = "A library for gaussian process modeling" -license = "Apache-2.0" -repository = "https://github.com/relf/egobox" +repository = "https://github.com/relf/egobox/crates/gp" keywords = ["machine-learning", "gaussian-process", "kriging", "surrogate"] categories = ["algorithms", "mathematics", "science"] @@ -20,36 +21,40 @@ blas = ["ndarray-linalg", "linfa/ndarray-linalg", "linfa-pls/blas"] [dependencies] egobox-doe = { version = "0.25.0", path = "../doe" } -linfa = { version = "0.7", default-features = false } +linfa.workspace = true linfa-pls = { version = "0.7", default-features = false } linfa-linalg = { version = "0.1", default-features = false } -ndarray = { version = "0.15", features = ["rayon", "approx"] } +ndarray.workspace = true +ndarray-stats.workspace = true +ndarray-rand.workspace = true + +num-traits.workspace = true + +rand_xoshiro.workspace = true +thiserror.workspace = true +log.workspace = true +rayon.workspace = true + ndarray-linalg = { version = "0.15", optional = true } -ndarray-stats = "0.5" ndarray_einsum_beta = "0.7" -ndarray-rand = "0.14" -ndarray-npy = "0.8" + +ndarray-npy.workspace = true nlopt = { version = "0.7.0", optional = true } cobyla = { version = "0.6" } -rand_xoshiro = "0.6" paste = "1.0" -num-traits = "0.2" -thiserror = "1" -log = "0.4" -rayon = "1" serde = { version = "1", features = ["derive"], optional = true } serde_json = { version = "1", optional = true } typetag = { version = "0.2", optional = true } -finitediff = { version = "0.1", features = ["ndarray"] } +finitediff.workspace = true [dev-dependencies] -criterion = "0.5" -serde_json = "1" -approx = "0.4" -argmin_testfunctions = "0.2" +criterion.workspace = true +serde_json.workspace = true +approx.workspace = true +argmin_testfunctions.workspace = true [[bench]] name = "gp" diff --git a/crates/moe/Cargo.toml b/crates/moe/Cargo.toml index 08f2081e..1dc1d109 100644 --- a/crates/moe/Cargo.toml +++ b/crates/moe/Cargo.toml @@ -1,11 +1,12 @@ [package] name = "egobox-moe" -version = "0.25.0" -authors = ["Rémi Lafage "] -edition = "2021" +authors.workspace = true +version.workspace = true +license.workspace = true +edition.workspace = true +homepage.workspace = true description = "A library for mixture of expert gaussian processes" -license = "Apache-2.0" -repository = "https://github.com/relf/egobox" +repository = "https://github.com/relf/egobox/crates/moe" keywords = [ "machine-learning", "mixture", @@ -32,22 +33,22 @@ blas = ["ndarray-linalg", "linfa/ndarray-linalg", "linfa-pls/blas"] egobox-doe = { version = "0.25.0", path = "../doe" } egobox-gp = { version = "0.25.0", path = "../gp" } -linfa = { version = "0.7", default-features = false } +linfa.workspace = true linfa-clustering = { version = "0.7", default-features = false } linfa-pls = { version = "0.7", default-features = false } linfa-linalg = { version = "0.1", default-features = false } -ndarray = { version = "0.15", features = ["rayon", "approx"] } +ndarray.workspace = true ndarray-linalg = { version = "0.15", optional = true } -ndarray-stats = "0.5" -ndarray-rand = "0.14" -ndarray-npy = "0.8" -rand_xoshiro = "0.6" +ndarray-stats.workspace = true +ndarray-rand.workspace = true +ndarray-npy.workspace = true +rand_xoshiro.workspace = true paste = "1.0" bitflags = { version = "2.4.1", features = ["serde"] } -log = "0.4" -env_logger = "0.11.3" -thiserror = "1" +log.workspace = true +env_logger.workspace = true +thiserror.workspace = true serde = { version = "1", features = ["derive"], optional = true } serde_json = { version = "1", optional = true } @@ -56,13 +57,12 @@ bincode = { version = "1.3.3", optional = true } typetag = { version = "0.2", optional = true } [dev-dependencies] -criterion = "0.5" -approx = "0.4" -ndarray-npy = "0.8" +criterion.workspace = true +approx.workspace = true +ndarray-npy.workspace = true ndarray-csv = "0.5" csv = "1.1" -argmin_testfunctions = "0.2" -rand_isaac = "0.3" +argmin_testfunctions.workspace = true [[bench]] name = "bench_find_nb_clusters" diff --git a/python/Cargo.toml b/python/Cargo.toml index c03ab25c..837abd02 100644 --- a/python/Cargo.toml +++ b/python/Cargo.toml @@ -4,6 +4,9 @@ authors.workspace = true version.workspace = true license.workspace = true edition.workspace = true +homepage.workspace = true +description = "A python binding for egobox crates" +repository = "https://github.com/relf/egobox/python" [lib] name = "egobox" @@ -26,29 +29,21 @@ egobox-moe = { version = "0.25.0", path = "../crates/moe", features = [ egobox-ego = { version = "0.25.0", path = "../crates/ego", features = [ "persistent", ] } -linfa = { version = "0.7", default-features = false } - -ndarray = { version = "0.15", features = ["rayon", "approx"] } -ndarray-rand = "0.14" -anyhow = "1" -rayon = "1" - -rand_xoshiro = "0.6" -libm = "0.2" -finitediff = { version = "0.1.4", features = ["ndarray"] } -env_logger = "0.11" -log = "0.4" pyo3 = { version = "0.22", features = ["extension-module"] } pyo3-log = "0.11" numpy = "0.22.1" -serde = "1" -serde_json = "1" +linfa.workspace = true +ndarray.workspace = true +ndarray-rand.workspace = true + +rand_xoshiro.workspace = true +env_logger.workspace = true +log.workspace = true -ctrlc = "3.4" +serde.workspace = true +serde_json.workspace = true +ctrlc.workspace = true -[dev-dependencies] -criterion = "0.5" -approx = "0.4" -argmin_testfunctions = "0.2" +argmin_testfunctions.workspace = true