makeapp 2.3.0__tar.gz → 2.5.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 (108) hide show
  1. {makeapp-2.3.0 → makeapp-2.5.0}/.gitignore +2 -0
  2. makeapp-2.5.0/PKG-INFO +72 -0
  3. makeapp-2.5.0/README.md +55 -0
  4. makeapp-2.5.0/src/makeapp/__init__.py +3 -0
  5. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/__default__/.github/workflows/python-package.yml +4 -6
  6. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/__default__/.gitignore +2 -1
  7. makeapp-2.5.0/src/makeapp/app_templates/__default__/AGENTS.md +3 -0
  8. makeapp-2.5.0/src/makeapp/app_templates/__default__/CONTRIBUTING.md +45 -0
  9. makeapp-2.5.0/src/makeapp/app_templates/__default__/IDLE.md +457 -0
  10. makeapp-2.5.0/src/makeapp/app_templates/__default__/INSTALL.md +31 -0
  11. makeapp-2.5.0/src/makeapp/app_templates/__default__/README.md +33 -0
  12. makeapp-2.5.0/src/makeapp/app_templates/__default__/docs/index.md +21 -0
  13. makeapp-2.5.0/src/makeapp/app_templates/__default__/docs/quickstart.md +21 -0
  14. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/__default__/pyproject.toml +4 -0
  15. makeapp-2.5.0/src/makeapp/app_templates/__default__/tests/test_basic.py +11 -0
  16. makeapp-2.5.0/src/makeapp/app_templates/console/INSTALL.md +23 -0
  17. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/.github/workflows/python-package.yml +7 -5
  18. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/makeappconf.py +10 -12
  19. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/appmaker.py +33 -9
  20. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/apptools.py +90 -69
  21. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/cli.py +14 -4
  22. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/helpers/dist.py +6 -6
  23. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/helpers/files.py +1 -1
  24. makeapp-2.5.0/src/makeapp/helpers/tests.py +181 -0
  25. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/helpers/vcs.py +41 -27
  26. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/helpers/venvs.py +1 -1
  27. makeapp-2.5.0/src/makeapp/utils.py +271 -0
  28. makeapp-2.3.0/PKG-INFO +0 -136
  29. makeapp-2.3.0/README.md +0 -119
  30. makeapp-2.3.0/src/makeapp/__init__.py +0 -3
  31. makeapp-2.3.0/src/makeapp/app_templates/__default__/CONTRIBUTING.md +0 -21
  32. makeapp-2.3.0/src/makeapp/app_templates/__default__/INSTALL.md +0 -24
  33. makeapp-2.3.0/src/makeapp/app_templates/__default__/README.md +0 -22
  34. makeapp-2.3.0/src/makeapp/app_templates/__default__/docs/index.md +0 -37
  35. makeapp-2.3.0/src/makeapp/app_templates/__default__/docs/quickstart.md +0 -3
  36. makeapp-2.3.0/src/makeapp/app_templates/__default__/tests/test_basic.py +0 -11
  37. makeapp-2.3.0/src/makeapp/helpers/tests.py +0 -129
  38. makeapp-2.3.0/src/makeapp/utils.py +0 -191
  39. {makeapp-2.3.0 → makeapp-2.5.0}/LICENSE +0 -0
  40. {makeapp-2.3.0 → makeapp-2.5.0}/pyproject.toml +0 -0
  41. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/__default__/AUTHORS.md +0 -0
  42. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/__default__/CHANGELOG.md +0 -0
  43. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/__default__/mkdocs.yml +0 -0
  44. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/__default__/ruff.toml +0 -0
  45. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/__default__/src/__package_name__/__init__.py +0 -0
  46. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/__default__/tests/__init__.py +0 -0
  47. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/click/makeappconf.py +0 -0
  48. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/click/pyproject.toml +0 -0
  49. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/click/src/__package_name__/cli.py +0 -0
  50. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/console/pyproject.toml +0 -0
  51. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/console/src/__package_name__/cli.py +0 -0
  52. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/makeappconf.py +0 -0
  53. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/pyproject.toml +0 -0
  54. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/__init__.py +0 -0
  55. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/admin.py +0 -0
  56. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/apps.py +0 -0
  57. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/locale/empty +0 -0
  58. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/management/__init__.py +0 -0
  59. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/management/commands/__init__.py +0 -0
  60. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/models.py +0 -0
  61. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/templates/empty +0 -0
  62. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/templatetags/empty +0 -0
  63. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/tests/__init__.py +0 -0
  64. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/tests/conftest.py +0 -0
  65. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/tests/test_basic.py +0 -0
  66. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/django/src/__package_name__/views.py +0 -0
  67. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/pytestplugin/pyproject.toml +0 -0
  68. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/pytestplugin/src/__package_name__/entry.py +0 -0
  69. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/pytestplugin/tests/test_basic.py +0 -0
  70. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/.gitignore +0 -0
  71. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/conf/__package_name__-certbot-hook.sh +0 -0
  72. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/conf/__package_name__.service +0 -0
  73. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/conf/env_production.py +0 -0
  74. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/pyproject.toml +0 -0
  75. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/requirements.txt +0 -0
  76. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/src/__package_name__/core/uwsgiinit.py +0 -0
  77. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/__init__.py +0 -0
  78. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/auto.py +0 -0
  79. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/base.py +0 -0
  80. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/env_development.py +0 -0
  81. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/env_testing.py +0 -0
  82. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/src/__package_name__/settings/sub_paths.py +0 -0
  83. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/src/__package_name__/uwsgicfg.py +0 -0
  84. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/state/certbot/empty +0 -0
  85. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/state/dumps/empty +0 -0
  86. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/state/media/empty +0 -0
  87. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/state/spool/empty +0 -0
  88. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/state/static/empty +0 -0
  89. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/tests/conftest.py +0 -0
  90. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/tests/requirements.txt +0 -0
  91. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/tests/test_module.py +0 -0
  92. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/app_templates/webscaff/wscaff.yml +0 -0
  93. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/appconfig.py +0 -0
  94. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/apptemplate.py +0 -0
  95. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/exceptions.py +0 -0
  96. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/helpers/__init__.py +0 -0
  97. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/license_templates/apache2 +0 -0
  98. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/license_templates/apache2_src +0 -0
  99. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/license_templates/bsd2cl +0 -0
  100. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/license_templates/bsd3cl +0 -0
  101. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/license_templates/gpl2 +0 -0
  102. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/license_templates/gpl2_src +0 -0
  103. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/license_templates/gpl3 +0 -0
  104. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/license_templates/gpl3_src +0 -0
  105. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/license_templates/mit +0 -0
  106. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/license_templates/no +0 -0
  107. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/license_templates/no_src +0 -0
  108. {makeapp-2.3.0 → makeapp-2.5.0}/src/makeapp/rendering.py +0 -0
@@ -10,4 +10,6 @@ __pycache__
10
10
  .mypy_cache
11
11
  .ruff_cache
12
12
  .pytest_cache
13
+ .ma-*
13
14
  .env
15
+ *.lock
makeapp-2.5.0/PKG-INFO ADDED
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.5
2
+ Name: makeapp
3
+ Version: 2.5.0
4
+ Summary: Simplifies routine Python application development processes.
5
+ Project-URL: Homepage, https://github.com/idlesign/makeapp
6
+ Project-URL: Documentation, https://makeapp.readthedocs.io/
7
+ Author-email: Igor Starikov <idlesign@yandex.ru>
8
+ License-Expression: BSD-3-Clause
9
+ License-File: LICENSE
10
+ Keywords: development,scaffolding
11
+ Requires-Python: >=3.11
12
+ Requires-Dist: click
13
+ Requires-Dist: jinja2~=3.1
14
+ Requires-Dist: pyyaml
15
+ Requires-Dist: requests
16
+ Description-Content-Type: text/markdown
17
+
18
+ # makeapp
19
+
20
+ [![PyPI - Version](https://img.shields.io/pypi/v/makeapp)](https://pypi.org/project/makeapp/)
21
+ [![License](https://img.shields.io/pypi/l/makeapp)](https://pypi.org/project/makeapp/)
22
+ [![Coverage](https://img.shields.io/coverallsCoverage/github/idlesign/makeapp)](https://coveralls.io/github/idlesign/makeapp)
23
+ [![Docs](https://img.shields.io/readthedocs/makeapp)](https://makeapp.readthedocs.io/)
24
+
25
+ `makeapp` scaffolds Python projects and provides one CLI for their common development tasks. It can create a project
26
+ from composable templates, initialize Git and a virtual environment, run a GitHub Actions test matrix locally, maintain
27
+ a changelog, and publish releases.
28
+
29
+ ## Install
30
+
31
+ Python 3.11 or newer and [uv](https://docs.astral.sh/uv/getting-started/installation/) are required.
32
+
33
+ ```bash
34
+ uv tool install makeapp
35
+ ```
36
+
37
+ Both `makeapp` and its short alias `ma` invoke the same command.
38
+
39
+ ## Quick start
40
+
41
+ ```bash
42
+ ma new shiny_app ./shiny-app --description "My app" --author "I am" --no-prompt
43
+ cd shiny-app
44
+ ma tests
45
+ ```
46
+
47
+ The default scaffold contains a `src`-layout package, tests, project metadata, a changelog, and MkDocs documentation.
48
+ The non-interactive command also initializes Git and runs `uv sync` to create `.venv`.
49
+
50
+ Bundled templates can extend the default scaffold:
51
+
52
+ - `console` for an `argparse` command-line application;
53
+ - `click` for a Click command-line application;
54
+ - `django` for a reusable Django application;
55
+ - `pytestplugin` for a pytest plugin;
56
+ - `webscaff` for a Linux-hosted Django/Webscaff project.
57
+
58
+ For example:
59
+
60
+ ```bash
61
+ ma new shiny_cli ./shiny-cli -t click --no-prompt
62
+ ```
63
+
64
+ ## Documentation
65
+
66
+ The full user and extension documentation is available at <https://makeapp.readthedocs.io/>.
67
+
68
+ - [Quickstart](https://makeapp.readthedocs.io/en/latest/quickstart/)
69
+ - [CLI reference](https://makeapp.readthedocs.io/en/latest/cli_reference/)
70
+ - [Template authoring](https://makeapp.readthedocs.io/en/latest/template_authoring/)
71
+ - [Publishing](https://makeapp.readthedocs.io/en/latest/publishing/)
72
+ Issues and feature requests are welcome in the [GitHub issue tracker](https://github.com/idlesign/makeapp/issues).
@@ -0,0 +1,55 @@
1
+ # makeapp
2
+
3
+ [![PyPI - Version](https://img.shields.io/pypi/v/makeapp)](https://pypi.org/project/makeapp/)
4
+ [![License](https://img.shields.io/pypi/l/makeapp)](https://pypi.org/project/makeapp/)
5
+ [![Coverage](https://img.shields.io/coverallsCoverage/github/idlesign/makeapp)](https://coveralls.io/github/idlesign/makeapp)
6
+ [![Docs](https://img.shields.io/readthedocs/makeapp)](https://makeapp.readthedocs.io/)
7
+
8
+ `makeapp` scaffolds Python projects and provides one CLI for their common development tasks. It can create a project
9
+ from composable templates, initialize Git and a virtual environment, run a GitHub Actions test matrix locally, maintain
10
+ a changelog, and publish releases.
11
+
12
+ ## Install
13
+
14
+ Python 3.11 or newer and [uv](https://docs.astral.sh/uv/getting-started/installation/) are required.
15
+
16
+ ```bash
17
+ uv tool install makeapp
18
+ ```
19
+
20
+ Both `makeapp` and its short alias `ma` invoke the same command.
21
+
22
+ ## Quick start
23
+
24
+ ```bash
25
+ ma new shiny_app ./shiny-app --description "My app" --author "I am" --no-prompt
26
+ cd shiny-app
27
+ ma tests
28
+ ```
29
+
30
+ The default scaffold contains a `src`-layout package, tests, project metadata, a changelog, and MkDocs documentation.
31
+ The non-interactive command also initializes Git and runs `uv sync` to create `.venv`.
32
+
33
+ Bundled templates can extend the default scaffold:
34
+
35
+ - `console` for an `argparse` command-line application;
36
+ - `click` for a Click command-line application;
37
+ - `django` for a reusable Django application;
38
+ - `pytestplugin` for a pytest plugin;
39
+ - `webscaff` for a Linux-hosted Django/Webscaff project.
40
+
41
+ For example:
42
+
43
+ ```bash
44
+ ma new shiny_cli ./shiny-cli -t click --no-prompt
45
+ ```
46
+
47
+ ## Documentation
48
+
49
+ The full user and extension documentation is available at <https://makeapp.readthedocs.io/>.
50
+
51
+ - [Quickstart](https://makeapp.readthedocs.io/en/latest/quickstart/)
52
+ - [CLI reference](https://makeapp.readthedocs.io/en/latest/cli_reference/)
53
+ - [Template authoring](https://makeapp.readthedocs.io/en/latest/template_authoring/)
54
+ - [Publishing](https://makeapp.readthedocs.io/en/latest/publishing/)
55
+ Issues and feature requests are welcome in the [GitHub issue tracker](https://github.com/idlesign/makeapp/issues).
@@ -0,0 +1,3 @@
1
+
2
+ VERSION = '2.5.0'
3
+ """Application version number tuple."""
@@ -2,9 +2,7 @@ name: Python package
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [ master ]
6
5
  pull_request:
7
- branches: [ master ]
8
6
 
9
7
  jobs:
10
8
  build:
@@ -27,15 +25,15 @@ jobs:
27
25
  - name: Install deps
28
26
  run: |
29
27
  uv sync --only-group tests
30
- uv pip install coveralls
28
+ uv pip install -e . coveralls
31
29
  - uses: astral-sh/ruff-action@v3
32
30
  with:
33
- version: 0.13.1
31
+ version: 0.17.5
34
32
  args: check
35
33
  - name: Run tests
36
34
  env:
37
35
  GITHUB_TOKEN: ${{ secrets.github_token }}
38
36
  {% endraw %}
39
37
  run: |
40
- uv run coverage run -m pytest
41
- uv run coveralls --service=github
38
+ uv run --no-sync coverage run -m pytest
39
+ uv run --no-sync coveralls --service=github
@@ -11,5 +11,6 @@ __pycache__
11
11
  .mypy_cache
12
12
  .ruff_cache
13
13
  .pytest_cache
14
+ .ma-*
14
15
  .env
15
- {% endblock %}
16
+ {% endblock %}
@@ -0,0 +1,3 @@
1
+ # Agent rules
2
+
3
+ See IDLE.md for further instructions.
@@ -0,0 +1,45 @@
1
+ # contributing {{ app_name }}
2
+
3
+
4
+ ## Submit issues
5
+
6
+ If you spotted something weird in application behavior or want to propose a feature you are welcome.
7
+
8
+
9
+ ## Write code
10
+
11
+ If you are eager to participate in application development and to work on an existing issue (whether it should
12
+ be a bugfix or a feature implementation), fork, write code, and make a pull request right from the forked project page.
13
+
14
+ When contributing code, follow the rules from IDLE.md shipped with the project.
15
+
16
+
17
+ ## Project workflow
18
+
19
+ The development tasks are provided by [makeapp](https://pypi.org/project/makeapp/). Install or update it first:
20
+
21
+ ```bash
22
+ uv tool install makeapp # or: uv tool upgrade makeapp
23
+ ```
24
+
25
+ Then, from the project directory:
26
+
27
+ ```bash
28
+ ma up # Synchronize the development environment.
29
+ ma style # Run Ruff checks and apply safe fixes.
30
+ ma tests # Run the configured test matrix.
31
+ ma docs --build # Build documentation without starting a server.
32
+ ma change "+ Add a feature" # Update the changelog and commit modified files.
33
+ ma release # Prepare a release and optionally publish it.
34
+ ```
35
+
36
+ Review changes before running `ma change`: it stages and commits modified tracked files together with the changelog.
37
+
38
+
39
+ ## Spread the word
40
+
41
+ If you have some tips and tricks or any other words that you think might be of interest for the others --- publish it
42
+ wherever you find convenient.
43
+
44
+
45
+ See also: {{ url }}