optify 0.8.2__tar.gz → 0.8.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. {optify-0.8.2 → optify-0.8.3}/PKG-INFO +1 -1
  2. {optify-0.8.2 → optify-0.8.3}/pyproject.toml +2 -2
  3. {optify-0.8.2 → optify-0.8.3}/python/optify/Cargo.lock +12 -14
  4. {optify-0.8.2 → optify-0.8.3}/python/optify/Cargo.toml +3 -3
  5. {optify-0.8.2 → optify-0.8.3}/rust/optify/Cargo.toml +1 -1
  6. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/builder/builder_impl.rs +17 -16
  7. {optify-0.8.2 → optify-0.8.3}/LICENSE.txt +0 -0
  8. {optify-0.8.2 → optify-0.8.3}/README.md +0 -0
  9. {optify-0.8.2 → optify-0.8.3}/optify/__init__.py +0 -0
  10. {optify-0.8.2 → optify-0.8.3}/optify/optify.pyi +0 -0
  11. {optify-0.8.2 → optify-0.8.3}/optify/py.typed +0 -0
  12. {optify-0.8.2 → optify-0.8.3}/python/optify/.gitignore +0 -0
  13. {optify-0.8.2 → optify-0.8.3}/python/optify/.vscode/settings.json +0 -0
  14. {optify-0.8.2 → optify-0.8.3}/python/optify/LICENSE.txt +0 -0
  15. {optify-0.8.2 → optify-0.8.3}/python/optify/README.md +0 -0
  16. {optify-0.8.2 → optify-0.8.3}/python/optify/optify/__init__.py +0 -0
  17. {optify-0.8.2 → optify-0.8.3}/python/optify/optify/optify.pyi +0 -0
  18. {optify-0.8.2 → optify-0.8.3}/python/optify/optify/py.typed +0 -0
  19. {optify-0.8.2 → optify-0.8.3}/python/optify/src/lib.rs +0 -0
  20. {optify-0.8.2 → optify-0.8.3}/python/optify/src/preferences.rs +0 -0
  21. {optify-0.8.2 → optify-0.8.3}/python/optify/src/provider.rs +0 -0
  22. {optify-0.8.2 → optify-0.8.3}/python/optify/src/watcher.rs +0 -0
  23. {optify-0.8.2 → optify-0.8.3}/python/optify/tests/test_builder.py +0 -0
  24. {optify-0.8.2 → optify-0.8.3}/python/optify/tests/test_optify.py +0 -0
  25. {optify-0.8.2 → optify-0.8.3}/python/optify/tests/test_provider.py +0 -0
  26. {optify-0.8.2 → optify-0.8.3}/rust/optify/.claude/settings.json +0 -0
  27. {optify-0.8.2 → optify-0.8.3}/rust/optify/README.md +0 -0
  28. {optify-0.8.2 → optify-0.8.3}/rust/optify/benches/caching_benchmark.rs +0 -0
  29. {optify-0.8.2 → optify-0.8.3}/rust/optify/benches/loading_benchmark.rs +0 -0
  30. {optify-0.8.2 → optify-0.8.3}/rust/optify/build.rs +0 -0
  31. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/builder/builder_options.rs +0 -0
  32. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/builder/builder_trait.rs +0 -0
  33. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/builder/loading_result.rs +0 -0
  34. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/builder/mod.rs +0 -0
  35. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/builder/watcher_builder.rs +0 -0
  36. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/configurable_string/configurable_string_impl.rs +0 -0
  37. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/configurable_string/locator.rs +0 -0
  38. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/configurable_string/mod.rs +0 -0
  39. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/json/mod.rs +0 -0
  40. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/json/reader.rs +0 -0
  41. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/lib.rs +0 -0
  42. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/provider/constraints.rs +0 -0
  43. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/provider/get_options_preferences.rs +0 -0
  44. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/provider/mod.rs +0 -0
  45. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/provider/provider_impl.rs +0 -0
  46. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/provider/provider_trait.rs +0 -0
  47. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/provider/watcher.rs +0 -0
  48. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/provider/watcher_options.rs +0 -0
  49. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/schema/conditions.rs +0 -0
  50. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/schema/feature.rs +0 -0
  51. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/schema/metadata.rs +0 -0
  52. {optify-0.8.2 → optify-0.8.3}/rust/optify/src/schema/mod.rs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optify
