polylith-cli 1.42.5__tar.gz → 1.43.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 (104) hide show
  1. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/PKG-INFO +1 -1
  2. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/bricks/brick.py +14 -1
  3. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/cli/create.py +9 -2
  4. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/imports/grouping.py +2 -2
  5. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/pyproject.toml +1 -1
  6. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/README.md +0 -0
  7. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/alias/__init__.py +0 -0
  8. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/alias/core.py +0 -0
  9. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/bricks/__init__.py +0 -0
  10. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/bricks/base.py +0 -0
  11. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/bricks/component.py +0 -0
  12. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/building/__init__.py +0 -0
  13. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/building/core.py +0 -0
  14. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/building/paths.py +0 -0
  15. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/check/__init__.py +0 -0
  16. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/check/collect.py +0 -0
  17. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/check/report.py +0 -0
  18. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/cli/__init__.py +0 -0
  19. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/cli/__main__.py +0 -0
  20. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/cli/build.py +0 -0
  21. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/cli/core.py +0 -0
  22. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/cli/env.py +0 -0
  23. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/cli/options.py +0 -0
  24. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/cli/test.py +0 -0
  25. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/commands/__init__.py +0 -0
  26. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/commands/check.py +0 -0
  27. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/commands/create.py +0 -0
  28. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/commands/deps.py +0 -0
  29. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/commands/diff.py +0 -0
  30. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/commands/info.py +0 -0
  31. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/commands/libs.py +0 -0
  32. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/commands/sync.py +0 -0
  33. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/commands/test.py +0 -0
  34. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/configuration/__init__.py +0 -0
  35. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/configuration/core.py +0 -0
  36. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/deps/__init__.py +0 -0
  37. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/deps/core.py +0 -0
  38. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/deps/report.py +0 -0
  39. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/development/__init__.py +0 -0
  40. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/development/development.py +0 -0
  41. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/diff/__init__.py +0 -0
  42. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/diff/collect.py +0 -0
  43. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/diff/report.py +0 -0
  44. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/dirs/__init__.py +0 -0
  45. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/dirs/dirs.py +0 -0
  46. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/distributions/__init__.py +0 -0
  47. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/distributions/caching.py +0 -0
  48. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/distributions/collect.py +0 -0
  49. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/distributions/core.py +0 -0
  50. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/environment/__init__.py +0 -0
  51. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/environment/core.py +0 -0
  52. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/files/__init__.py +0 -0
  53. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/files/files.py +0 -0
  54. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/imports/__init__.py +0 -0
  55. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/imports/parser.py +0 -0
  56. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/imports/usages.py +0 -0
  57. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/info/__init__.py +0 -0
  58. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/info/collect.py +0 -0
  59. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/info/report.py +0 -0
  60. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/interactive/__init__.py +0 -0
  61. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/interactive/project.py +0 -0
  62. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/interface/__init__.py +0 -0
  63. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/interface/collect.py +0 -0
  64. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/interface/interfaces.py +0 -0
  65. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/interface/parser.py +0 -0
  66. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/interface/report.py +0 -0
  67. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/interface/usage.py +0 -0
  68. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/libs/__init__.py +0 -0
  69. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/libs/grouping.py +0 -0
  70. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/libs/lock_files.py +0 -0
  71. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/libs/report.py +0 -0
  72. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/libs/stdlib.py +0 -0
  73. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/output/__init__.py +0 -0
  74. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/output/core.py +0 -0
  75. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/parsing/__init__.py +0 -0
  76. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/parsing/core.py +0 -0
  77. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/parsing/rewrite.py +0 -0
  78. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/project/__init__.py +0 -0
  79. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/project/create.py +0 -0
  80. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/project/get.py +0 -0
  81. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/project/parser.py +0 -0
  82. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/project/templates.py +0 -0
  83. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/readme/__init__.py +0 -0
  84. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/readme/readme.py +0 -0
  85. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/repo/__init__.py +0 -0
  86. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/repo/get.py +0 -0
  87. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/repo/repo.py +0 -0
  88. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/reporting/__init__.py +0 -0
  89. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/reporting/theme.py +0 -0
  90. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/sync/__init__.py +0 -0
  91. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/sync/collect.py +0 -0
  92. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/sync/report.py +0 -0
  93. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/sync/update.py +0 -0
  94. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/test/__init__.py +0 -0
  95. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/test/core.py +0 -0
  96. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/test/report.py +0 -0
  97. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/test/tests.py +0 -0
  98. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/toml/__init__.py +0 -0
  99. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/toml/core.py +0 -0
  100. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/workspace/__init__.py +0 -0
  101. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/workspace/create.py +0 -0
  102. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/workspace/paths.py +0 -0
  103. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/yaml/__init__.py +0 -0
  104. {polylith_cli-1.42.5 → polylith_cli-1.43.1}/polylith_cli/polylith/yaml/core.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polylith-cli
