liblaf-cherries 0.0.1__tar.gz → 0.0.3__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 (76) hide show
  1. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.github/copier/.copier-answers.python.yaml +5 -2
  2. liblaf_cherries-0.0.3/.github/copier/.copier-answers.release.yaml +6 -0
  3. liblaf_cherries-0.0.1/.github/copier/.copier-answers.share.yaml → liblaf_cherries-0.0.3/.github/copier/.copier-answers.shared.yaml +3 -2
  4. liblaf_cherries-0.0.3/.github/copier/mkdocs.yaml +143 -0
  5. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.github/linters/.ruff.toml +5 -0
  6. liblaf_cherries-0.0.3/.github/release-please/.manifest.json +1 -0
  7. liblaf_cherries-0.0.3/.github/workflows/shared-docs.yaml +45 -0
  8. liblaf_cherries-0.0.1/.github/workflows/mega-linter.yaml → liblaf_cherries-0.0.3/.github/workflows/shared-mega-linter.yaml +16 -2
  9. liblaf_cherries-0.0.3/.github/workflows/shared-pr.yaml +51 -0
  10. liblaf_cherries-0.0.3/.github/workflows/shared-release-please.yaml +108 -0
  11. liblaf_cherries-0.0.1/.github/workflows/release.yaml → liblaf_cherries-0.0.3/.github/workflows/shared-release.yaml +25 -4
  12. liblaf_cherries-0.0.1/.github/workflows/auto-repo.yaml → liblaf_cherries-0.0.3/.github/workflows/shared-repo.yaml +30 -4
  13. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.gitignore +0 -3
  14. liblaf_cherries-0.0.3/CHANGELOG.md +64 -0
  15. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/PKG-INFO +2 -2
  16. liblaf_cherries-0.0.3/docs/SUMMARY.md +2 -0
  17. liblaf_cherries-0.0.3/docs/css/fonts.css +12 -0
  18. liblaf_cherries-0.0.3/docs/css/mkdocstrings/material.css +29 -0
  19. liblaf_cherries-0.0.3/docs/css/mkdocstrings/syntax-highlight-in-signatures.css +21 -0
  20. liblaf_cherries-0.0.3/docs/scripts/gen-ref-pages.py +52 -0
  21. liblaf_cherries-0.0.3/mkdocs.yaml +13 -0
  22. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/pyproject.toml +2 -2
  23. liblaf_cherries-0.0.3/scripts/gen-init.sh +25 -0
  24. liblaf_cherries-0.0.1/.github/.mega-linter.yaml +0 -5
  25. liblaf_cherries-0.0.1/.github/copier/.copier-answers.release.yaml +0 -5
  26. liblaf_cherries-0.0.1/.github/release-please/.manifest.json +0 -1
  27. liblaf_cherries-0.0.1/.github/release-please.yml +0 -5
  28. liblaf_cherries-0.0.1/.github/workflows/auto-pr.yaml +0 -33
  29. liblaf_cherries-0.0.1/CHANGELOG.md +0 -41
  30. liblaf_cherries-0.0.1/scripts/gen-init.sh +0 -14
  31. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.config/.restic-ignore +0 -0
  32. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.config/resticprofile.toml +0 -0
  33. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.cspell.json +0 -0
  34. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.envrc +0 -0
  35. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.github/linters/pyrightconfig.json +0 -0
  36. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.github/release-please/config.json +0 -0
  37. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.github/renovate.json +0 -0
  38. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.ruff.toml +0 -0
  39. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/.vscode/settings.json +0 -0
  40. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/Justfile +0 -0
  41. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/LICENSE +0 -0
  42. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/__builtins__.pyi +0 -0
  43. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/docs/README.md +0 -0
  44. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/exp/hello-cherries.py +0 -0
  45. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/pixi.lock +0 -0
  46. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/pyrightconfig.json +0 -0
  47. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/__init__.py +0 -0
  48. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/__init__.pyi +0 -0
  49. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/_config.py +0 -0
  50. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/_env.py +0 -0
  51. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/_experiment.py +0 -0
  52. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/_main.py +0 -0
  53. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/_start.py +0 -0
  54. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/git/__init__.py +0 -0
  55. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/git/__init__.pyi +0 -0
  56. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/git/_commit.py +0 -0
  57. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/git/_entrypoint.py +0 -0
  58. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/git/_repo.py +0 -0
  59. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/git/github/__init__.py +0 -0
  60. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/git/github/__init__.pyi +0 -0
  61. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/git/github/_link.py +0 -0
  62. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/git/github/_repo.py +0 -0
  63. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/integration/__init__.py +0 -0
  64. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/integration/__init__.pyi +0 -0
  65. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/integration/_backend.py +0 -0
  66. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/integration/_factory.py +0 -0
  67. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/integration/_neptune.py +0 -0
  68. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/plugin/__init__.py +0 -0
  69. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/plugin/__init__.pyi +0 -0
  70. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/plugin/_abc.py +0 -0
  71. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/plugin/_default.py +0 -0
  72. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/plugin/_git.py +0 -0
  73. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/plugin/_logging.py +0 -0
  74. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/plugin/_restic.py +0 -0
  75. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/utils/__init__.py +0 -0
  76. {liblaf_cherries-0.0.1 → liblaf_cherries-0.0.3}/src/liblaf/cherries/utils/__init__.pyi +0 -0
@@ -1,5 +1,8 @@
1
- # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
- _commit: 8113e1f
1
+ # This file is @generated by <https://github.com/liblaf/copier-python>.
2
+ # DO NOT EDIT!
3
+ # -*- mode: yaml; -*-
4
+ # prettier-ignore
5
+ _commit: 6ccfa8d
3
6
  _src_path: gh:liblaf/copier-python
4
7
  author: liblaf
5
8
  email: 30631553+liblaf@users.noreply.github.com
