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.
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/PKG-INFO +4 -4
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/README.md +2 -2
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/pyproject.toml +2 -2
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/parser/function_parser.py +1 -2
- 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
- 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
- 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
- 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
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_class_basic_calculator.py +1 -1
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_code_generator_class_basic_calculator.py +1 -1
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_code_generator_constant.py +1 -1
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_constant_using_const.py +1 -1
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_function_items.py +4 -4
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_php_yaml_compat.py +15 -6
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/__init__.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/common/__init__.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/common/docstring.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/common/type_normalizer.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/__init__.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/class_config.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/class_method_config.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/class_property_config.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/constant_config.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/doc_comment_config.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/doc_comment_parameter_config.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/doc_comment_return_config.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/function_config.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/function_parameter_config.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/generator_config.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/method_parameter_config.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/generator/__init__.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/generator/abstract_generator.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/generator/code_generator.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/generator/pseudocode_generator.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/parser/__init__.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/parser/class_parser.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/parser/module_parser.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/py.typed +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/conftest.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/__init__.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/__init__.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/class/__init__.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/class/basic_calculator.yml +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/constant/__init__.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/constant/constant_using_const.yml +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/function/__init__.py +0 -0
- {wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/function/basic_function.yml +0 -0
- {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.
|
|
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
|
+
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.
|
|
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: >=
|
|
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.
|
|
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: >=
|
|
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.
|
|
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>=
|
|
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,12 +1,8 @@
|
|
|
1
|
-
|
|
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
|
{wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_class_basic_calculator.py
RENAMED
|
@@ -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"))
|
{wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/test_code_generator_constant.py
RENAMED
|
@@ -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
|
-
|
|
6
|
-
|
|
7
|
-
)
|
|
8
|
-
|
|
9
|
-
|
|
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
|
)
|
|
File without changes
|
{wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/common/__init__.py
RENAMED
|
File without changes
|
{wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/common/docstring.py
RENAMED
|
File without changes
|
|
File without changes
|
{wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/config/__init__.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/src/wexample_pseudocode/parser/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/class/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/constant/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{wexample_pseudocode-9.0.4 → wexample_pseudocode-9.1.1}/tests/resources/item/function/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|