hyperfast-uv-template 0.3.2__tar.gz → 0.4.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 (91) hide show
  1. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-config.yaml +1 -1
  2. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.envrc.jinja +13 -0
  3. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.github/workflows/{% if build_and_release %}lint_and_test.yaml{% endif %} +2 -2
  4. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.github/workflows/{% if build_and_release %}release-test.yaml{% endif %} +3 -4
  5. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.github/workflows/{% if build_and_release %}release.yaml{% endif %} +3 -3
  6. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.github/workflows/{% if documentaion_tool == 'jupyter-book' %}deploy-docs.yaml{% endif %}.jinja +1 -1
  7. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.github/workflows/{% if documentaion_tool == 'mkdocs' %}deploy-docs.yaml{% endif %} +1 -1
  8. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.github/workflows/{% if not build_and_release %}release.yaml{% endif %} +2 -2
  9. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/pyproject.toml.jinja +1 -1
  10. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.envrc +13 -0
  11. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.github/workflows/deploy-docs.yaml +1 -1
  12. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.github/workflows/lint_and_test.yaml +2 -2
  13. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.github/workflows/release-test.yaml +3 -3
  14. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.github/workflows/release.yaml +3 -3
  15. hyperfast_uv_template-0.4.0/CLAUDE.md +103 -0
  16. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/PKG-INFO +1 -1
  17. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/pyproject.toml +2 -2
  18. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/src/hyperfastuv/_version.py +1 -1
  19. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.copierignore +0 -0
  20. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.editorconfig +0 -0
  21. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.gitattributes +0 -0
  22. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.github/dependabot.yaml +0 -0
  23. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.github/labels.yaml +0 -0
  24. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.github/release.yaml +0 -0
  25. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.gitignore +0 -0
  26. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.pre-commit-config.yaml +0 -0
  27. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/.python-version.jinja +0 -0
  28. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/CHANGELOG.md +0 -0
  29. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/CODE_OF_CONDUCT.md.jinja +0 -0
  30. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/CONTRIBUTING.md.jinja +0 -0
  31. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/Makefile.jinja +0 -0
  32. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/README.md.jinja +0 -0
  33. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/codecov.yaml +0 -0
  34. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'jupyter-book' %}book{% endif %}/_config.yml.jinja +0 -0
  35. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'jupyter-book' %}book{% endif %}/_toc.yml.jinja +0 -0
  36. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'jupyter-book' %}book{% endif %}/api.rst.jinja +0 -0
  37. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'jupyter-book' %}book{% endif %}/assets/assets/extra/.gitkeep +0 -0
  38. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'jupyter-book' %}book{% endif %}/examples.md.jinja +0 -0
  39. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'jupyter-book' %}book{% endif %}/index.md.jinja +0 -0
  40. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'jupyter-book' %}book{% endif %}/references.bib +0 -0
  41. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'jupyter-book' %}book{% endif %}/requirements.txt +0 -0
  42. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'jupyter-book' %}book{% endif %}/usage.md +0 -0
  43. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'mkdocs' %}docs{% endif %}/index.md.jinja +0 -0
  44. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'mkdocs' %}docs{% endif %}/javascripts/mathjax.js +0 -0
  45. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'mkdocs' %}docs{% endif %}/requirements.txt.jinja +0 -0
  46. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'mkdocs' %}docs{% endif %}/{% if 'github.io' not in documentation_url %}CNAME{% endif %}.jinja +0 -0
  47. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'mkdocs' %}docs{% endif %}/{% if build_and_release %}usage.md{% endif %} +0 -0
  48. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if documentaion_tool == 'mkdocs' %}mkdocs.yaml{% endif %}.jinja +0 -0
  49. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if project_license == 'Apache-2.0' %}LICENSE{% endif %}.jinja +0 -0
  50. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if project_license == 'CC-BY-4.0' %}LICENSE{% endif %}.jinja +0 -0
  51. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if project_license == 'GPLv3' %}LICENSE{% endif %}.jinja +0 -0
  52. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if project_license == 'MIT' %}LICENSE{% endif %}.jinja +0 -0
  53. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if use_source_code_skeleton %}src{% endif %}/{{package_name}}/__cli__.py.jinja +0 -0
  54. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if use_source_code_skeleton %}src{% endif %}/{{package_name}}/__init__.py.jinja +0 -0
  55. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if use_source_code_skeleton %}src{% endif %}/{{package_name}}/_version.py.jinja +0 -0
  56. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if use_source_code_skeleton %}src{% endif %}/{{package_name}}/conf/about/{{package_name}}.yaml.jinja +0 -0
  57. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if use_source_code_skeleton %}src{% endif %}/{{package_name}}/py.typed +0 -0
  58. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if use_source_code_skeleton %}tests{% endif %}/{{package_name}}/test_cli.py.jinja +0 -0
  59. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{% if use_source_code_skeleton %}tests{% endif %}/{{package_name}}/test_init.py.jinja +0 -0
  60. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copier-template/{{ _copier_conf.answers_file }}.jinja +0 -0
  61. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.copierignore +0 -0
  62. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.editorconfig +0 -0
  63. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.gitattributes +0 -0
  64. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.github/dependabot.yaml +0 -0
  65. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.github/labels.yaml +0 -0
  66. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.github/release.yaml +0 -0
  67. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.gitignore +0 -0
  68. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.pre-commit-config.yaml +0 -0
  69. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/.python-version +0 -0
  70. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/CHANGELOG.md +0 -0
  71. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/CODE_OF_CONDUCT.md +0 -0
  72. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/CONTRIBUTING.md +0 -0
  73. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/LICENSE +0 -0
  74. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/Makefile +0 -0
  75. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/README.md +0 -0
  76. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/codecov.yaml +0 -0
  77. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/copier.yaml +0 -0
  78. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/docs/CNAME +0 -0
  79. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/docs/index.md +0 -0
  80. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/docs/javascripts/mathjax.js +0 -0
  81. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/docs/requirements.txt +0 -0
  82. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/docs/usage.md +0 -0
  83. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/mkdocs.yaml +0 -0
  84. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/src/hyperfastuv/__cli__.py +0 -0
  85. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/src/hyperfastuv/__init__.py +0 -0
  86. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/src/hyperfastuv/conf/about/hyperfastpy.yaml +0 -0
  87. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/src/hyperfastuv/conf/about/hyperfastuv.yaml +0 -0
  88. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/src/hyperfastuv/py.typed +0 -0
  89. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/tests/hyperfastuv/test_cli.py +0 -0
  90. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/tests/hyperfastuv/test_init.py +0 -0
  91. {hyperfast_uv_template-0.3.2 → hyperfast_uv_template-0.4.0}/tox.ini +0 -0