@@ -0,0 +1,6 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-release>.
2
+ # DO NOT EDIT!
3
+ # prettier-ignore
4
+ _commit: 2e7727c
5
+ _src_path: gh:liblaf/copier-release
6
+ release_type: python
@@ -1,6 +1,7 @@
1
- # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
1
+ # This file is @generated by <https://github.com/liblaf/copier-shared>.
2
+ # DO NOT EDIT!
2
3
  # prettier-ignore
3
- _commit: d4351e7
4
+ _commit: cf5b012
4
5
  _src_path: gh:liblaf/copier-share
5
6
  copyright_holder: liblaf
6
7
  license: MIT
@@ -0,0 +1,143 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-python>.
2
+ # DO NOT EDIT!
3
+ # -*- mode: yaml; -*-
4
+ # yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json
5
+
6
+ site_name: "liblaf.cherries"
7
+ site_url:
8
+ !ENV [
9
+ READTHEDOCS_CANONICAL_URL,
10
+ SITE_URL,
11
+ "https://liblaf.github.io/cherries/",
12
+ ]
13
+ site_author: "liblaf"
14
+ repo_name: "liblaf/cherries"
15
+ repo_url: "https://github.com/liblaf/cherries"
16
+ edit_uri: blob/main/docs/
17
+
18
+ extra_css:
19
+ # - https://raw.githubusercontent.com/liblaf/copier-python/refs/heads/main/css/fonts.css
20
+ # - https://raw.githubusercontent.com/liblaf/copier-python/refs/heads/main/css/mkdocstrings/material.css
21
+ # - https://raw.githubusercontent.com/liblaf/copier-python/refs/heads/main/css/mkdocstrings/syntax-highlight-in-signatures.css
22
+ # I don't know why, but external CSS does not work.
23
+ - css/fonts.css
24
+ - css/mkdocstrings/material.css
25
+ - css/mkdocstrings/syntax-highlight-in-signatures.css
26
+
27
+ theme:
28
+ name: material
29
+ features:
30
+ - announce.dismiss
31
+ - content.action.edit
32
+ - content.action.view
33
+ - content.code.annotate
34
+ - content.code.copy
35
+ - content.code.select
36
+ - content.footnote.tooltips
37
+ - content.tabs.link
38
+ - content.tooltips
39
+ # - header.autohide
40
+ # - navigation.expand
41
+ # - navigation.footer
42
+ # - navigation.indexes
43
+ - navigation.instant
44
+ - navigation.instant.prefetch
45
+ - navigation.instant.progress
46
+ - navigation.path
47
+ # - navigation.prune
48
+ - navigation.sections
49
+ - navigation.tabs
50
+ - navigation.tabs.sticky
51
+ - navigation.top
52
+ - navigation.tracking
53
+ - search.highlight
54
+ - search.share
55
+ - search.suggest
56
+ - toc.follow
57
+ # - toc.integrate
58
+ palette:
59
+ - media: (prefers-color-scheme)
60
+ toggle:
61
+ icon: material/brightness-auto
62
+ name: Auto
63
+ - scheme: default
64
+ primary: teal
65
+ accent: purple
66
+ media: "(prefers-color-scheme: light)"
67
+ toggle:
68
+ icon: material/weather-sunny
69
+ name: Light Mode
70
+ - scheme: slate
71
+ primary: black
72
+ accent: lime
73
+ media: "(prefers-color-scheme: dark)"
74
+ toggle:
75
+ icon: material/weather-night
76
+ name: Dark Mode
77
+
78
+ plugins:
79
+ # Built-in plugins
80
+ # optimize: # sponsors only
81
+ search:
82
+ social:
83
+ # typeset: # sponsors only
84
+ # External plugins, schema provided by us
85
+ gen-files:
86
+ scripts:
87
+ - docs/scripts/gen-ref-pages.py
88
+ git-committers:
89
+ enabled: !ENV [READTHEDOCS, CI, false]
90
+ repository: "liblaf/cherries"
91
+ branch: main
92
+ literate-nav:
93
+ section-index:
94
+ # External plugins, schema provided by our community
95
+ git-revision-date-localized:
96
+ enable_creation_date: true
97
+ mkdocstrings:
98
+ default_handler: python
99
+ enable_inventory: true
100
+ handlers:
101
+ python:
102
+ import:
103
+ - https://docs.python.org/3/objects.inv
104
+ options:
105
+ # General
106
+ # Headings
107
+ show_symbol_type_heading: true
108
+ show_symbol_type_toc: true
109
+ # Members
110
+ inherited_members: true
111
+ filters:
112
+ - "!^_[^_]"
113
+ - "!__all__"
114
+ summary: true
115
+ # Docstrings
116
+ docstring_style: google
117
+ docstring_options:
118
+ ignore_init_summary: true
119
+ docstring_section_style: list
120
+ merge_init_into_class: true
121
+ show_if_no_docstring: true
122
+ # Signatures
123
+ show_signature_annotations: true
124
+ separate_signature: true
125
+ signature_crossrefs: true
126
+ # External plugins, schema not provided
127
+ autorefs:
128
+
129
+ markdown_extensions:
130
+ admonition:
131
+ md_in_html:
132
+ mdx_truly_sane_lists:
133
+ pymdownx.details:
134
+ pymdownx.snippets:
135
+ pymdownx.superfences:
136
+ pymdownx.tabbed:
137
+ alternate_style: true
138
+ toc:
139
+ permalink: ¤
140
+
141
+ watch:
142
+ - docs/
143
+ - src/
@@ -1,7 +1,12 @@
1
1
  #:schema https://json.schemastore.org/ruff.json
2
+ # This file is @generated by <https://github.com/liblaf/copier-python>.
3
+ # DO NOT EDIT!
4
+
2
5
  builtins = ["ic"]
