makeapp 2.2.0__tar.gz → 2.3.0__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 (95) hide show
  1. {makeapp-2.2.0 → makeapp-2.3.0}/PKG-INFO +1 -1
  2. makeapp-2.3.0/src/makeapp/__init__.py +3 -0
  3. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/appmaker.py +2 -1
  4. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/apptemplate.py +5 -5
  5. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/cli.py +3 -2
  6. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/helpers/tests.py +7 -1
  7. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/helpers/vcs.py +5 -1
  8. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/utils.py +7 -6
  9. makeapp-2.2.0/src/makeapp/__init__.py +0 -3
  10. {makeapp-2.2.0 → makeapp-2.3.0}/.gitignore +0 -0
  11. {makeapp-2.2.0 → makeapp-2.3.0}/LICENSE +0 -0
  12. {makeapp-2.2.0 → makeapp-2.3.0}/README.md +0 -0
  13. {makeapp-2.2.0 → makeapp-2.3.0}/pyproject.toml +0 -0
  14. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/.github/workflows/python-package.yml +0 -0
  15. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/.gitignore +0 -0
  16. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/AUTHORS.md +0 -0
  17. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/CHANGELOG.md +0 -0
  18. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/CONTRIBUTING.md +0 -0
  19. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/INSTALL.md +0 -0
  20. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/README.md +0 -0
  21. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/docs/index.md +0 -0
  22. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/docs/quickstart.md +0 -0
  23. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/mkdocs.yml +0 -0
  24. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/pyproject.toml +0 -0
  25. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/ruff.toml +0 -0
  26. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/src/__package_name__/__init__.py +0 -0
  27. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/tests/__init__.py +0 -0
  28. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/__default__/tests/test_basic.py +0 -0
  29. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/click/makeappconf.py +0 -0
  30. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/click/pyproject.toml +0 -0
  31. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/click/src/__package_name__/cli.py +0 -0
  32. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/console/pyproject.toml +0 -0
  33. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/console/src/__package_name__/cli.py +0 -0
  34. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/.github/workflows/python-package.yml +0 -0
  35. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/makeappconf.py +0 -0
  36. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/pyproject.toml +0 -0
  37. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/__init__.py +0 -0
  38. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/admin.py +0 -0
  39. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/apps.py +0 -0
  40. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/locale/empty +0 -0
  41. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/management/__init__.py +0 -0
  42. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/management/commands/__init__.py +0 -0
  43. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/models.py +0 -0
  44. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/templates/empty +0 -0
  45. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/templatetags/empty +0 -0
  46. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/tests/__init__.py +0 -0
  47. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/tests/conftest.py +0 -0
  48. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/tests/test_basic.py +0 -0
  49. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/django/src/__package_name__/views.py +0 -0
  50. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/pytestplugin/pyproject.toml +0 -0
  51. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/pytestplugin/src/__package_name__/entry.py +0 -0
  52. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/pytestplugin/tests/test_basic.py +0 -0
  53. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/.gitignore +0 -0
  54. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/conf/__package_name__-certbot-hook.sh +0 -0
  55. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/conf/__package_name__.service +0 -0
  56. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/conf/env_production.py +0 -0
  57. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/makeappconf.py +0 -0
  58. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/pyproject.toml +0 -0
  59. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/requirements.txt +0 -0
  60. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/src/__package_name__/core/uwsgiinit.py +0 -0
  61. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/__init__.py +0 -0
  62. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/auto.py +0 -0
  63. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/base.py +0 -0
  64. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/env_development.py +0 -0
  65. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/env_testing.py +0 -0
  66. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/sub_paths.py +0 -0
  67. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/src/__package_name__/uwsgicfg.py +0 -0
  68. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/state/certbot/empty +0 -0
  69. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/state/dumps/empty +0 -0
  70. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/state/media/empty +0 -0
  71. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/state/spool/empty +0 -0
  72. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/state/static/empty +0 -0
  73. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/tests/conftest.py +0 -0
  74. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/tests/requirements.txt +0 -0
  75. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/tests/test_module.py +0 -0
  76. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/app_templates/webscaff/wscaff.yml +0 -0
  77. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/appconfig.py +0 -0
  78. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/apptools.py +0 -0
  79. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/exceptions.py +0 -0
  80. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/helpers/__init__.py +0 -0
  81. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/helpers/dist.py +0 -0
  82. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/helpers/files.py +0 -0
  83. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/helpers/venvs.py +0 -0
  84. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/license_templates/apache2 +0 -0
  85. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/license_templates/apache2_src +0 -0
  86. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/license_templates/bsd2cl +0 -0
  87. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/license_templates/bsd3cl +0 -0
  88. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/license_templates/gpl2 +0 -0
  89. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/license_templates/gpl2_src +0 -0
  90. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/license_templates/gpl3 +0 -0
  91. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/license_templates/gpl3_src +0 -0
  92. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/license_templates/mit +0 -0
  93. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/license_templates/no +0 -0
  94. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/license_templates/no_src +0 -0
  95. {makeapp-2.2.0 → makeapp-2.3.0}/src/makeapp/rendering.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: makeapp
3
- Version: 2.2.0
3
+ Version: 2.3.0
4
4
  Summary: Simplifies routine Python application development processes.
5
5
  Project-URL: Homepage, https://github.com/idlesign/makeapp
6
6
  Project-URL: Documentation, https://makeapp.readthedocs.io/
@@ -0,0 +1,3 @@
1
+
2
+ VERSION = '2.3.0'
3
+ """Application version number tuple."""
@@ -113,7 +113,7 @@ class AppMaker:
113
113
 
114
114
  # Support for user-supplied template directories.
115
115
  for template in templates_to_use or []:
116
- if '/' in template:
116
+ if os.sep in template:
117
117
  parent = str(Path(template).parent)
118
118
  if parent not in search_paths:
119
119
  search_paths.append(parent)
@@ -302,6 +302,7 @@ class AppMaker:
302
302
  :param remote_push: Whether to push to remote.
303
303
 
304
304
  """
305
+ dest = os.path.abspath(dest)
305
306
  self.logger.info(f'Application target path: {dest}')
306
307
 
307
308
  # Make remote available for hooks.
@@ -120,12 +120,12 @@ class AppTemplate:
120
120
 
121
121
  full_path = os.path.join(path, fname)
122
122
 
123
- rel_path = full_path.replace(templates_path, '').lstrip('/')
123
+ rel_path = os.path.relpath(full_path, templates_path)
124
124
 
125
125
  template_file = TemplateFile(
126
126
  template=self,
127
127
  path_full=full_path,
128
- path_rel=rel_path,
128
+ path_rel=rel_path.replace(os.sep, '/'),
129
129
  )
130
130
 
131
131
  rel_path = rel_path.replace(maker.package_dir_marker, maker.settings['package_name'])
@@ -174,9 +174,9 @@ class AppTemplate:
174
174
 
175
175
  """
176
176
  for supposed_path in search_paths:
177
- if '/' in supposed_path and os.path.exists(supposed_path):
177
+ if os.sep in supposed_path and os.path.exists(supposed_path):
178
178
  path = str(os.path.abspath(supposed_path))
179
- return path.split('/')[-1], path
179
+ return path.split(os.sep)[-1], path
180
180
 
181
181
  raise AppMakerException(
182
182
  f"Unable to find application template {name_or_path}. "
@@ -221,7 +221,7 @@ class TemplateFile:
221
221
 
222
222
  if os.path.exists(path_full):
223
223
  # Check parent file exists in template.
224
- paths.append(os.path.join(parent.name, path_rel))
224
+ paths.append(f'{parent.name}/{path_rel}')
225
225
 
226
226
  if parent.is_default:
227
227
  break
@@ -248,8 +248,9 @@ def tests(debug, only):
248
248
 
249
249
  for status, color, err in ((key_ok, 'green', False), (key_fail, 'red', True)):
250
250
  if items := stats[status]:
251
- items = "\n ".join(items)
252
- click.secho(f'Tests {status}:\n {items}', err=err, fg=color)
251
+ total_items = len(items)
252
+ items = ' '.join(items)
253
+ click.secho(f'Tests {status} ({total_items}):\n {items}', err=err, fg=color)
253
254
 
254
255
  click.secho('Done', fg='green')
255
256
 
@@ -49,11 +49,17 @@ class TestsHelper:
49
49
  values = matrix.values()
50
50
  combinations = []
51
51
 
52
+ def norm(val) -> float | str:
53
+ try:
54
+ return float(val)
55
+ except (ValueError, TypeError):
56
+ return f'{val}'
57
+
52
58
  for combined in product(*values):
53
59
  combination = dict(zip(keys, combined, strict=False))
54
60
  is_excluded = False
55
61
  for exclusion in exclusions:
56
- if all(f'{combination.get(key)}' == f'{val}' for key, val in exclusion.items()):
62
+ if all(f'{norm(combination.get(key))}' == f'{norm(val)}' for key, val in exclusion.items()):
57
63
  is_excluded = True
58
64
  break
59
65
 
@@ -110,7 +110,11 @@ class VcsHelper:
110
110
  :param message: Commit description.
111
111
 
112
112
  """
113
- self.run_command("commit -m '%s'" % message.replace("'", "''"))
113
+ with NamedTemporaryFile() as f:
114
+ f.write(message.encode())
115
+ f.flush()
116
+
117
+ self.run_command(f'commit -F "{f.name}"')
114
118
 
115
119
  def get_remotes(self):
116
120
  """Returns a list of remotes."""
@@ -87,13 +87,10 @@ def check_command(command: str, *, hint: str):
87
87
  :param hint:
88
88
 
89
89
  """
90
- try:
91
- run_command(f'type {command}')
92
-
93
- except CommandError as e:
90
+ if shutil.which(command) is None:
94
91
  raise CommandError(
95
92
  f"Failed to execute '{command}' command. "
96
- f"Check {hint} is installed and available.") from e
93
+ f"Check {hint} is installed and available.")
97
94
 
98
95
 
99
96
  def run_command(command: str, *, err_msg: str = '', env: dict | None = None, capture: bool = True) -> list[str]:
@@ -187,4 +184,8 @@ class Uv:
187
184
 
188
185
  @classmethod
189
186
  def install(cls):
190
- return run_command('curl -LsSf https://astral.sh/uv/install.sh | sh', capture=False)
187
+ if sys.platform == 'win32':
188
+ cmd = 'powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"'
189
+ else:
190
+ cmd = 'curl -LsSf https://astral.sh/uv/install.sh | sh'
191
+ return run_command(cmd, capture=False)
@@ -1,3 +0,0 @@
1
-
2
- VERSION = '2.2.0'
3
- """Application version number tuple."""
File without changes
File without changes
File without changes
File without changes
File without changes