morphir-python-native 0.1.0__tar.gz → 0.1.1__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 (46) hide show
  1. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/PKG-INFO +1 -1
  2. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/Cargo.lock +2 -2
  3. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/Cargo.toml +1 -1
  4. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/lib.rs +1 -0
  5. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/ir_versions.rs +7 -0
  6. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/pipeline.rs +5 -0
  7. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/support/native.rs +9 -1
  8. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-native/Cargo.toml +1 -1
  9. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/LICENSE +0 -0
  10. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/README.md +0 -0
  11. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/pyproject.toml +0 -0
  12. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/python/morphir_python_native/__init__.py +0 -0
  13. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/python/morphir_python_native/_native.pyi +0 -0
  14. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/python/morphir_python_native/py.typed +0 -0
  15. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/Cargo.toml +0 -0
  16. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/README.md +0 -0
  17. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/examples/python_adt.rs +0 -0
  18. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/examples/python_modules.rs +0 -0
  19. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/backend/functions.rs +0 -0
  20. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/backend/imports.rs +0 -0
  21. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/backend.rs +0 -0
  22. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/frontend/functions.rs +0 -0
  23. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/frontend/imports.rs +0 -0
  24. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/frontend/project.rs +0 -0
  25. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/frontend.rs +0 -0
  26. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/ir/classic/expressions.rs +0 -0
  27. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/ir/classic/read.rs +0 -0
  28. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/ir/classic.rs +0 -0
  29. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/ir.rs +0 -0
  30. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/modules.rs +0 -0
  31. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/names.rs +0 -0
  32. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/values/check.rs +0 -0
  33. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/src/values.rs +0 -0
  34. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/acceptance.rs +0 -0
  35. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/conditionals.rs +0 -0
  36. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/features/adt.feature +0 -0
  37. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/fixtures/conditionals.py +0 -0
  38. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/fixtures/functions.py +0 -0
  39. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/fixtures/models.py +0 -0
  40. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/fixtures/modules/rules.py +0 -0
  41. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/fixtures/tuples.py +0 -0
  42. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/functions.rs +0 -0
  43. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-binding/tests/modules.rs +0 -0
  44. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-native/examples/bench.rs +0 -0
  45. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-native/src/lib.rs +0 -0
  46. {morphir_python_native-0.1.0 → morphir_python_native-0.1.1}/rust/crates/morphir-python-native/tests/bridge.rs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: morphir-python-native
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Programming Language :: Python :: 3
@@ -1460,7 +1460,7 @@ dependencies = [
1460
1460
 
1461
1461
  [[package]]
1462
1462
  name = "morphir-python-binding"
1463
- version = "0.4.1"
1463
+ version = "0.4.2"
1464
1464
  dependencies = [
1465
1465
  "cucumber",
1466
1466
  "morphir-core",
@@ -1477,7 +1477,7 @@ dependencies = [
1477
1477
 
1478
1478
  [[package]]
1479
1479
  name = "morphir-python-native"
1480
- version = "0.1.0"
1480
+ version = "0.1.1"
1481
1481
  dependencies = [
1482
1482
  "morphir-extension-sdk",
1483
1483
  "morphir-python-binding",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "morphir-python-binding"
3
- version = "0.4.1"
3
+ version = "0.4.2"
4
4
  edition.workspace = true
5
5
  rust-version.workspace = true
6
6
  authors.workspace = true
@@ -58,6 +58,7 @@ impl Extension for PythonExtension {
58
58
  }],
59
59
  ir_versions: vec!["3".into(), "4".into()],
60
60
  compile: true,
61
+ multi_document: true,
61
62
  ..Default::default()
62
63
  }),
63
64
  backend: Some(BackendCapability {
@@ -65,8 +65,15 @@ fn generate(ir: Value) -> GenerateResult {
65
65
 
66
66
  #[test]
67
67
  fn both_versions_preserve_imports_privacy_tuples_and_conditionals() {
68
+ assert!(
69
+ PythonExtension::capabilities()
70
+ .frontend
71
+ .unwrap()
72
+ .multi_document
73
+ );
68
74
  for version in ["3", "3.0.0", "4", "4.0.0"] {
69
75
  let mut request = a_request(version);
76
+ assert_eq!(request.sources.documents.len(), 2);
70
77
  let ir = compile(request.clone());
71
78
  if version.starts_with('3') {
72
79
  let decoded: classic::Distribution = serde_json::from_value(ir.clone()).unwrap();
@@ -107,6 +107,11 @@ fn rejects_unsupported_or_ambiguous_source_without_partial_ir() {
107
107
  #[test]
108
108
  fn advertises_and_enforces_the_initial_contract() {
109
109
  let capabilities = PythonExtension::capabilities();
110
+ assert!(capabilities.frontend.as_ref().unwrap().multi_document);
111
+ assert_eq!(
112
+ serde_json::to_value(&capabilities).unwrap()["frontend"]["multiDocument"],
113
+ json!(true)
114
+ );
110
115
  assert_eq!(capabilities.frontend.unwrap().ir_versions, ["3", "4"]);
111
116
  assert_eq!(capabilities.backend.unwrap().targets, ["python"]);
112
117
  let mut request = a_request("");
@@ -1,7 +1,7 @@
1
1
  //! Native protocol fixture with a completed initialization handshake.
2
2
 
3
3
  use morphir_extension_sdk::{
4
- NativeExtension,
4
+ Extension, NativeExtension,
5
5
  protocol::{ExtensionRequest, InitializeParams, MEP_VERSION, PeerInfo, methods},
6
6
  };
7
7
  use morphir_python_binding::PythonExtension;
@@ -25,5 +25,13 @@ pub fn an_initialized_extension() -> NativeExtension {
25
25
  .unwrap(),
26
26
  );
27
27
  assert!(response.error.is_none(), "{:?}", response.error);
28
+ let expected = serde_json::to_value(PythonExtension::capabilities()).unwrap();
29
+ assert_eq!(expected["frontend"]["multiDocument"], true);
30
+ assert_eq!(response.result.unwrap()["capabilities"], expected);
31
+ let response = extension
32
+ .protocol()
33
+ .handle(ExtensionRequest::new(methods::CAPABILITIES, serde_json::json!({}), 1).unwrap());
34
+ assert!(response.error.is_none(), "{:?}", response.error);
35
+ assert_eq!(response.result.unwrap(), expected);
28
36
  extension
29
37
  }
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "morphir-python-native"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  edition.workspace = true
5
5
  rust-version.workspace = true
6
6
  authors.workspace = true