6
+ exclude = ["_version.py"]
3
7
  fix = true
4
8
  show-fixes = true
9
+ target-version = "py312"
5
10
 
6
11
  [format]
7
12
  docstring-code-format = true
@@ -0,0 +1 @@
1
+ {".":"0.0.3"}
@@ -0,0 +1,45 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-python>.
2
+ # DO NOT EDIT!
3
+
4
+ name: (Shared) Docs
5
+
6
+ on:
7
+ push:
8
+
9
+ jobs:
10
+ docs:
11
+ name: Docs
12
+ permissions:
13
+ contents: write
14
+ runs-on: ubuntu-latest
15
+ concurrency:
16
+ group: ${{ github.workflow }}-${{ github.ref }}-docs
17
+ cancel-in-progress: true
18
+ steps:
19
+ - name: Checkout
20
+ uses: actions/checkout@v4
21
+ with:
22
+ fetch-depth: 0
23
+ - if: hashFiles('pixi.lock') != ''
24
+ name: Setup Pixi
25
+ uses: prefix-dev/setup-pixi@v0
26
+ with:
27
+ run-install: true
28
+ activate-environment: true
29
+ locked: false
30
+ - if: hashFiles('uv.lock') != ''
31
+ name: Setup uv
32
+ uses: astral-sh/setup-uv@v5
33
+ - if: hashFiles('docs/scripts/prepare.sh') != ''
34
+ name: Prepare
35
+ run: docs/scripts/prepare.sh
36
+ - name: Build
37
+ run: mkdocs build
38
+ - name: Upload Artifacts
39
+ uses: actions/upload-artifact@v4
40
+ with:
41
+ name: docs
42
+ path: site/
43
+ - if: github.ref == 'refs/heads/main'
44
+ name: Deploy
45
+ run: mkdocs gh-deploy --force --no-history
@@ -1,8 +1,10 @@
1
- # yaml-language-server: $schema=https://json.schemastore.org/github-action.json
1
+ # This file is @generated by <https://github.com/liblaf/copier-shared>.
2
+ # DO NOT EDIT!
3
+
2
4
  # https://github.com/oxsecurity/megalinter/blob/main/mega-linter-runner/generators/mega-linter/templates/mega-linter.yml
3
5
  # https://megalinter.io
4
6
 
5
- name: MegaLinter
7
+ name: (Shared) MegaLinter
6
8
 
7
9
  on:
8
10
  push:
@@ -18,8 +20,20 @@ jobs:
18
20
  security-events: write # https://megalinter.io/latest/reporters/SarifReporter/
19
21
  statuses: write # https://megalinter.io/latest/reporters/GitHubStatusReporter/
20
22
  runs-on: ubuntu-latest
23
+ concurrency:
24
+ group: ${{ github.workflow }}-${{ github.ref }}-mega-linter
25
+ cancel-in-progress: true
21
26
  steps:
22
27
  - name: Checkout
23
28
  uses: actions/checkout@v4
29
+ with:
30
+ token: ${{ secrets.PAT || github.token }}
24
31
  - name: MegaLinter
25
32
  uses: liblaf/actions/mega-linter@main