3
- Version: 0.8.2
3
+ Version: 0.8.3
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -26,11 +26,11 @@ build-backend = "maturin"
26
26
 
27
27
  [package]
28
28
  name = "optify"
29
- version = "0.8.2"
29
+ version = "0.8.3"
30
30
 
31
31
  [tool.poetry]
32
32
  name = "optify"
33
- version = "0.8.2"
33
+ version = "0.8.3"
34
34
  description = "Simplifies getting the right configuration options for a process using pre-loaded configurations from files to manage options for experiments or flights."
35
35
  authors = ["Justin D. Harris"]
36
36
  maintainers = ["Justin D. Harris"]
@@ -1132,7 +1132,7 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
1132
1132
 
1133
1133
  [[package]]
1134
1134
  name = "optify"
1135
- version = "0.20.2"
1135
+ version = "0.20.3"
1136
1136
  dependencies = [
1137
1137
  "config",
1138
1138
  "dunce",
@@ -1150,7 +1150,7 @@ dependencies = [
1150
1150
 
1151
1151
  [[package]]
1152
1152
  name = "optify-python"
1153
- version = "0.8.2"
1153
+ version = "0.8.3"
1154
1154
  dependencies = [
1155
1155
  "optify",
1156
1156
  "pyo3",
@@ -1295,11 +1295,10 @@ dependencies = [
1295
1295
 
1296
1296
  [[package]]
1297
1297
  name = "pyo3"
1298
- version = "0.24.2"
1298
+ version = "0.27.1"
1299
1299
  source = "registry+https://github.com/rust-lang/crates.io-index"
1300
- checksum = "e5203598f366b11a02b13aa20cab591229ff0a89fd121a308a5df751d5fc9219"
1300
+ checksum = "37a6df7eab65fc7bee654a421404947e10a0f7085b6951bf2ea395f4659fb0cf"
1301
1301
  dependencies = [
1302
- "cfg-if",
1303
1302
  "indoc",
1304
1303
  "libc",
1305
1304
  "memoffset",
@@ -1313,19 +1312,18 @@ dependencies = [
1313
1312
 
1314
1313
  [[package]]
1315
1314
  name = "pyo3-build-config"
1316
- version = "0.24.2"
1315
+ version = "0.27.1"
1317
1316
  source = "registry+https://github.com/rust-lang/crates.io-index"
1318
- checksum = "99636d423fa2ca130fa5acde3059308006d46f98caac629418e53f7ebb1e9999"
1317
+ checksum = "f77d387774f6f6eec64a004eac0ed525aab7fa1966d94b42f743797b3e395afb"
1319
1318
  dependencies = [
1320
- "once_cell",
1321
1319
  "target-lexicon",
1322
1320
  ]
1323
1321
 
1324
1322
  [[package]]
1325
1323
  name = "pyo3-ffi"
1326
- version = "0.24.2"
1324
+ version = "0.27.1"
1327
1325
  source = "registry+https://github.com/rust-lang/crates.io-index"
1328
- checksum = "78f9cf92ba9c409279bc3305b5409d90db2d2c22392d443a87df3a1adad59e33"
1326
+ checksum = "2dd13844a4242793e02df3e2ec093f540d948299a6a77ea9ce7afd8623f542be"
1329
1327
  dependencies = [
1330
1328
  "libc",
1331
1329
  "pyo3-build-config",
@@ -1333,9 +1331,9 @@ dependencies = [
1333
1331
 
1334
1332
  [[package]]
1335
1333
  name = "pyo3-macros"
1336
- version = "0.24.2"
1334
+ version = "0.27.1"
1337
1335
  source = "registry+https://github.com/rust-lang/crates.io-index"
1338
- checksum = "0b999cb1a6ce21f9a6b147dcf1be9ffedf02e0043aec74dc390f3007047cecd9"
1336
+ checksum = "eaf8f9f1108270b90d3676b8679586385430e5c0bb78bb5f043f95499c821a71"
1339
1337
  dependencies = [
1340
1338
  "proc-macro2",
1341
1339
  "pyo3-macros-backend",
@@ -1345,9 +1343,9 @@ dependencies = [
1345
1343
 
1346
1344
  [[package]]
1347
1345
  name = "pyo3-macros-backend"
1348
- version = "0.24.2"
1346
+ version = "0.27.1"
1349
1347
  source = "registry+https://github.com/rust-lang/crates.io-index"
1350
- checksum = "822ece1c7e1012745607d5cf0bcb2874769f0f7cb34c4cde03b9358eb9ef911a"
1348
+ checksum = "70a3b2274450ba5288bc9b8c1b69ff569d1d61189d4bff38f8d22e03d17f932b"
1351
1349
  dependencies = [
1352
1350
  "heck",
1353
1351
  "proc-macro2",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "optify-python"
3
- version = "0.8.2"
3
+ version = "0.8.3"
4
4
  edition = "2021"
5
5
 
6
6
  description = "Simplifies getting the right configuration options for a process using pre-loaded configurations from files (JSON, YAML, etc.) to manage options for experiments or flights. This library is mainly made to support building implementations for other languages such as Node.js, Python, and Ruby. It is not meant to be consumed directly yet."
@@ -15,5 +15,5 @@ name = "optify"
15
15
  crate-type = ["cdylib"]
16
16
 
17
17
  [dependencies]
18
- optify = { path = "../../rust/optify", version = "0.20.2" }
19
- pyo3 = "0.24.1"
18
+ optify = { path = "../../rust/optify", version = "0.20.3" }
19
+ pyo3 = "0.27.1"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "optify"
3
- version = "0.20.2"
3
+ version = "0.20.3"
4
4
  edition = "2021"
5
5
  build = "build.rs"
6
6
 
@@ -81,7 +81,7 @@ fn resolve_imports(
81
81
  let mut config_builder = config::Config::builder();
82
82
  for import in imports_for_feature {
83
83
  // Validate imports.
84
- if !features_in_resolution_path.insert(import.clone()) {
84
+ if features_in_resolution_path.contains(import) {
85
85
  // The import is already in the path, so there is a cycle.
86
86
  return Err(format!(
87
87
  "Error when resolving imports for '{canonical_feature_name}': Cycle detected with import '{import}'. The features in the path (not in order): {features_in_resolution_path:?}"
@@ -108,21 +108,22 @@ fn resolve_imports(
108
108
  // Get the source so that we can build the configuration.
109
109
  // Getting the source also ensures the import is a canonical feature name.
110
110
  let mut source = match sources.get(import) {
111
- Some(s) => s,
112
- // The import is not a canonical feature name.
113
- None => match aliases.get(&unicase::UniCase::new(import.clone())) {
114
- Some(canonical_name_for_import) => {
115
- return Err(format!(
116
- "Error when resolving imports for '{canonical_feature_name}': The import '{import}' is not a canonical feature name. Use '{canonical_name_for_import}' instead of '{import}' in order to keep dependencies clear and to help with navigating through files."
117
- ))
118
- }
119
- None => {
120
- return Err(format!(
121
- "Error when resolving imports for '{canonical_feature_name}': The import '{import}' is not a canonical feature name and not a recognized alias. Use a canonical feature name in order to keep dependencies clear and to help with navigating through files."
122
- ))
123
- }
124
- },
125
- };
111
+ Some(s) => s,
112
+ // The import is not a canonical feature name.
113
+ None => match aliases.get(&unicase::UniCase::new(import.clone())) {
114
+ Some(canonical_name_for_import) => {
115
+ return Err(format!(
116
+ "Error when resolving imports for '{canonical_feature_name}': The import '{import}' is not a canonical feature name. Use '{canonical_name_for_import}' instead of '{import}' in order to keep dependencies clear and to help with navigating through files."
117
+ ))
118
+ }
119
+ None => {
120
+ return Err(format!(
121
+ "Error when resolving imports for '{canonical_feature_name}': The import '{import}' is not a canonical feature name and not a recognized alias. Use a canonical feature name in order to keep dependencies clear and to help with navigating through files."
122
+ ))
123
+ }
124
+ },
125
+ };
126
+
126
127
  if resolved_imports.insert(import.clone()) {
127
128
  if let Some(imports_for_import) = all_imports.get(import) {
128
129
  let mut _features_in_resolution_path = features_in_resolution_path.clone();
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes