pytestarch 3.0.0__tar.gz → 3.0.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 (57) hide show
  1. {pytestarch-3.0.0 → pytestarch-3.0.1}/PKG-INFO +1 -1
  2. {pytestarch-3.0.0 → pytestarch-3.0.1}/pyproject.toml +1 -1
  3. {pytestarch-3.0.0 → pytestarch-3.0.1}/setup.py +1 -1
  4. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/diagram_extension/diagram_parser.py +8 -8
  5. {pytestarch-3.0.0 → pytestarch-3.0.1}/LICENSE +0 -0
  6. {pytestarch-3.0.0 → pytestarch-3.0.1}/README.md +0 -0
  7. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/__init__.py +0 -0
  8. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/diagram_extension/__init__.py +0 -0
  9. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/diagram_extension/dependency_to_rule_converter.py +0 -0
  10. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/diagram_extension/diagram_rule.py +0 -0
  11. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/diagram_extension/exceptions.py +0 -0
  12. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/diagram_extension/parsed_dependencies.py +0 -0
  13. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure/__init__.py +0 -0
  14. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure/breadth_first_searches.py +0 -0
  15. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure/evaluable_architecture.py +0 -0
  16. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure/evaluable_graph.py +0 -0
  17. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure/evaluable_structures.py +0 -0
  18. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure/exceptions.py +0 -0
  19. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure/module_name_converter.py +0 -0
  20. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure/networkxgraph.py +0 -0
  21. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure/types.py +0 -0
  22. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure/utils.py +0 -0
  23. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/__init__.py +0 -0
  24. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/file_import/__init__.py +0 -0
  25. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/file_import/config.py +0 -0
  26. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/file_import/converter.py +0 -0
  27. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/file_import/exceptions.py +0 -0
  28. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/file_import/file_filter.py +0 -0
  29. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/file_import/import_filter.py +0 -0
  30. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/file_import/import_types.py +0 -0
  31. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/file_import/importee_module_calculator.py +0 -0
  32. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/file_import/parser.py +0 -0
  33. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/graph_generation/__init__.py +0 -0
  34. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/eval_structure_generation/graph_generation/graph_generator.py +0 -0
  35. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/py.typed +0 -0
  36. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/pytestarch.py +0 -0
  37. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/query_language/LANGUAGE_DEFINTION.md +0 -0
  38. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/query_language/__init__.py +0 -0
  39. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/query_language/base_language.py +0 -0
  40. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/query_language/exceptions.py +0 -0
  41. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/query_language/layered_architecture_rule.py +0 -0
  42. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/query_language/multiple_rule_applier.py +0 -0
  43. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/query_language/rule.py +0 -0
  44. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/rule_assessment/__init__.py +0 -0
  45. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/rule_assessment/error_message/__init__.py +0 -0
  46. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/rule_assessment/error_message/message_generator.py +0 -0
  47. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/rule_assessment/exceptions.py +0 -0
  48. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/rule_assessment/rule_check/__init__.py +0 -0
  49. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/rule_assessment/rule_check/behavior_requirement.py +0 -0
  50. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/rule_assessment/rule_check/layer_rule_violation_detector.py +0 -0
  51. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/rule_assessment/rule_check/module_requirement.py +0 -0
  52. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/rule_assessment/rule_check/rule_matcher.py +0 -0
  53. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/rule_assessment/rule_check/rule_violation_detector.py +0 -0
  54. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/rule_assessment/rule_check/rule_violations.py +0 -0
  55. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/utils/__init__.py +0 -0
  56. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/utils/decorators.py +0 -0
  57. {pytestarch-3.0.0 → pytestarch-3.0.1}/src/pytestarch/utils/partial_match_to_regex_converter.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pytestarch
3
- Version: 3.0.0
3
+ Version: 3.0.1
4
4
  Summary: Test framework for software architecture based on imports between modules
5
5
  Home-page: https://github.com/zyskarch/pytestarch
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "PyTestArch"
3
- version = "3.0.0"
3
+ version = "3.0.1"
4
4
  description = "Test framework for software architecture based on imports between modules"
5
5
  authors = ["zyskarch <zyskarch@gmail.com>"]