33
+ - name: Remove MegaLinter Reports
34
+ run: sudo rm --force --recursive "mega-linter.log" "megalinter-reports/"
35
+ - name: Auto Commit
36
+ uses: stefanzweifel/git-auto-commit-action@v5
37
+ with:
38
+ commit_message: "chore(mega-linter): apply linters fixes"
39
+ add_options: --update
@@ -0,0 +1,51 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-shared>.
2
+ # DO NOT EDIT!
3
+
4
+ name: (Shared) PR
5
+
6
+ on:
7
+ schedule:
8
+ - cron: "0 0 * * *"
9
+ - cron: "0 0 * * 0"
10
+ workflow_dispatch:
11
+
12
+ jobs:
13
+ merge:
14
+ name: Merge
15
+ permissions:
16
+ pull-requests: write
17
+ if: >-
18
+ (
19
+ github.event_name == 'schedule' &&
20
+ github.event.schedule == '0 0 * * 0'
21
+ ) || github.event_name == 'workflow_dispatch'
22
+ runs-on: ubuntu-latest
23
+ concurrency:
24
+ group: ${{ github.workflow }}-merge
25
+ cancel-in-progress: true
26
+ steps:
27
+ - name: Merge
28
+ uses: liblaf/actions/pr-label@main
29
+ with:
30
+ add-label: automerge
31
+ label: "autorelease: pending"
32
+ token: ${{ secrets.PAT || github.token }}
33
+
34
+ review:
35
+ name: Review
36
+ permissions:
37
+ pull-requests: write
38
+ if: >-
39
+ (
40
+ github.event_name == 'schedule' &&
41
+ github.event.schedule == '0 0 * * *'
42
+ ) || github.event_name == 'workflow_dispatch'
43
+ runs-on: ubuntu-latest
44
+ concurrency:
45
+ group: ${{ github.workflow }}-review
46
+ cancel-in-progress: true
47
+ steps:
48
+ - name: Review
49
+ uses: liblaf/actions/pr-review@main
50
+ with:
51
+ token: ${{ secrets.PAT || github.token }}
@@ -0,0 +1,108 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-release>.
2
+ # DO NOT EDIT!
3
+
4
+ name: (Shared) Release Please
5
+
6
+ on:
7
+ push:
8
+ branches:
9
+ - main
10
+ workflow_dispatch:
11
+
12
+ jobs:
13
+ release-please:
14
+ name: Release Please
15
+ permissions:
16
+ contents: write
17
+ pull-requests: write
18
+ runs-on: ubuntu-latest
19
+ concurrency:
20
+ group: ${{ github.workflow }}-${{ github.ref }}-release-please
21
+ cancel-in-progress: true
22
+ outputs:
23
+ created: ${{ steps.release-please.outputs.release_created }}
24
+ pr: ${{ steps.release-please.outputs.pr }}
25
+ tag: ${{ steps.release-please.outputs.tag_name }}
26
+ steps:
27
+ - id: release-please
28
+ name: Release Please
29
+ uses: googleapis/release-please-action@v4
30
+ with:
31
+ config-file: .github/release-please/config.json
32
+ manifest-file: .github/release-please/.manifest.json
33
+ token: ${{ github.token }}
34
+
35
+ changelog-pr:
36
+ name: Changelog (PR)
37
+ permissions:
38
+ contents: write
39
+ needs:
40
+ - release-please
41
+ if: ${{ needs.release-please.outputs.pr }}
42
+ runs-on: ubuntu-latest
43
+ concurrency:
44
+ group: ${{ github.workflow }}-${{ github.ref }}-changelog-pr
45
+ cancel-in-progress: true
46
+ steps:
47
+ - name: Checkout
48
+ uses: actions/checkout@v4
49
+ with:
50
+ ref: ${{ fromJson(needs.release-please.outputs.pr).headBranchName }}
51
+ token: ${{ github.token }}
52
+ fetch-depth: 0
53
+ - id: tag
54
+ name: Parse Tag
55
+ run: |-
56
+ title="${{ fromJson(needs.release-please.outputs.pr).title }}"
57
+ version=$(echo "$title" | awk '{ print $NF }')
58
+ echo "tag=v$version" >> "$GITHUB_OUTPUT"
59
+ - name: Changelog
60
+ uses: liblaf/actions/changelog@main
61
+ with:
62
+ args: --tag "${{ steps.tag.outputs.tag }}"
63
+ output: CHANGELOG.md
64
+ - name: Commit
65
+ uses: stefanzweifel/git-auto-commit-action@v5
66
+ with:
67
+ commit_message: "chore(docs): update CHANGELOG.md"
68
+ file_pattern: CHANGELOG.md
69
+
70
+ changelog-release:
71
+ name: Changelog (Release)
72
+ permissions:
73
+ actions: write
74
+ contents: write
75
+ needs:
76
+ - release-please
77
+ if: ${{ needs.release-please.outputs.created }}
78
+ runs-on: ubuntu-latest
79
+ concurrency:
80
+ group: ${{ github.workflow }}-${{ github.ref }}-changelog-release
81
+ cancel-in-progress: true
82
+ steps:
83
+ - name: Checkout
84
+ uses: actions/checkout@v4
85
+ with:
86
+ ref: ${{ needs.release-please.outputs.tag }}
87
+ fetch-depth: 0
88
+ - id: changelog
89
+ name: Changelog
90
+ uses: liblaf/actions/changelog@main
91
+ with:
92
+ args: --current --strip all
93
+ - name: Update Release
94
+ run: gh release edit "${{ needs.release-please.outputs.tag }}" --notes-file "${{ steps.changelog.outputs.changelog }}"
95
+ env:
96
+ GH_TOKEN: ${{ github.token }}
97
+ - name: Trigger Release Workflow
98
+ run: |-
99
+ WORKFLOW_FILES=(.github/workflows/{,shared-}release{.yaml,.yml})
100
+ for workflow_file in "${WORKFLOW_FILES[@]}"; do
101
+ if [[ -f $workflow_file ]]; then
102
+ workflow_name=$(basename -- "$workflow_file")
103
+ echo "::notice::Triggering workflow: $workflow_name"
104
+ gh workflow run "$workflow_name" --ref "${{ needs.release-please.outputs.tag }}"
105
+ fi
106
+ done
107
+ env:
108
+ GH_TOKEN: ${{ github.token }}
@@ -1,10 +1,14 @@
1
- name: Release
1
+ # This file is @generated by <https://github.com/liblaf/copier-python>.
2
+ # DO NOT EDIT!
3
+
4
+ name: (Shared) Release
2
5
 
3
6
  on:
4
7
  push:
5
8
  release:
6
9
  types:
7
10
  - published
11
+ workflow_dispatch:
8
12
 
9
13
  jobs:
10
14
  build:
@@ -25,8 +29,11 @@ jobs:
25
29
  id-token: write
26
30
  needs:
27
31
  - build
28
- if: github.event_name == 'release'
32
+ if: github.event_name == 'release' || startsWith(github.ref, 'refs/tags/v')
29
33
  runs-on: ubuntu-latest
34
+ concurrency:
35
+ group: ${{ github.workflow }}-${{ github.ref }}-publish
36
+ cancel-in-progress: true
30
37
  steps:
31
38
  - name: Download Artifacts
32
39
  uses: actions/download-artifact@v4
@@ -44,7 +51,14 @@ jobs:
44
51
  - build
45
52
  if: github.ref == 'refs/heads/main'
46
53
  runs-on: ubuntu-latest
54
+ concurrency:
55
+ group: ${{ github.workflow }}-${{ github.ref }}-pre-release
56
+ cancel-in-progress: true
47
57
  steps:
58
+ - name: Checkout
59
+ uses: actions/checkout@v4
60
+ with:
61
+ fetch-depth: 0
48
62
  - name: Download Artifacts
49
63
  uses: actions/download-artifact@v4
50
64
  with:
@@ -64,9 +78,16 @@ jobs:
64
78
  contents: write
65
79
  needs:
66
80
  - build
67
- if: github.event_name == 'release'
81
+ if: github.event_name == 'release' || startsWith(github.ref, 'refs/tags/v')
68
82
  runs-on: ubuntu-latest
83
+ concurrency:
84
+ group: ${{ github.workflow }}-${{ github.ref }}-release
85
+ cancel-in-progress: true
69
86
  steps:
87
+ - name: Checkout
88
+ uses: actions/checkout@v4
89
+ with:
90
+ fetch-depth: 0
70
91
  - name: Download Artifacts
71
92
  uses: actions/download-artifact@v4
72
93
  with:
@@ -76,4 +97,4 @@ jobs:
76
97
  uses: liblaf/actions/release@main
77
98
  with:
78
99
  files: dist/*
79
- tag: ${{ github.event.release.tag_name }}
100
+ tag: ${{ github.event.release.tag_name || github.ref_name }}
@@ -1,4 +1,7 @@
1
- name: (Auto) Repo
1
+ # This file is @generated by <https://github.com/liblaf/copier-shared>.
2
+ # DO NOT EDIT!
3
+
4
+ name: (Shared) Repo
2
5
 
3
6
  on:
4
7
  push:
@@ -17,6 +20,9 @@ jobs:
17
20
  actions: write
18
21
  contents: write
19
22
  runs-on: ubuntu-latest
23
+ concurrency:
24
+ group: ${{ github.workflow }}-copier-update
25
+ cancel-in-progress: true
20
26
  steps:
21
27
  - name: Checkout
22
28
  uses: actions/checkout@v4
@@ -28,15 +34,15 @@ jobs:
28
34
  uses: stefanzweifel/git-auto-commit-action@v5
29
35
  with:
30
36
  commit_message: "chore(copier): update from template"
31
- commit_user_name: ${{ github.actor }}
32
- commit_user_email: ${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com
33
- commit_author: ${{ github.actor }} <${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com>
34
37
 
35
38
  label-sync:
36
39
  name: Label Sync
37
40
  permissions:
38
41
  issues: write
39
42
  runs-on: ubuntu-latest
43
+ concurrency:
44
+ group: ${{ github.workflow }}-label-sync
45
+ cancel-in-progress: true
40
46
  steps:
41
47
  - name: Label Sync
42
48
  uses: EndBug/label-sync@v2
@@ -48,6 +54,9 @@ jobs:
48
54
  repo-edit:
49
55
  name: Repo Edit
50
56
  runs-on: ubuntu-latest
57
+ concurrency:
58
+ group: ${{ github.workflow }}-repo-edit
59
+ cancel-in-progress: true
51
60
  steps:
52
61
  - name: Repo Edit
53
62
  run: |-
@@ -65,9 +74,26 @@ jobs:
65
74
  env:
66
75
  GH_TOKEN: ${{ secrets.PAT || github.token }}
67
76
 
77
+ ruleset-import:
78
+ name: Ruleset Import
79
+ runs-on: ubuntu-latest
80
+ concurrency:
81
+ group: ${{ github.workflow }}-ruleset-import
82
+ cancel-in-progress: true
83
+ steps:
84
+ - name: Ruleset Import
85
+ uses: liblaf/actions/ruleset-import@main
86
+ with:
87
+ token: ${{ secrets.PAT || github.token }}
88
+ source-repo: liblaf/.github
89
+ source-ruleset-id: 3407904
90
+
68
91
  set-default-workflow-permissions:
69
92
  name: Set Default Workflow Permissions
70
93
  runs-on: ubuntu-latest
94
+ concurrency:
95
+ group: ${{ github.workflow }}-set-default-workflow-permissions
96
+ cancel-in-progress: true
71
97
  steps:
72
98
  - name: Set Default Workflow Permissions
73
99
  run: |-
@@ -174,6 +174,3 @@ poetry.toml
174
174
  # pyrightconfig.json
175
175
 
176
176
  # End of https://www.toptal.com/developers/gitignore/api/python
177
-
178
- .neptune
179
- *.log.jsonl
@@ -0,0 +1,64 @@
1
+ # Changelog
2
+
3
+ ## [0.0.3](https://github.com/liblaf/cherries/compare/v0.0.2..v0.0.3) - 2025-02-16
4
+
5
+ ### ⬆️ Dependencies
6
+
7
+ - **deps:** update dependency liblaf-grapes to >=0.0.5,<0.0.6 (#10) - ([ae48be8](https://github.com/liblaf/cherries/commit/ae48be80c7a17575dad2f1e2e876ad7abcd5480e))
8
+ - **deps:** update dependency liblaf-grapes to >=0.0.4,<0.0.5 (#8) - ([4dc1845](https://github.com/liblaf/cherries/commit/4dc18458b69222408d9889abd4609a957deddfdd))
9
+
10
+ ### ❤️ New Contributors
11
+
12
+ - @liblaf made their first contribution
13
+ - @renovate[bot] made their first contribution in [#10](https://github.com/liblaf/cherries/pull/10)
14
+
15
+ ## [0.0.2](https://github.com/liblaf/cherries/compare/v0.0.1..v0.0.2) - 2025-02-04
16
+
17
+ ### ⬆️ Dependencies
18
+
19
+ - **deps:** update dependency liblaf-grapes to >=0.0.3,<0.0.4 (#7) - ([654faa9](https://github.com/liblaf/cherries/commit/654faa9033f3a911b39f7e5c64439cbab7c80591))
20
+ - **deps:** update dependency liblaf-grapes to >=0.0.1,<0.0.2 (#4) - ([2c3f56e](https://github.com/liblaf/cherries/commit/2c3f56eac1858effe88d0a09671df3ab39dc367c))
21
+
22
+ ### ❤️ New Contributors
23
+
24
+ - @github-actions[bot] made their first contribution in [#6](https://github.com/liblaf/cherries/pull/6)
25
+ - @renovate[bot] made their first contribution in [#7](https://github.com/liblaf/cherries/pull/7)
26
+
27
+ ## [0.0.1](https://github.com/liblaf/cherries/compare/v0.0.0..v0.0.1) - 2025-01-19
28
+
29
+ ### ✨ Features
30
+
31
+ - **cherries:** enhance experiment tracking and logging capabilities - ([093e56e](https://github.com/liblaf/cherries/commit/093e56ec73b1d1c86a46bfe9893a09f0f51f4f39))
32
+ - **cherries:** refactor experiment tracking and add new features - ([8594ac1](https://github.com/liblaf/cherries/commit/8594ac1ff3f782d4aba7072c9f92ad3091ea64b7))
33
+ - **integration:** enhance logging support for unsupported types - ([019b5b7](https://github.com/liblaf/cherries/commit/019b5b7130f9a2612c3f58c4e89c3e4b954f724a))
34
+ - **logging:** enhance file logging with custom filter for cherries module - ([d03a6a1](https://github.com/liblaf/cherries/commit/d03a6a1b3bab3eeca929520dee33e6542a46766e))
35
+ - log experiment entrypoint for better traceability - ([06c3f84](https://github.com/liblaf/cherries/commit/06c3f84bf4e675229ae73be2ad5978b2d9a282c1))
36
+
37
+ ### ♻ Code Refactoring
38
+
39
+ - sort plugins by priority and reverse iteration order - ([33d98e4](https://github.com/liblaf/cherries/commit/33d98e4f613adad1f756950e6cf26e0b0bf6787d))
40
+ - remove unused integration base class and update gitignore - ([4015f84](https://github.com/liblaf/cherries/commit/4015f846b0d7436280cc018cf60f46a46d5e3ec5))
41
+
42
+ ### ❤️ New Contributors
43
+
44
+ - @liblaf-bot[bot] made their first contribution
45
+
46
+ ## [0.0.0] - 2025-01-16
47
+
48
+ ### ✨ Features
49
+
50
+ - add logging and restic plugins, extend run capabilities - ([f28d30f](https://github.com/liblaf/cherries/commit/f28d30f990a9cbc876c16e98f8fdf5a2e7f54746))
51
+
52
+ ### ♻ Code Refactoring
53
+
54
+ - simplify Run class by removing abstract base class - ([d267065](https://github.com/liblaf/cherries/commit/d26706537fc81d4abd4be87d29511259774053ad))
55
+
56
+ ### 👷 Build System
57
+
58
+ - restructure project and enhance git integration - ([bbc24c0](https://github.com/liblaf/cherries/commit/bbc24c019640371f110aaae98d3bf178c8f353f0))
59
+ - initialize project structure and configuration - ([91d27cf](https://github.com/liblaf/cherries/commit/91d27cf861b724b1cbaf923eceac7e0177edcadb))
60
+
61
+ ### ❤️ New Contributors
62
+
63
+ - @release-please[bot] made their first contribution in [#1](https://github.com/liblaf/cherries/pull/1)
64
+ - @liblaf made their first contribution
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: liblaf-cherries
3
- Version: 0.0.1
3
+ Version: 0.0.3
4
4
  Summary: Add your description here
5
5
  Project-URL: Changelog, https://github.com/liblaf/cherries/blob/main/CHANGELOG.md
6
6
  Project-URL: Homepage, https://github.com/liblaf/cherries
@@ -14,7 +14,7 @@ Requires-Python: >=3.12
14
14
  Requires-Dist: comet-ml<4,>=3.47.6
15
15
  Requires-Dist: gitpython<4,>=3.1.44
16
16
  Requires-Dist: lazy-loader<0.5,>=0.4
17
- Requires-Dist: liblaf-grapes<0.0.1,>=0.0.0
17
+ Requires-Dist: liblaf-grapes<0.1.1,>=0.1.0
18
18
  Requires-Dist: loguru<0.8,>=0.7.3
19
19
  Requires-Dist: neptune<2,>=1.13.0
20
20
  Requires-Dist: pydantic-settings<3,>=2.7.1
@@ -0,0 +1,2 @@
1
+ - [HOME](README.md)
2
+ - [API Reference](api/)
@@ -0,0 +1,12 @@
1
+ /* This file is @generated by <https://github.com/liblaf/copier-python>.
2
+ DO NOT EDIT! */
3
+
4
+ /* https://squidfunk.github.io/mkdocs-material/setup/changing-the-fonts/ */
5
+ :root {
6
+ --md-text-font: "Roboto", "Verdana", "Arial", "Helvetica", sans-serif,
7
+ ui-sans-serif, system-ui, "Segoe UI Emoji", "Noto Color Emoji", emoji;
8
+ --md-code-font: "MonaspiceNe Nerd Font", "CaskaydiaCove Nerd Font",
9
+ "FiraCode Nerd Font", "Monaspace Neon", "Cascadia Code", "FiraCode",
10
+ "JetBrains Mono", ui-monospace, monospace, "Segoe UI Emoji",
11
+ "Noto Color Emoji", emoji;
12
+ }
@@ -0,0 +1,29 @@
1
+ /* This file is @generated by <https://github.com/liblaf/copier-python>.
2
+ DO NOT EDIT! */
3
+
4
+ /* https://mkdocstrings.github.io/python/usage/customization/#material */
5
+
6
+ /* Indentation. */
7
+ div.doc-contents:not(.first) {
8
+ padding-left: 25px;
9
+ border-left: 0.05rem solid var(--md-typeset-table-color);
10
+ }
11
+
12
+ /* Mark external links as such. */
13
+ a.external::after,
14
+ a.autorefs-external::after {
15
+ /* https://primer.style/octicons/arrow-up-right-24 */
16
+ mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.25 15.5a.75.75 0 00.75-.75v-9a.75.75 0 00-.75-.75h-9a.75.75 0 000 1.5h7.19L6.22 16.72a.75.75 0 101.06 1.06L17.5 7.56v7.19c0 .414.336.75.75.75z"></path></svg>');
17
+ content: " ";
18
+ display: inline-block;
19
+ vertical-align: middle;
20
+ position: relative;
21
+ height: 1em;
22
+ width: 1em;
23
+ background-color: currentcolor;
24
+ }
25
+
26
+ a.external:hover::after,
27
+ a.autorefs-external:hover::after {
28
+ background-color: var(--md-accent-fg-color);
29
+ }
@@ -0,0 +1,21 @@
1
+ /* This file is @generated by <https://github.com/liblaf/copier-python>.
2
+ DO NOT EDIT! */
3
+
4
+ /* https://mkdocstrings.github.io/python/usage/customization/#syntax-highlight-in-signatures */
5
+
6
+ /* Fancier color for operators such as * and |. */
7
+ .doc-signature .o {
8
+ color: var(--md-code-hl-special-color);
9
+ }
10
+
11
+ /* Fancier color for constants such as None, True, and False. */
12
+ .doc-signature .kc {
13
+ color: var(--md-code-hl-constant-color);
14
+ }
15
+
16
+ /* Fancier color for built-in types (only useful when cross-references are used). */
17
+ .doc-signature .n > a[href^="https://docs.python.org/"][href*="/functions.html#"],
18
+ .doc-signature .n > a[href^="https://docs.python.org/"][href*="/stdtypes.html#"]
19
+ {
20
+ color: var(--md-code-hl-constant-color);
21
+ }
@@ -0,0 +1,52 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-python>.
2
+ # DO NOT EDIT!
3
+ """Generate the code reference pages and navigation."""
4
+
5
+ import itertools
6
+ from pathlib import Path
7
+
8
+ import git
9
+ from mkdocs_gen_files.editor import FilesEditor
10
+ from mkdocs_gen_files.nav import Nav
11
+
12
+
13
+ def git_root() -> Path:
14
+ repo = git.Repo(search_parent_directories=True)
15
+ return Path(repo.working_dir)
16
+
17
+
18
+ def is_private(parts: tuple[str, ...]) -> bool:
19
+ return any(part.startswith("_") for part in parts)
20
+
21
+
22
+ def main() -> None:
23
+ # [Recipes - mkdocstrings](https://mkdocstrings.github.io/recipes/)
24
+ root: Path = git_root()
25
+ editor: FilesEditor = FilesEditor.current()
26
+ nav = Nav()
27
+ src_dir: Path = root / "src"
28
+ for path in sorted(src_dir.rglob("*.py")):
29
+ relative_path: Path = path.relative_to(src_dir)
30
+ doc_path: Path = relative_path.with_suffix(".md")
31
+ parts: tuple[str, ...] = relative_path.with_suffix("").parts
32
+ if parts[-1] == "__init__":
33
+ parts = parts[:-1]
34
+ doc_path = doc_path.with_name("README.md")
35
+ if is_private(parts):
36
+ continue
37
+ nav_parts: tuple[str, ...] = tuple(
38
+ itertools.accumulate(parts, lambda x, y: x + "." + y)
39
+ )
40
+ nav[nav_parts] = doc_path.as_posix()
41
+ full_doc_path = Path("api", doc_path)
42
+ with editor.open(full_doc_path.as_posix(), "w") as fd:
43
+ identifier: str = nav_parts[-1]
44
+ fd.write(f"""::: {identifier}""")
45
+ editor.set_edit_path(
46
+ full_doc_path.as_posix(), (".." / path.relative_to(root)).as_posix()
47
+ )
48
+ with editor.open("api/SUMMARY.md", "w") as nav_file:
49
+ nav_file.writelines(nav.build_literate_nav())
50
+
51
+
52
+ main()
@@ -0,0 +1,13 @@
1
+ # vim: syntax=yaml
2
+ # yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json
3
+
4
+ INHERIT: .github/copier/mkdocs.yaml
5
+ site_name: "liblaf.cherries"
6
+ site_description: TODO
7
+
8
+ plugins:
9
+ mkdocstrings:
10
+ handlers:
11
+ python:
12
+ import:
13
+ - https://docs.python.org/3/objects.inv
@@ -16,7 +16,7 @@ dependencies = [
16
16
  "comet-ml>=3.47.6,<4",
17
17
  "gitpython>=3.1.44,<4",
18
18
  "lazy-loader>=0.4,<0.5",
19
- "liblaf-grapes>=0.0.0,<0.0.1",
19
+ "liblaf-grapes>=0.1.0,<0.1.1",
20
20
  "loguru>=0.7.3,<0.8",
21
21
  "neptune>=1.13.0,<2",
22
22
  "pydantic-settings>=2.7.1,<3",
@@ -28,7 +28,7 @@ license = "MIT"
28
28
  name = "liblaf-cherries"
29
29
  readme = "docs/README.md"
30
30
  requires-python = ">=3.12"
31
- version = "0.0.1"
31
+ version = "0.0.3"
32
32
 
33
33
  [project.urls]
34
34
  "Changelog" = "https://github.com/liblaf/cherries/blob/main/CHANGELOG.md"
@@ -0,0 +1,25 @@
1
+ #!/bin/bash
2
+ # This file is @generated by <https://github.com/liblaf/copier-python>.
3
+ # DO NOT EDIT!
4
+ set -o errexit
5
+ set -o nounset
6
+ set -o pipefail
7
+
8
+ CODE="import lazy_loader as lazy
9
+
10
+ __getattr__, __dir__, __all__ = lazy.attach_stub(__name__, __file__)"
11
+ N_LINES=$(echo "$CODE" | wc --lines)
12
+
13
+ git_root=$(git rev-parse --show-toplevel)
14
+ readarray -t files < <(fd --fixed-strings --type file '__init__.pyi' "$git_root")
15
+ for file in "${files[@]}"; do
16
+ file="${file/%".pyi"/".py"}"
17
+ if [[ ! -f $file ]]; then
18
+ echo "$CODE" > "$file"
19
+ continue
20
+ fi
21
+ last_lines=$(tail --lines="$N_LINES" "$file")
22
+ if ! diff <(echo "$last_lines") <(echo "$CODE") &> /dev/null; then
23
+ echo "$CODE" >> "$file"
24
+ fi
25
+ done
@@ -1,5 +0,0 @@
1
- # yaml-language-server: $schema=https://raw.githubusercontent.com/megalinter/megalinter/main/megalinter/descriptors/schemas/megalinter-configuration.jsonschema.json
2
- # https://megalinter.io/latest/config-file/
3
-
4
- EXTENDS:
5
- - https://github.com/liblaf/.github/raw/refs/heads/main/.mega-linter.yaml
@@ -1,5 +0,0 @@
1
- # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
- # prettier-ignore
3
- _commit: 6eb13bc
4
- _src_path: gh:liblaf/copier-release
5
- release_type: python
@@ -1 +0,0 @@
1
- {".":"0.0.1"}
@@ -1,5 +0,0 @@
1
- # yaml-language-server: $schema=https://raw.githubusercontent.com/googleapis/repo-automation-bots/refs/heads/main/packages/release-please/src/config-schema.json
2
- handleGHRelease: true
3
- manifest: true
4
- manifestConfig: .github/release-please/config.json
5
- manifestFile: .github/release-please/.manifest.json
@@ -1,33 +0,0 @@
1
- name: (Auto) PR
2
-
3
- on:
4
- pull_request:
5
- schedule:
6
- - cron: "0 0 * * 0"
7
- workflow_dispatch:
8
-
9
- jobs:
10
- merge:
11
- name: Merge
12
- permissions:
13
- pull-requests: write
14
- runs-on: ubuntu-latest
15
- steps:
16
- - if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
17
- name: Merge
18
- uses: liblaf/actions/auto-merge@main
19
- with:
20
- add-label: automerge
21
- label: "autorelease: pending"
22
- token: ${{ secrets.PAT || github.token }}
23
-
24
- review:
25
- name: Review
26
- permissions:
27
- pull-requests: write
28
- runs-on: ubuntu-latest
29
- steps:
30
- - name: Review
31
- uses: liblaf/actions/auto-review@main
32
- with:
33
- token: ${{ secrets.PAT || github.token }}
@@ -1,41 +0,0 @@
1
- # Changelog
2
-
3
- ## [0.0.1](https://github.com/liblaf/cherries/compare/v0.0.0...v0.0.1) (2025-01-19)
4
-
5
-
6
- ### ✨ Features
7
-
8
- * **cherries:** enhance experiment tracking and logging capabilities ([093e56e](https://github.com/liblaf/cherries/commit/093e56ec73b1d1c86a46bfe9893a09f0f51f4f39))
9
- * **cherries:** refactor experiment tracking and add new features ([8594ac1](https://github.com/liblaf/cherries/commit/8594ac1ff3f782d4aba7072c9f92ad3091ea64b7))
10
- * **integration:** enhance logging support for unsupported types ([019b5b7](https://github.com/liblaf/cherries/commit/019b5b7130f9a2612c3f58c4e89c3e4b954f724a))
11
- * log experiment entrypoint for better traceability ([06c3f84](https://github.com/liblaf/cherries/commit/06c3f84bf4e675229ae73be2ad5978b2d9a282c1))
12
- * **logging:** enhance file logging with custom filter for cherries module ([d03a6a1](https://github.com/liblaf/cherries/commit/d03a6a1b3bab3eeca929520dee33e6542a46766e))
13
-
14
-
15
- ### ♻ Code Refactoring
16
-
17
- * remove unused integration base class and update gitignore ([4015f84](https://github.com/liblaf/cherries/commit/4015f846b0d7436280cc018cf60f46a46d5e3ec5))
18
- * sort plugins by priority and reverse iteration order ([33d98e4](https://github.com/liblaf/cherries/commit/33d98e4f613adad1f756950e6cf26e0b0bf6787d))
19
-
20
- ## 0.0.0 (2025-01-16)
21
-
22
-
23
- ### ✨ Features
24
-
25
- * add logging and restic plugins, extend run capabilities ([f28d30f](https://github.com/liblaf/cherries/commit/f28d30f990a9cbc876c16e98f8fdf5a2e7f54746))
26
-
27
-
28
- ### 🎫 Chores
29
-
30
- * **release:** trigger release-please ([c9a55bf](https://github.com/liblaf/cherries/commit/c9a55bf870bce514a76288827d817d0f3777f65a))
31
-
32
-
33
- ### ♻ Code Refactoring
34
-
35
- * simplify Run class by removing abstract base class ([d267065](https://github.com/liblaf/cherries/commit/d26706537fc81d4abd4be87d29511259774053ad))
36
-
37
-
38
- ### 👷 Build System
39
-
40
- * initialize project structure and configuration ([91d27cf](https://github.com/liblaf/cherries/commit/91d27cf861b724b1cbaf923eceac7e0177edcadb))
41
- * restructure project and enhance git integration ([bbc24c0](https://github.com/liblaf/cherries/commit/bbc24c019640371f110aaae98d3bf178c8f353f0))
@@ -1,14 +0,0 @@
1
- #!/bin/bash
2
- set -o errexit
3
- set -o nounset
4
- set -o pipefail
5
-
6
- git_root=$(git rev-parse --show-toplevel)
7
- readarray -t files < <(fd --fixed-strings --type file '__init__.pyi' "$git_root")
8
- for file in "${files[@]}"; do
9
- cat > "$(dirname "$file")/__init__.py" <<- EOF
10
- import lazy_loader as lazy
11
-
12
- __getattr__, __dir__, __all__ = lazy.attach_stub(__name__, __file__)
13
- EOF
14
- done
File without changes
File without changes