@@ -1,5 +1,5 @@
1
1
  # Changes here will be overwritten by Copier; do NOT edit manually
2
- _commit: v0.2.0-1-gc667855
2
+ _commit: v0.3.3-43-g0a473d1
3
3
  _src_path: .
4
4
  author: Young Joon Lee
5
5
  build_and_release: true
@@ -12,5 +12,18 @@ else
12
12
  make install
13
13
  # shellcheck disable=SC1091
14
14
  source "${VIRTUAL_ENV}/bin/activate"
15
+ python3 -m ensurepip --upgrade
15
16
  python3 -m pip install --upgrade pip setuptools wheel
16
17
  fi
18
+ # Load .env if it exists
19
+ if [ -f .env ]; then
20
+ # Load each line in .env file
21
+ while IFS= read -r line || [ -n "$line" ]; do
22
+ # Skip comments and empty lines
23
+ if [[ $line =~ ^[[:space:]]*# ]] || [[ -z $line ]]; then
24
+ continue
25
+ fi
26
+ # Export the valid environment variables
27
+ eval "export ${line}"
28
+ done < .env
29
+ fi
@@ -25,12 +25,12 @@ jobs:
25
25
  steps:
26
26
  # Checkout the code base #
27
27
  - name: Checkout Code
28
- uses: actions/checkout@v4
28
+ uses: actions/checkout@v5
29
29
  with:
30
30
  fetch-depth: 0
31
31
 
32
32
  - name: Install uv
33
- uses: astral-sh/setup-uv@v5
33
+ uses: astral-sh/setup-uv@v6
34
34
  with:
35
35
  enable-cache: true
36
36
 
@@ -12,7 +12,6 @@ jobs:
12
12
  release:
13
13
  runs-on: ubuntu-latest
14
14
  concurrency: release
15
- environment: release
16
15
 
17
16
  permissions:
18
17
  id-token: write
@@ -23,7 +22,7 @@ jobs:
23
22
  # the branch was updated. To keep PSR working with the configured release branches,
24
23
  # we force a checkout of the desired release branch but at the workflow sha HEAD.
25
24
  - name: Setup | Checkout Repository at workflow sha
26
- uses: actions/checkout@v4
25
+ uses: actions/checkout@v5
27
26
  with:
28
27
  fetch-depth: 0
29
28
  ref: ${{ github.sha }}
@@ -35,7 +34,7 @@ jobs:
35
34
  - name: Action | Semantic Version Release
36
35
  id: release
37
36
  # Adjust tag with desired version if applicable.
38
- uses: python-semantic-release/python-semantic-release@v9.17.0
37
+ uses: python-semantic-release/python-semantic-release@v10.3.1
39
38
  with:
40
39
  build: true
41
40
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -50,7 +49,7 @@ jobs:
50
49
  repository-url: https://test.pypi.org/legacy/
51
50
 
52
51
  - name: Publish | Upload to GitHub Release Assets
53
- uses: python-semantic-release/publish-action@v9.17.0
52
+ uses: python-semantic-release/publish-action@v10.3.1
54
53
  if: steps.release.outputs.released == 'true'
55
54
  with:
56
55
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -25,7 +25,7 @@ jobs:
25
25
  # the branch was updated. To keep PSR working with the configured release branches,
26
26
  # we force a checkout of the desired release branch but at the workflow sha HEAD.
27
27
  - name: Setup | Checkout Repository at workflow sha
28
- uses: actions/checkout@v4
28
+ uses: actions/checkout@v5
29
29
  with:
30
30
  fetch-depth: 0
31
31
  ref: ${{ github.sha }}
@@ -37,7 +37,7 @@ jobs:
37
37
  - name: Action | Semantic Version Release
38
38
  id: release
39
39
  # Adjust tag with desired version if applicable.
40
- uses: python-semantic-release/python-semantic-release@v9.17.0
40
+ uses: python-semantic-release/python-semantic-release@v10.3.1
41
41
  with:
42
42
  build: true
43
43
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -49,7 +49,7 @@ jobs:
49
49
  if: steps.release.outputs.released == 'true'
50
50
 
51
51
  - name: Publish | Upload to GitHub Release Assets
52
- uses: python-semantic-release/publish-action@v9.17.0
52
+ uses: python-semantic-release/publish-action@v10.3.1
53
53
  if: steps.release.outputs.released == 'true'
54
54
  with:
55
55
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -18,7 +18,7 @@ jobs:
18
18
  deploy:
19
19
  runs-on: ubuntu-latest
20
20
  steps:
21
- - uses: actions/checkout@v4
21
+ - uses: actions/checkout@v5
22
22
 
23
23
  - uses: actions/setup-python@v5
24
24
  with:
@@ -21,7 +21,7 @@ jobs:
21
21
  deploy:
22
22
  runs-on: ubuntu-latest
23
23
  steps:
24
- - uses: actions/checkout@v4
24
+ - uses: actions/checkout@v5
25
25
 
26
26
  - uses: actions/setup-python@v5
27
27
  with:
@@ -25,7 +25,7 @@ jobs:
25
25
  # the branch was updated. To keep PSR working with the configured release branches,
26
26
  # we force a checkout of the desired release branch but at the workflow sha HEAD.
27
27
  - name: Setup | Checkout Repository at workflow sha
28
- uses: actions/checkout@v4
28
+ uses: actions/checkout@v5
29
29
  with:
30
30
  fetch-depth: 0
31
31
  ref: ${{ github.sha }}
@@ -37,7 +37,7 @@ jobs:
37
37
  - name: Action | Semantic Version Release
38
38
  id: release
39
39
  # Adjust tag with desired version if applicable.
40
- uses: python-semantic-release/python-semantic-release@v9.12.0
40
+ uses: python-semantic-release/python-semantic-release@v10.3.1
41
41
  with:
42
42
  build: true
43
43
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -174,7 +174,7 @@ branch = true
174
174
  source = ["src/{{ package_name }}"]
175
175
 
176
176
  [tool.deptry]
177
- ignore = ["DEP001"]
177
+ ignore = ["DEP001", "DEP003"]
178
178
 
179
179
  [tool.semantic_release]
180
180
  # General settings
@@ -12,5 +12,18 @@ else
12
12
  make install
13
13
  # shellcheck disable=SC1091
14
14
  source "${VIRTUAL_ENV}/bin/activate"
15
+ python3 -m ensurepip --upgrade
15
16
  python3 -m pip install --upgrade pip setuptools wheel
16
17
  fi
18
+ # Load .env if it exists
19
+ if [ -f .env ]; then
20
+ # Load each line in .env file
21
+ while IFS= read -r line || [ -n "$line" ]; do
22
+ # Skip comments and empty lines
23
+ if [[ $line =~ ^[[:space:]]*# ]] || [[ -z $line ]]; then
24
+ continue
25
+ fi
26
+ # Export the valid environment variables
27
+ eval "export ${line}"
28
+ done < .env
29
+ fi
@@ -21,7 +21,7 @@ jobs:
21
21
  deploy:
22
22
  runs-on: ubuntu-latest
23
23
  steps:
24
- - uses: actions/checkout@v4
24
+ - uses: actions/checkout@v5
25
25
 
26
26
  - uses: actions/setup-python@v5
27
27
  with:
@@ -25,12 +25,12 @@ jobs:
25
25
  steps:
26
26
  # Checkout the code base #
27
27
  - name: Checkout Code
28
- uses: actions/checkout@v4
28
+ uses: actions/checkout@v5
29
29
  with:
30
30
  fetch-depth: 0
31
31
 
32
32
  - name: Install uv
33
- uses: astral-sh/setup-uv@v5
33
+ uses: astral-sh/setup-uv@v6
34
34
  with:
35
35
  enable-cache: true
36
36
 
@@ -22,7 +22,7 @@ jobs:
22
22
  # the branch was updated. To keep PSR working with the configured release branches,
23
23
  # we force a checkout of the desired release branch but at the workflow sha HEAD.
24
24
  - name: Setup | Checkout Repository at workflow sha
25
- uses: actions/checkout@v4
25
+ uses: actions/checkout@v5
26
26
  with:
27
27
  fetch-depth: 0
28
28
  ref: ${{ github.sha }}
@@ -34,7 +34,7 @@ jobs:
34
34
  - name: Action | Semantic Version Release
35
35
  id: release
36
36
  # Adjust tag with desired version if applicable.
37
- uses: python-semantic-release/python-semantic-release@v9.17.0
37
+ uses: python-semantic-release/python-semantic-release@v10.3.1
38
38
  with:
39
39
  build: true
40
40
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -49,7 +49,7 @@ jobs:
49
49
  repository-url: https://test.pypi.org/legacy/
50
50
 
51
51
  - name: Publish | Upload to GitHub Release Assets
52
- uses: python-semantic-release/publish-action@v9.17.0
52
+ uses: python-semantic-release/publish-action@v10.3.1
53
53
  if: steps.release.outputs.released == 'true'
54
54
  with:
55
55
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -25,7 +25,7 @@ jobs:
25
25
  # the branch was updated. To keep PSR working with the configured release branches,
26
26
  # we force a checkout of the desired release branch but at the workflow sha HEAD.
27
27
  - name: Setup | Checkout Repository at workflow sha
28
- uses: actions/checkout@v4
28
+ uses: actions/checkout@v5
29
29
  with:
30
30
  fetch-depth: 0
31
31
  ref: ${{ github.sha }}
@@ -37,7 +37,7 @@ jobs:
37
37
  - name: Action | Semantic Version Release
38
38
  id: release
39
39
  # Adjust tag with desired version if applicable.
40
- uses: python-semantic-release/python-semantic-release@v9.17.0
40
+ uses: python-semantic-release/python-semantic-release@v10.3.1
41
41
  with:
42
42
  build: true
43
43
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -49,7 +49,7 @@ jobs:
49
49
  if: steps.release.outputs.released == 'true'
50
50
 
51
51
  - name: Publish | Upload to GitHub Release Assets
52
- uses: python-semantic-release/publish-action@v9.17.0
52
+ uses: python-semantic-release/publish-action@v10.3.1
53
53
  if: steps.release.outputs.released == 'true'
54
54
  with:
55
55
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,103 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Commands
6
+
7
+ ### Development Setup
8
+ ```bash
9
+ make install # Install virtual environment with uv and pre-commit hooks
10
+ uv sync # Sync dependencies
11
+ uv run pre-commit install # Install pre-commit hooks manually
12
+ ```
13
+
14
+ ### Code Quality
15
+ ```bash
16
+ make check # Run all code quality checks (lint, type check, dependency check)
17
+ uv run ruff check src/ # Run linter only
18
+ uv run ruff format src/ # Format code with ruff
19
+ uv run mypy src/ # Run type checking only
20
+ uv run deptry . # Check for obsolete dependencies
21
+ uv run pre-commit run -a # Run all pre-commit hooks
22
+ ```
23
+
24
+ ### Testing
25
+ ```bash
26
+ make test # Run all tests with coverage (outputs to tests/pytest-coverage.txt)
27
+ uv run pytest # Run tests without coverage
28
+ uv run pytest tests/hyperfastuv/test_cli.py # Run specific test file
29
+ uv run pytest -k "test_function_name" # Run specific test by name
30
+ uv run pytest --cov --cov-report=xml # Generate coverage.xml for CI
31
+ uv run tox-uv # Test across Python 3.9-3.13
32
+ ```
33
+
34
+ ### Building & Publishing
35
+ ```bash
36
+ make build # Build wheel file using hatchling
37
+ make publish # Publish to PyPI (requires credentials)
38
+ uvx twine upload dist/* # Manual upload to PyPI
39
+ ```
40
+
41
+ ### Documentation
42
+ ```bash
43
+ make docs # Build and serve documentation locally (http://127.0.0.1:8000)
44
+ make docs-test # Test documentation build without serving
45
+ uv run mkdocs build # Build static docs to site/
46
+ ```
47
+
48
+ ### Template Management (Copier)
49
+ ```bash
50
+ make init-project # Initialize new project from this template
51
+ make reinit-project # Update existing project from template
52
+ copier copy --trust --answers-file .copier-config.yaml gh:entelecheia/hyperfast-uv-template .
53
+ ```
54
+
55
+ ## Architecture
56
+
57
+ This is a Copier-based Python package template designed for rapid project bootstrapping with modern tooling.
58
+
59
+ ### Project Purpose
60
+ This repository serves as a **template generator** for Python projects. It uses Copier to create customized project scaffolds based on user inputs. The generated projects include pre-configured development tools, CI/CD pipelines, and documentation.
61
+
62
+ ### Package Structure
63
+ - **src/hyperfastuv/**: Template demonstration package
64
+ - `__init__.py`: Package initialization with `get_version()` function
65
+ - `__cli__.py`: Click-based CLI with greeting functionality
66
+ - `_version.py`: Semantic versioning managed by python-semantic-release
67
+ - `conf/about/`: YAML configuration files for package metadata
68
+
69
+ ### Template System
70
+ - **copier.yaml**: Template configuration with questions for project customization
71
+ - **.copier-template/**: Template source files (Jinja2 templates)
72
+ - **.copier-config.yaml**: Saved answers for template regeneration
73
+ - Supports nested templates via `code_template_source` parameter
74
+
75
+ ### Development Stack
76
+ - **Package Manager**: uv (high-performance Python package installer)
77
+ - **Build System**: Hatchling with wheel distribution
78
+ - **Testing**: pytest with coverage reporting, tox for multi-version testing
79
+ - **Linting/Formatting**: Ruff (replaces black, isort, flake8)
80
+ - **Type Checking**: mypy with strict configuration
81
+ - **Pre-commit**: Automated checks for YAML, TOML, merge conflicts
82
+ - **Documentation**: MkDocs Material with mkdocstrings for API docs
83
+ - **CI/CD**: GitHub Actions workflows for testing, releasing, and docs deployment
84
+
85
+ ### Key Configuration Files
86
+ - `pyproject.toml`: Unified configuration for all tools (PEP 621 compliant)
87
+ - `uv.lock`: Reproducible dependency resolution
88
+ - `.python-version`: Python 3.11 as default
89
+ - `tox.ini`: Test matrix for Python 3.9-3.13
90
+ - `.pre-commit-config.yaml`: Git hooks for code quality
91
+
92
+ ### CI/CD Workflows
93
+ - **lint_and_test.yaml**: Runs on push to main, executes checks and tests
94
+ - **release.yaml**: Semantic release on main branch merges
95
+ - **deploy-docs.yaml**: Publishes documentation to GitHub Pages
96
+
97
+ ### Release Process
98
+ Uses python-semantic-release with Angular commit convention:
99
+ - `feat:` triggers minor version bump
100
+ - `fix:` or `perf:` triggers patch version bump
101
+ - `BREAKING CHANGE:` triggers major version bump
102
+ - Automatically updates version in `pyproject.toml` and `_version.py`
103
+ - Creates GitHub releases with changelog
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperfast-uv-template
3
- Version: 0.3.2
3
+ Version: 0.4.0
4
4
  Summary: Streamlining Python Project Development with a Comprehensive Toolset for Quality, Efficiency, and Maintainability
5
5
  Project-URL: Homepage, https://hyperfast-uv.entelecheia.ai
6
6
  Project-URL: Repository, https://github.com/entelecheia/hyperfast-uv-template
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "hyperfast-uv-template"
3
- version = "0.3.2"
3
+ version = "0.4.0"
4
4
  description = "Streamlining Python Project Development with a Comprehensive Toolset for Quality, Efficiency, and Maintainability"
5
5
  authors = [{ name = "Young Joon Lee", email = "entelecheia@hotmail.com" }]
6
6
  license = "MIT"
@@ -199,7 +199,7 @@ branch = true
199
199
  source = ["src/hyperfastuv"]
200
200
 
201
201
  [tool.deptry]
202
- ignore = ["DEP001"]
202
+ ignore = ["DEP001", "DEP003"]
203
203
 
204
204
  [tool.semantic_release]
205
205
  # General settings
@@ -13,4 +13,4 @@ Example:
13
13
  '0.1.0'
14
14
  """
15
15
 
16
- __version__ = "0.3.2"
16
+ __version__ = "0.4.0"