3
- Version: 1.42.5
3
+ Version: 1.43.1
4
4
  Summary: Python tooling support for the Polylith Architecture
5
5
  License: MIT
6
6
  Author: David Vujic
@@ -1,12 +1,25 @@
1
1
  from pathlib import Path
2
- from polylith_cli.polylith import configuration
2
+ from polylith_cli.polylith import configuration, info
3
3
  from polylith_cli.polylith.dirs import create_dir
4
4
  from polylith_cli.polylith.files import create_file
5
5
  from polylith_cli.polylith.interface import create_interface
6
6
  from polylith_cli.polylith.readme import create_brick_readme
7
7
 
8
+ def validate(root: Path, namespace: str, name: str) -> None:
9
+ bases = info.get_bases(root, namespace)
10
+ components = info.get_components(root, namespace)
11
+ if name in bases:
12
+ message = f'{name} already exists in bases.'
13
+ raise ValueError(message)
14
+ if name in components:
15
+ message = f'{name} already exists in components.'
16
+ raise ValueError(message)
17
+
8
18
  def create_brick(root: Path, options: dict) -> None:
9
19
  modulename = options['modulename']
20
+ package = options['package']
21
+ namespace = options['namespace']
22
+ validate(root, namespace, package)
10
23
  path_kwargs = {k: v for k, v in options.items() if k in {'brick', 'namespace', 'package'}}
11
24
  brick_structure = configuration.get_brick_structure_from_config(root)
12
25
  resources_structure = configuration.get_resources_structure_from_config(root)
@@ -7,15 +7,22 @@ from typer import Exit, Option, Typer
7
7
  from typing_extensions import Annotated
8
8
  app = Typer()
9
9
 
10
+ def _try_create(name: str, description: str, fn):
11
+ try:
12
+ create(name, description, fn)
13
+ except ValueError as e:
14
+ print(f'Did not create: {e}')
15
+ raise Exit(code=1)
16
+
10
17
  @app.command('base')
11
18
  def base_command(name: Annotated[str, Option(help='Name of the base.')], description: Annotated[str, Option(help='Description of the base.')]=''):
12
19
  """Creates a Polylith base."""
13
- create(name, description, base.create_base)
20
+ _try_create(name, description, base.create_base)
14
21
 
15
22
  @app.command('component')
16
23
  def component_command(name: Annotated[str, Option(help='Name of the component.')], description: Annotated[str, Option(help='Description of the component.')]=''):
17
24
  """Creates a Polylith component."""
18
- create(name, description, component.create_component)
25
+ _try_create(name, description, component.create_component)
19
26
 
20
27
  def _create_project(root: Path, options: dict):
21
28
  name = options['package']
@@ -2,7 +2,7 @@ from typing import Set, Union
2
2
 
3
3
 
4
4
  def only_brick_imports(imports: Set[str], top_ns: str) -> Set[str]:
5
- return {i for i in imports if i.startswith(top_ns)}
5
+ return {i for i in imports if i == top_ns or i.startswith(f"{top_ns}.")}
6
6
 
7
7
 
8
8
  def only_bricks(import_data: dict, top_ns: str) -> dict:
@@ -29,7 +29,7 @@ def exclude_empty(import_data: dict) -> dict:
29
29
  return {k: v for k, v in import_data.items() if v}
30
30
 
31
31
 
32
- def extract_brick_imports(all_imports: dict, top_ns) -> dict:
32
+ def extract_brick_imports(all_imports: dict, top_ns: str) -> dict:
33
33
  with_only_bricks = only_bricks(all_imports, top_ns)
34
34
  with_only_brick_names = only_brick_names(with_only_bricks)
35
35
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "polylith-cli"
3
- version = "1.42.5"
3
+ version = "1.43.1"
4
4
  description = "Python tooling support for the Polylith Architecture"
5
5
  authors = ['David Vujic']
6
6
  homepage = "https://davidvujic.github.io/python-polylith-docs/"
File without changes