wexample-pseudocode 9.0.4__tar.gz → 9.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 (48) hide show
  1. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/PKG-INFO +4 -4
  2. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/README.md +2 -2
  3. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/pyproject.toml +2 -2
  4. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/parser/function_parser.py +1 -2
  5. wexample_pseudocode-9.0.4/tests/resources/item/class/basic_calculator.py → wexample_pseudocode-9.1.1/tests/resources/item/class/basic_calculator.py.txt +1 -3
  6. wexample_pseudocode-9.0.4/tests/resources/item/constant/constant_using_const.py → wexample_pseudocode-9.1.1/tests/resources/item/constant/constant_using_const.py.txt +0 -2
  7. wexample_pseudocode-9.0.4/tests/resources/item/function/basic_function.py → wexample_pseudocode-9.1.1/tests/resources/item/function/basic_function.py.txt +1 -3
  8. wexample_pseudocode-9.0.4/tests/resources/item/function/complex_function.py → wexample_pseudocode-9.1.1/tests/resources/item/function/complex_function.py.txt +2 -6
  9. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_class_basic_calculator.py +1 -1
  10. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_code_generator_class_basic_calculator.py +1 -1
  11. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_code_generator_constant.py +1 -1
  12. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_constant_using_const.py +1 -1
  13. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_function_items.py +4 -4
  14. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_php_yaml_compat.py +15 -6
  15. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/__init__.py +0 -0
  16. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/common/__init__.py +0 -0
  17. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/common/docstring.py +0 -0
  18. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/common/type_normalizer.py +0 -0
  19. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/__init__.py +0 -0
  20. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/class_config.py +0 -0
  21. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/class_method_config.py +0 -0
  22. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/class_property_config.py +0 -0
  23. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/constant_config.py +0 -0
  24. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/doc_comment_config.py +0 -0
  25. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/doc_comment_parameter_config.py +0 -0
  26. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/doc_comment_return_config.py +0 -0
  27. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/function_config.py +0 -0
  28. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/function_parameter_config.py +0 -0
  29. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/generator_config.py +0 -0
  30. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/method_parameter_config.py +0 -0
  31. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/generator/__init__.py +0 -0
  32. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/generator/abstract_generator.py +0 -0
  33. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/generator/code_generator.py +0 -0
  34. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/generator/pseudocode_generator.py +0 -0
  35. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/parser/__init__.py +0 -0
  36. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/parser/class_parser.py +0 -0
  37. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/parser/module_parser.py +0 -0
  38. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/py.typed +0 -0
  39. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/conftest.py +0 -0
  40. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/__init__.py +0 -0
  41. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/__init__.py +0 -0
  42. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/class/__init__.py +0 -0
  43. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/class/basic_calculator.yml +0 -0
  44. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/constant/__init__.py +0 -0
  45. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/constant/constant_using_const.yml +0 -0
  46. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/function/__init__.py +0 -0
  47. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/function/basic_function.yml +0 -0
  48. {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/function/complex_function.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wexample-pseudocode
3
- Version: 9.0.4
3
+ Version: 9.1.1
4
4
  Summary: Code creation and maintenance tools
5
5
  Author-Email: weeger <contact@wexample.com>
6
6
  License: MIT
@@ -11,7 +11,7 @@ Project-URL: homepage, https://github.com/wexample/python-pseudocode
11
11
  Requires-Python: >=3.10
12
12
  Requires-Dist: attrs>=23.1.0
13
13
  Requires-Dist: cattrs>=23.1.0
14
- Requires-Dist: wexample-helpers>=14.2.0
14
+ Requires-Dist: wexample-helpers>=16.0.0
15
15
  Provides-Extra: dev
16
16
  Requires-Dist: pytest; extra == "dev"
17
17
  Requires-Dist: pytest-cov; extra == "dev"
@@ -19,7 +19,7 @@ Description-Content-Type: text/markdown
19
19
 
20
20
  # pseudocode
21
21
 
22
- Version: 9.0.4
22
+ Version: 9.1.1
23
23
 
24
24
  Code creation and maintenance tools
25
25
 
@@ -101,7 +101,7 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
101
101
 
102
102
  - attrs: >=23.1.0
103
103
  - cattrs: >=23.1.0
104
- - wexample-helpers: >=14.2.0
104
+ - wexample-helpers: >=16.0.0
105
105
 
106
106
  ## Versioning & Compatibility Policy
107
107
 
@@ -1,6 +1,6 @@
1
1
  # pseudocode
2
2
 
3
- Version: 9.0.4
3
+ Version: 9.1.1
4
4
 
5
5
  Code creation and maintenance tools
6
6
 
@@ -82,7 +82,7 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
82
82
 
83
83
  - attrs: >=23.1.0
84
84
  - cattrs: >=23.1.0
85
- - wexample-helpers: >=14.2.0
85
+ - wexample-helpers: >=16.0.0
86
86
 
87
87
  ## Versioning & Compatibility Policy
88
88
 
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
6
6
 
7
7
  [project]
8
8
  name = "wexample-pseudocode"
9
- version = "9.0.4"
9
+ version = "9.1.1"
10
10
  description = "Code creation and maintenance tools"
11
11
  authors = [
12
12
  { name = "weeger", email = "contact@wexample.com" },
@@ -20,7 +20,7 @@ classifiers = [
20
20
  dependencies = [
21
21
  "attrs>=23.1.0",
22
22
  "cattrs>=23.1.0",
23
- "wexample-helpers>=14.2.0",
23
+ "wexample-helpers>=16.0.0",
24
24
  ]
25
25
 
26
26
  [project.readme]
@@ -9,9 +9,8 @@ if TYPE_CHECKING:
9
9
 
10
10
 
11
11
  def parse_module_functions(source_code: str) -> Iterable[FunctionItem]:
12
- from class_parser import _annotation_to_str
13
-
14
12
  from wexample_pseudocode.common.docstring import parse_docstring
13
+ from wexample_pseudocode.parser.class_parser import _annotation_to_str
15
14
 
16
15
  tree = ast.parse(source_code)
17
16
 
@@ -1,6 +1,3 @@
1
- from __future__ import annotations
2
-
3
-
4
1
  class Calculator:
5
2
  """A class that performs basic arithmetic operations."""
6
3
 
@@ -13,3 +10,4 @@ class Calculator:
13
10
  :param b: The second operand.
14
11
  :return: The sum of the two numbers.
15
12
  """
13
+ pass
@@ -1,4 +1,2 @@
1
- from __future__ import annotations
2
-
3
1
  MAX_RETRIES = 3 # Maximum number of retries for API calls
4
2
  API_BASE_URL = "https://api.example.com" # Base URL for the API
@@ -1,6 +1,3 @@
1
- from __future__ import annotations
2
-
3
-
4
1
  def add(a: int, b: int) -> int:
5
2
  """Calculate the sum of two ints.
6
3
 
@@ -8,3 +5,4 @@ def add(a: int, b: int) -> int:
8
5
  :param b: The second operand.
9
6
  :return: The sum of the two numbers.
10
7
  """
8
+ pass
@@ -1,12 +1,8 @@
1
- from __future__ import annotations
2
-
3
-
4
- def processData(
5
- data: list, config: list = [], callback: typing.Callable | None = None
6
- ) -> list:
1
+ def processData(data: list, config: list = [], callback: typing.Optional[typing.Callable] = None) -> list:
7
2
  """Process an array of data with optional configuration.
8
3
 
9
4
  :param data: The data to process
10
5
  :param config: Optional configuration parameters
11
6
  :param callback: Optional callback for custom processing
12
7
  """
8
+ pass
@@ -9,7 +9,7 @@ def test_class_basic_calculator() -> None:
9
9
  from wexample_pseudocode.generator.pseudocode_generator import PseudocodeGenerator
10
10
 
11
11
  resources_dir = Path(__file__).parent / "resources" / "item" / "class"
12
- source_path = resources_dir / "basic_calculator.py"
12
+ source_path = resources_dir / "basic_calculator.py.txt"
13
13
  expected_yaml_path = resources_dir / "basic_calculator.yml"
14
14
 
15
15
  source = source_path.read_text(encoding="utf-8")
@@ -8,7 +8,7 @@ def test_code_generator_class_basic_calculator() -> None:
8
8
 
9
9
  resources_dir = Path(__file__).parent / "resources" / "item" / "class"
10
10
  yml_path = resources_dir / "basic_calculator.yml"
11
- expected_code_path = resources_dir / "basic_calculator.py"
11
+ expected_code_path = resources_dir / "basic_calculator.py.txt"
12
12
 
13
13
  gen = CodeGenerator()
14
14
  output = gen.generate(yml_path.read_text(encoding="utf-8"))
@@ -5,7 +5,7 @@ def test_code_generator_constant(resources_dir) -> None:
5
5
  from wexample_pseudocode.generator.code_generator import CodeGenerator
6
6
 
7
7
  yml_path = resources_dir / "constant_using_const.yml"
8
- expected_code_path = resources_dir / "constant_using_const.py"
8
+ expected_code_path = resources_dir / "constant_using_const.py.txt"
9
9
 
10
10
  gen = CodeGenerator()
11
11
  output = gen.generate(yml_path.read_text(encoding="utf-8"))
@@ -17,7 +17,7 @@ def test_constant_using_const(resources_dir) -> None:
17
17
 
18
18
  from wexample_pseudocode.generator.pseudocode_generator import PseudocodeGenerator
19
19
 
20
- source_path = resources_dir / "constant_using_const.py"
20
+ source_path = resources_dir / "constant_using_const.py.txt"
21
21
  expected_yaml_path = resources_dir / "constant_using_const.yml"
22
22
 
23
23
  source = load_file(source_path)
@@ -12,7 +12,7 @@ def test_function_basic_py_to_yaml() -> None:
12
12
  from wexample_pseudocode.generator.pseudocode_generator import PseudocodeGenerator
13
13
 
14
14
  d = _res_dir("function")
15
- py = (d / "basic_function.py").read_text(encoding="utf-8")
15
+ py = (d / "basic_function.py.txt").read_text(encoding="utf-8")
16
16
  expected = yaml.safe_load((d / "basic_function.yml").read_text(encoding="utf-8"))
17
17
 
18
18
  actual = PseudocodeGenerator().generate_config_data(py)
@@ -24,7 +24,7 @@ def test_function_basic_yaml_to_py() -> None:
24
24
 
25
25
  d = _res_dir("function")
26
26
  yml = (d / "basic_function.yml").read_text(encoding="utf-8")
27
- expected_code = (d / "basic_function.py").read_text(encoding="utf-8").strip()
27
+ expected_code = (d / "basic_function.py.txt").read_text(encoding="utf-8").strip()
28
28
 
29
29
  code = CodeGenerator().generate(yml)
30
30
  assert code.strip() == expected_code
@@ -34,7 +34,7 @@ def test_function_complex_py_to_yaml() -> None:
34
34
  from wexample_pseudocode.generator.pseudocode_generator import PseudocodeGenerator
35
35
 
36
36
  d = _res_dir("function")
37
- py = (d / "complex_function.py").read_text(encoding="utf-8")
37
+ py = (d / "complex_function.py.txt").read_text(encoding="utf-8")
38
38
  expected = yaml.safe_load((d / "complex_function.yml").read_text(encoding="utf-8"))
39
39
 
40
40
  actual = PseudocodeGenerator().generate_config_data(py)
@@ -46,7 +46,7 @@ def test_function_complex_yaml_to_py() -> None:
46
46
 
47
47
  d = _res_dir("function")
48
48
  yml = (d / "complex_function.yml").read_text(encoding="utf-8")
49
- expected_code = (d / "complex_function.py").read_text(encoding="utf-8").strip()
49
+ expected_code = (d / "complex_function.py.txt").read_text(encoding="utf-8").strip()
50
50
 
51
51
  code = CodeGenerator().generate(yml)
52
52
  assert code.strip() == expected_code
@@ -2,12 +2,21 @@ from __future__ import annotations
2
2
 
3
3
  from pathlib import Path
4
4
 
5
- PHP_RES = Path(
6
- "/home/weeger/Desktop/WIP/WEB/WEXAMPLE/COMPOSER/packages/wexample/php-pseudocode/tests/resources/item"
7
- )
8
- PY_RES = Path(
9
- "/home/weeger/Desktop/WIP/WEB/WEXAMPLE/PIP/pip/pseudocode/tests/resources/item"
5
+ # This file lives at <ROOT>/PYTHON/packages/pseudocode/tests/...; the PHP
6
+ # twin package lives in the sibling PHP tree of the same monorepo root.
7
+ _PACKAGES_ROOT = Path(__file__).resolve().parents[4]
8
+
9
+ PHP_RES = (
10
+ _PACKAGES_ROOT
11
+ / "PHP"
12
+ / "packages"
13
+ / "wexample"
14
+ / "php-pseudocode"
15
+ / "tests"
16
+ / "resources"
17
+ / "item"
10
18
  )
19
+ PY_RES = Path(__file__).resolve().parent / "resources" / "item"
11
20
 
12
21
 
13
22
  def test_php_class_basic_yaml_generates_code_contains_class_name() -> None:
@@ -24,7 +33,7 @@ def test_php_function_complex_yaml_to_py_matches_python_fixture() -> None:
24
33
 
25
34
  yml_path = PHP_RES / "function" / "complex_function.yml"
26
35
  py_expected = (
27
- (PY_RES / "function" / "complex_function.py")
36
+ (PY_RES / "function" / "complex_function.py.txt")
28
37
  .read_text(encoding="utf-8")
29
38
  .strip()
30
39
  )