6
6
  maintainers = ["zyskarch <zyskarch@gmail.com>"]
@@ -28,7 +28,7 @@ extras_require = \
28
28
 
29
29
  setup_kwargs = {
30
30
  'name': 'pytestarch',
31
- 'version': '3.0.0',
31
+ 'version': '3.0.1',
32
32
  'description': 'Test framework for software architecture based on imports between modules',
33
33
  'long_description': '# Welcome to PyTestArch\n\nPyTestArch is an open source library that allows users to define architectural rules and test their code against them. It is \ngenerally inspired by [ArchUnit](https://www.archunit.org/).\n\n## Installation Guide\nPyTestArch is available via [PyPI](https://pypi.org/project/pytestarch/) and can be installed e.g. via pip: `pip install pytestarch`. To also install the\noptional dependency matplotlib, which is required to draw the created dependency graphs, install `pytestarch[visualization]`\n\n## Usage Guide\nThree steps are required to test an architectural rule:\n\n1) Create an evaluable representation of the source code you want to test\n\n```\nfrom pytestarch import get_evaluable_architecture\n\nevaluable = get_evaluable_architecture("/home/dummy/project", "/home/dummy/project/src")\n```\nThis will scan all python files under /home/dummy/project/src for imports and build an internal representation that can\nlater be queried. The first parameter /home/dummy/project helps PyTestArch to differentiate between internal and external \ndependencies. This evaluable can be used for multiple architectural rule checks; if you are using [pytest](https://docs.pytest.org/en/7.1.x/),\nyou could use a fixture for this evaluable object.\n\n2) Define an architectural rule\n```\nfrom pytestarch import Rule\n\nrule = (\n Rule() \n .modules_that() \n .are_named("project.src.moduleB") \n .should_not() \n .be_imported_by_modules_that() \n .are_sub_modules_of("project.src.moduleA") \n)\n```\n\nThis rule represents the architectural requirements that a module named "project.src.moduleB" should not be imported by any module\nthat is a submodule of "project.src.moduleA", excluding "project.src.moduleA" itself.\n\n3) Evaluate your code against this rule\n\n```\nrule.assert_applies(evaluable)\n```\nThat\'s it!\n',
34
34
  'author': 'zyskarch',
@@ -25,18 +25,18 @@ class Module:
25
25
  PUML_START_MARKER = "@startuml"
26
26
  PUML_END_MARKER = "@enduml"
27
27
  ANYTHING = ".*"
28
- ANY_ARROW_TEXT = "(-?|\w+-)" # noqa: W605
28
+ ANY_ARROW_TEXT = r"(-?|\w+-)"
29
29
  NON_EMPTY_STRING = ".+"
30
30
  COMPONENT_MARKER = "component"
31
- NON_EMPTY_WHITESPACE = "\s+" # noqa: W605
32
- NON_EMPTY_CHAR_OR_DIGIT = "(\w|\d)+" # noqa: W605
33
- NON_EMPTY_CHAR_OR_DIGIT_OR_WHITESPACE = "(\w|\d|\s)+" # noqa: W605
31
+ NON_EMPTY_WHITESPACE = r"\s+"
32
+ NON_EMPTY_CHAR_OR_DIGIT = r"(\w|\d)+"
33
+ NON_EMPTY_CHAR_OR_DIGIT_OR_WHITESPACE = r"(\w|\d|\s)+"
34
34
  START_LINE = "^"
35
35
  END_LINE = "$"
36
- BRACKET_OPEN = "\[" # noqa: W605
37
- BRACKET_CLOSE = "\]" # noqa: W605
38
- OPTIONAL_BRACKET_OPEN = "(\[)?" # noqa: W605
39
- OPTIONAL_BRACKET_CLOSE = "(\])?" # noqa: W605
36
+ BRACKET_OPEN = r"\["
37
+ BRACKET_CLOSE = r"\]"
38
+ OPTIONAL_BRACKET_OPEN = r"(\[)?"
39
+ OPTIONAL_BRACKET_CLOSE = r"(\])?"
40
40
  ALIAS_MARKER = "as"
41
41
  ARROW_BODY = "-"
42
42
  ARROW_HEAD_LEFT = "<"
File without changes
File without changes