rdetoolkit 1.1.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 (213) hide show
  1. rdetoolkit-1.1.0/.cargo/config.toml +8 -0
  2. rdetoolkit-1.1.0/.github/CODEOWNERS +1 -0
  3. rdetoolkit-1.1.0/.github/PULL_REQUEST_TEMPLATE.md +14 -0
  4. rdetoolkit-1.1.0/.github/release.yml +14 -0
  5. rdetoolkit-1.1.0/.github/workflows/cache.yml +28 -0
  6. rdetoolkit-1.1.0/.github/workflows/core_module.yml +41 -0
  7. rdetoolkit-1.1.0/.github/workflows/coverage_badge.yml +35 -0
  8. rdetoolkit-1.1.0/.github/workflows/coverage_pr_reports.yml +81 -0
  9. rdetoolkit-1.1.0/.github/workflows/docs-ci-dry-run.yml +63 -0
  10. rdetoolkit-1.1.0/.github/workflows/docs-ci.yml +63 -0
  11. rdetoolkit-1.1.0/.github/workflows/main.yml +111 -0
  12. rdetoolkit-1.1.0/.github/workflows/pr-agent.yaml +27 -0
  13. rdetoolkit-1.1.0/.github/workflows/pypi-release.yml +332 -0
  14. rdetoolkit-1.1.0/.gitignore +192 -0
  15. rdetoolkit-1.1.0/.pre-commit-config.yaml +49 -0
  16. rdetoolkit-1.1.0/.prettierrc +3 -0
  17. rdetoolkit-1.1.0/.yamllint +30 -0
  18. rdetoolkit-1.1.0/CONTRIBUTING.md +215 -0
  19. rdetoolkit-1.1.0/CONTRIBUTORS.md +14 -0
  20. rdetoolkit-1.1.0/Cargo.lock +647 -0
  21. rdetoolkit-1.1.0/Cargo.toml +33 -0
  22. rdetoolkit-1.1.0/Cargo.toml.publish +26 -0
  23. rdetoolkit-1.1.0/LICENSE +19 -0
  24. rdetoolkit-1.1.0/PKG-INFO +191 -0
  25. rdetoolkit-1.1.0/README.md +143 -0
  26. rdetoolkit-1.1.0/docs/contribute/documents_contributing.md +73 -0
  27. rdetoolkit-1.1.0/docs/contribute/home.md +57 -0
  28. rdetoolkit-1.1.0/docs/contribute/sourcecode_contributing.md +134 -0
  29. rdetoolkit-1.1.0/docs/img/2585322.png +0 -0
  30. rdetoolkit-1.1.0/docs/img/coverage.svg +21 -0
  31. rdetoolkit-1.1.0/docs/img/error.svg +1 -0
  32. rdetoolkit-1.1.0/docs/img/excelinvoice.svg +7 -0
  33. rdetoolkit-1.1.0/docs/img/excelinvoice_demo.svg +7 -0
  34. rdetoolkit-1.1.0/docs/img/filemode_excelinvoice.png +0 -0
  35. rdetoolkit-1.1.0/docs/img/foldermode_excelinvoice.png +0 -0
  36. rdetoolkit-1.1.0/docs/img/invoice_mode.svg +10 -0
  37. rdetoolkit-1.1.0/docs/img/magic_filename.svg +31 -0
  38. rdetoolkit-1.1.0/docs/img/multifile_mode.svg +38 -0
  39. rdetoolkit-1.1.0/docs/img/overview_workflow.svg +1 -0
  40. rdetoolkit-1.1.0/docs/img/quick-sample-code-none.svg +1 -0
  41. rdetoolkit-1.1.0/docs/img/quick-sample-code.svg +1 -0
  42. rdetoolkit-1.1.0/docs/img/rdeformat.svg +107 -0
  43. rdetoolkit-1.1.0/docs/index.md +60 -0
  44. rdetoolkit-1.1.0/docs/install.md +55 -0
  45. rdetoolkit-1.1.0/docs/rdetoolkit/cmd/command.md +64 -0
  46. rdetoolkit-1.1.0/docs/rdetoolkit/cmd/gen_excelinvoice.md +8 -0
  47. rdetoolkit-1.1.0/docs/rdetoolkit/config.md +29 -0
  48. rdetoolkit-1.1.0/docs/rdetoolkit/core.md +13 -0
  49. rdetoolkit-1.1.0/docs/rdetoolkit/errors.md +25 -0
  50. rdetoolkit-1.1.0/docs/rdetoolkit/exceptions.md +29 -0
  51. rdetoolkit-1.1.0/docs/rdetoolkit/fileops.md +9 -0
  52. rdetoolkit-1.1.0/docs/rdetoolkit/img2thumb.md +11 -0
  53. rdetoolkit-1.1.0/docs/rdetoolkit/impl/compressed_controller.md +29 -0
  54. rdetoolkit-1.1.0/docs/rdetoolkit/impl/input_controller.md +55 -0
  55. rdetoolkit-1.1.0/docs/rdetoolkit/index.md +37 -0
  56. rdetoolkit-1.1.0/docs/rdetoolkit/interface/filechecker.md +31 -0
  57. rdetoolkit-1.1.0/docs/rdetoolkit/invoicefile.md +72 -0
  58. rdetoolkit-1.1.0/docs/rdetoolkit/models/config.md +13 -0
  59. rdetoolkit-1.1.0/docs/rdetoolkit/models/invoice.md +63 -0
  60. rdetoolkit-1.1.0/docs/rdetoolkit/models/invoice_schema.md +99 -0
  61. rdetoolkit-1.1.0/docs/rdetoolkit/models/metadata.md +19 -0
  62. rdetoolkit-1.1.0/docs/rdetoolkit/models/rde2types.md +31 -0
  63. rdetoolkit-1.1.0/docs/rdetoolkit/models/result.md +18 -0
  64. rdetoolkit-1.1.0/docs/rdetoolkit/modeproc.md +31 -0
  65. rdetoolkit-1.1.0/docs/rdetoolkit/rde2util.md +59 -0
  66. rdetoolkit-1.1.0/docs/rdetoolkit/rdelogger.md +27 -0
  67. rdetoolkit-1.1.0/docs/rdetoolkit/validation.md +25 -0
  68. rdetoolkit-1.1.0/docs/rdetoolkit/workflows.md +15 -0
  69. rdetoolkit-1.1.0/docs/usage/cli.md +91 -0
  70. rdetoolkit-1.1.0/docs/usage/config/config.md +222 -0
  71. rdetoolkit-1.1.0/docs/usage/config/file_folder_mode.md +59 -0
  72. rdetoolkit-1.1.0/docs/usage/config/magic_variable.md +44 -0
  73. rdetoolkit-1.1.0/docs/usage/config/mode.md +560 -0
  74. rdetoolkit-1.1.0/docs/usage/docker.md +128 -0
  75. rdetoolkit-1.1.0/docs/usage/metadata_definition_file.md +851 -0
  76. rdetoolkit-1.1.0/docs/usage/quickstart.md +171 -0
  77. rdetoolkit-1.1.0/docs/usage/structured_process/directory.md +170 -0
  78. rdetoolkit-1.1.0/docs/usage/structured_process/errorhandling.md +114 -0
  79. rdetoolkit-1.1.0/docs/usage/structured_process/feature_description.md +72 -0
  80. rdetoolkit-1.1.0/docs/usage/structured_process/rdepath.md +66 -0
  81. rdetoolkit-1.1.0/docs/usage/structured_process/structured.md +221 -0
  82. rdetoolkit-1.1.0/docs/usage/validation.md +366 -0
  83. rdetoolkit-1.1.0/mkdocs.yml +145 -0
  84. rdetoolkit-1.1.0/pip.conf +5 -0
  85. rdetoolkit-1.1.0/pyproject.toml +215 -0
  86. rdetoolkit-1.1.0/pytest.xml +1 -0
  87. rdetoolkit-1.1.0/rdetoolkit-core/build.rs +97 -0
  88. rdetoolkit-1.1.0/rdetoolkit-core/charset_detector.rs +186 -0
  89. rdetoolkit-1.1.0/rdetoolkit-core/fsops.rs +627 -0
  90. rdetoolkit-1.1.0/rdetoolkit-core/imageutil/processing.rs +475 -0
  91. rdetoolkit-1.1.0/rdetoolkit-core/imageutil.rs +1 -0
  92. rdetoolkit-1.1.0/rdetoolkit-core/lib.rs +25 -0
  93. rdetoolkit-1.1.0/requirements-dev.lock +123 -0
  94. rdetoolkit-1.1.0/requirements.lock +51 -0
  95. rdetoolkit-1.1.0/src/rdetoolkit/__init__.py +8 -0
  96. rdetoolkit-1.1.0/src/rdetoolkit/__init__.pyi +7 -0
  97. rdetoolkit-1.1.0/src/rdetoolkit/__main__.py +4 -0
  98. rdetoolkit-1.1.0/src/rdetoolkit/__main__.pyi +0 -0
  99. rdetoolkit-1.1.0/src/rdetoolkit/cli.py +52 -0
  100. rdetoolkit-1.1.0/src/rdetoolkit/cli.pyi +9 -0
  101. rdetoolkit-1.1.0/src/rdetoolkit/cmd/__init__.py +0 -0
  102. rdetoolkit-1.1.0/src/rdetoolkit/cmd/__init__.pyi +0 -0
  103. rdetoolkit-1.1.0/src/rdetoolkit/cmd/command.py +302 -0
  104. rdetoolkit-1.1.0/src/rdetoolkit/cmd/command.pyi +50 -0
  105. rdetoolkit-1.1.0/src/rdetoolkit/cmd/default.py +29 -0
  106. rdetoolkit-1.1.0/src/rdetoolkit/cmd/default.pyi +6 -0
  107. rdetoolkit-1.1.0/src/rdetoolkit/cmd/gen_excelinvoice.py +49 -0
  108. rdetoolkit-1.1.0/src/rdetoolkit/cmd/gen_excelinvoice.pyi +15 -0
  109. rdetoolkit-1.1.0/src/rdetoolkit/cmd.pyi +0 -0
  110. rdetoolkit-1.1.0/src/rdetoolkit/config.py +198 -0
  111. rdetoolkit-1.1.0/src/rdetoolkit/config.pyi +17 -0
  112. rdetoolkit-1.1.0/src/rdetoolkit/core.pyi +92 -0
  113. rdetoolkit-1.1.0/src/rdetoolkit/errors.py +222 -0
  114. rdetoolkit-1.1.0/src/rdetoolkit/errors.pyi +13 -0
  115. rdetoolkit-1.1.0/src/rdetoolkit/exceptions.py +162 -0
  116. rdetoolkit-1.1.0/src/rdetoolkit/exceptions.pyi +57 -0
  117. rdetoolkit-1.1.0/src/rdetoolkit/fileops.py +51 -0
  118. rdetoolkit-1.1.0/src/rdetoolkit/fileops.pyi +8 -0
  119. rdetoolkit-1.1.0/src/rdetoolkit/img2thumb.py +106 -0
  120. rdetoolkit-1.1.0/src/rdetoolkit/img2thumb.pyi +4 -0
  121. rdetoolkit-1.1.0/src/rdetoolkit/impl/__init__.py +0 -0
  122. rdetoolkit-1.1.0/src/rdetoolkit/impl/__init__.pyi +0 -0
  123. rdetoolkit-1.1.0/src/rdetoolkit/impl/compressed_controller.py +263 -0
  124. rdetoolkit-1.1.0/src/rdetoolkit/impl/compressed_controller.pyi +19 -0
  125. rdetoolkit-1.1.0/src/rdetoolkit/impl/input_controller.py +259 -0
  126. rdetoolkit-1.1.0/src/rdetoolkit/impl/input_controller.pyi +26 -0
  127. rdetoolkit-1.1.0/src/rdetoolkit/impl.pyi +0 -0
  128. rdetoolkit-1.1.0/src/rdetoolkit/interfaces/__init__.py +0 -0
  129. rdetoolkit-1.1.0/src/rdetoolkit/interfaces/__init__.pyi +0 -0
  130. rdetoolkit-1.1.0/src/rdetoolkit/interfaces/filechecker.py +89 -0
  131. rdetoolkit-1.1.0/src/rdetoolkit/interfaces/filechecker.pyi +18 -0
  132. rdetoolkit-1.1.0/src/rdetoolkit/interfaces.pyi +0 -0
  133. rdetoolkit-1.1.0/src/rdetoolkit/invoicefile.py +1014 -0
  134. rdetoolkit-1.1.0/src/rdetoolkit/invoicefile.pyi +75 -0
  135. rdetoolkit-1.1.0/src/rdetoolkit/models/__init__.py +0 -0
  136. rdetoolkit-1.1.0/src/rdetoolkit/models/__init__.pyi +0 -0
  137. rdetoolkit-1.1.0/src/rdetoolkit/models/config.py +39 -0
  138. rdetoolkit-1.1.0/src/rdetoolkit/models/config.pyi +15 -0
  139. rdetoolkit-1.1.0/src/rdetoolkit/models/invoice.py +268 -0
  140. rdetoolkit-1.1.0/src/rdetoolkit/models/invoice.pyi +99 -0
  141. rdetoolkit-1.1.0/src/rdetoolkit/models/invoice_schema.py +385 -0
  142. rdetoolkit-1.1.0/src/rdetoolkit/models/invoice_schema.pyi +132 -0
  143. rdetoolkit-1.1.0/src/rdetoolkit/models/metadata.py +84 -0
  144. rdetoolkit-1.1.0/src/rdetoolkit/models/metadata.pyi +22 -0
  145. rdetoolkit-1.1.0/src/rdetoolkit/models/rde2types.py +269 -0
  146. rdetoolkit-1.1.0/src/rdetoolkit/models/rde2types.pyi +88 -0
  147. rdetoolkit-1.1.0/src/rdetoolkit/models/result.py +87 -0
  148. rdetoolkit-1.1.0/src/rdetoolkit/models/result.pyi +28 -0
  149. rdetoolkit-1.1.0/src/rdetoolkit/models.pyi +0 -0
  150. rdetoolkit-1.1.0/src/rdetoolkit/modeproc.py +456 -0
  151. rdetoolkit-1.1.0/src/rdetoolkit/modeproc.pyi +15 -0
  152. rdetoolkit-1.1.0/src/rdetoolkit/py.typed +0 -0
  153. rdetoolkit-1.1.0/src/rdetoolkit/rde2util.py +780 -0
  154. rdetoolkit-1.1.0/src/rdetoolkit/rde2util.pyi +47 -0
  155. rdetoolkit-1.1.0/src/rdetoolkit/rdelogger.py +194 -0
  156. rdetoolkit-1.1.0/src/rdetoolkit/rdelogger.pyi +21 -0
  157. rdetoolkit-1.1.0/src/rdetoolkit/static/ex_generalterm.csv +25 -0
  158. rdetoolkit-1.1.0/src/rdetoolkit/static/ex_specificterm.csv +36 -0
  159. rdetoolkit-1.1.0/src/rdetoolkit/static/invoice_basic_and_sample.schema_.json +322 -0
  160. rdetoolkit-1.1.0/src/rdetoolkit/validation.py +276 -0
  161. rdetoolkit-1.1.0/src/rdetoolkit/validation.pyi +19 -0
  162. rdetoolkit-1.1.0/src/rdetoolkit/workflows.py +256 -0
  163. rdetoolkit-1.1.0/src/rdetoolkit/workflows.pyi +9 -0
  164. rdetoolkit-1.1.0/src/rdetoolkit.pyi +4 -0
  165. rdetoolkit-1.1.0/tests/__init__.py +0 -0
  166. rdetoolkit-1.1.0/tests/conftest.py +420 -0
  167. rdetoolkit-1.1.0/tests/fixtures/__init__.py +0 -0
  168. rdetoolkit-1.1.0/tests/fixtures/excelinvoice.py +1402 -0
  169. rdetoolkit-1.1.0/tests/fixtures/invoice.py +404 -0
  170. rdetoolkit-1.1.0/tests/fixtures/metadata_json.py +165 -0
  171. rdetoolkit-1.1.0/tests/fixtures/schema.py +809 -0
  172. rdetoolkit-1.1.0/tests/fixtures/static.py +82 -0
  173. rdetoolkit-1.1.0/tests/images/test_cos_640_480.png +0 -0
  174. rdetoolkit-1.1.0/tests/images/test_sin_300_300.png +0 -0
  175. rdetoolkit-1.1.0/tests/images/test_tan_1080_480.png +0 -0
  176. rdetoolkit-1.1.0/tests/samplefile/invoice.json +83 -0
  177. rdetoolkit-1.1.0/tests/samplefile/invoice.schema.basic.json +238 -0
  178. rdetoolkit-1.1.0/tests/samplefile/invoice.schema.full.json +368 -0
  179. rdetoolkit-1.1.0/tests/samplefile/invoice.schema.json +283 -0
  180. rdetoolkit-1.1.0/tests/samplefile/invoice.schema_invalid.json +269 -0
  181. rdetoolkit-1.1.0/tests/samplefile/invoice.schema_none_custom.json +167 -0
  182. rdetoolkit-1.1.0/tests/samplefile/invoice.schema_none_generalAttributes.json +286 -0
  183. rdetoolkit-1.1.0/tests/samplefile/invoice.schema_none_sample.json +114 -0
  184. rdetoolkit-1.1.0/tests/samplefile/invoice.schema_none_specificAttributes.json +303 -0
  185. rdetoolkit-1.1.0/tests/samplefile/invoice.schema_not_support_value.json +269 -0
  186. rdetoolkit-1.1.0/tests/samplefile/invoice_allow_none.json +83 -0
  187. rdetoolkit-1.1.0/tests/samplefile/invoice_invalid.json +83 -0
  188. rdetoolkit-1.1.0/tests/samplefile/invoice_invalid_none_basic.json +83 -0
  189. rdetoolkit-1.1.0/tests/samplefile/invoice_invalid_sample_anyof.json +83 -0
  190. rdetoolkit-1.1.0/tests/samplefile/test_excelinvoice_term_sample.csv +12 -0
  191. rdetoolkit-1.1.0/tests/samplefile/test_excelinvoice_term_sample_folder.csv +12 -0
  192. rdetoolkit-1.1.0/tests/test_backup_invoice.py +87 -0
  193. rdetoolkit-1.1.0/tests/test_check_files.py +215 -0
  194. rdetoolkit-1.1.0/tests/test_cli.py +339 -0
  195. rdetoolkit-1.1.0/tests/test_compressedfile_mode.py +157 -0
  196. rdetoolkit-1.1.0/tests/test_config.py +326 -0
  197. rdetoolkit-1.1.0/tests/test_exception.py +607 -0
  198. rdetoolkit-1.1.0/tests/test_filename_mapping_rule.py +33 -0
  199. rdetoolkit-1.1.0/tests/test_fileops.py +188 -0
  200. rdetoolkit-1.1.0/tests/test_generate_folder_paths_iterator.py +111 -0
  201. rdetoolkit-1.1.0/tests/test_inputfile_checker.py +273 -0
  202. rdetoolkit-1.1.0/tests/test_inputmode_processer.py +1352 -0
  203. rdetoolkit-1.1.0/tests/test_invoicefile.py +763 -0
  204. rdetoolkit-1.1.0/tests/test_logger.py +239 -0
  205. rdetoolkit-1.1.0/tests/test_models.py +122 -0
  206. rdetoolkit-1.1.0/tests/test_rde2util.py +328 -0
  207. rdetoolkit-1.1.0/tests/test_registory.py +254 -0
  208. rdetoolkit-1.1.0/tests/test_result.py +99 -0
  209. rdetoolkit-1.1.0/tests/test_stub.py +99 -0
  210. rdetoolkit-1.1.0/tests/test_thumbnail.py +153 -0
  211. rdetoolkit-1.1.0/tests/test_validator.py +299 -0
  212. rdetoolkit-1.1.0/tests/test_workflow.py +176 -0
  213. rdetoolkit-1.1.0/tox.ini +151 -0
@@ -0,0 +1,8 @@
1
+ [build]
2
+ rustflags = []
3
+
4
+ [target.aarch64-apple-darwin]
5
+ rustflags = ["-C", "link-arg=-undefined", "-C", "link-arg=dynamic_lookup"]
6
+
7
+ [target.x86_64-apple-darwin]
8
+ rustflags = ["-C", "link-arg=-undefined", "-C", "link-arg=dynamic_lookup"]
@@ -0,0 +1 @@
1
+ * @sonoh5n
@@ -0,0 +1,14 @@
1
+ ## Related Issue
2
+ <!--Please specify the related issue(s)-->
3
+
4
+ ## Changes
5
+ <!--Describe the implementation details and changes made-->
6
+
7
+ ## Out of Scope
8
+ <!--List any items that are not addressed or out of scope for this change-->
9
+
10
+ ## Verification
11
+ <!--List the items to be verified in this pull request-->
12
+
13
+ - [ ] CI tests pass successfully
14
+ - [ ] No issues with the modified scripts
@@ -0,0 +1,14 @@
1
+ changelog:
2
+ categories:
3
+ - title: Features
4
+ labels:
5
+ - enhancement
6
+ - title: Types Changes
7
+ labels:
8
+ - types
9
+ - title: Bug Fixes
10
+ labels:
11
+ - bug
12
+ - title: Other Changes
13
+ labels:
14
+ - '*'
@@ -0,0 +1,28 @@
1
+ name: cleanup all caches
2
+ on:
3
+ workflow_dispatch:
4
+
5
+ jobs:
6
+ cleanup:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - name: Install GitHub CLI
10
+ uses: actions/setup-node@v3
11
+ with:
12
+ node-version: "14"
13
+ - name: Install GitHub CLI Cache Extension
14
+ run: gh extension install actions/gh-actions-cache
15
+ env:
16
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
17
+ - name: Cleanup
18
+ run: |
19
+ set +e
20
+ echo "Deleting all caches..."
21
+ gh actions-cache list -R $REPO -L 100 | while IFS=$'\t' read -r cacheKey _
22
+ do
23
+ gh actions-cache delete "$cacheKey" -R $REPO --confirm
24
+ done
25
+ echo "Done"
26
+ env:
27
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28
+ REPO: ${{ github.repository }}
@@ -0,0 +1,41 @@
1
+ name: Core Module
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - "*"
7
+ - "!docs*"
8
+ - "!doc*"
9
+ pull_request:
10
+ branches:
11
+ - main
12
+
13
+ jobs:
14
+ lint:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Install Rust toolchain
20
+ uses: actions-rs/toolchain@v1
21
+ with:
22
+ toolchain: stable
23
+ components: clippy, rustfmt
24
+ - name: Run check
25
+ run: cargo check
26
+ - name: Run test
27
+ run: cargo test --no-default-features
28
+ - name: Run clippy
29
+ run: cargo clippy -- -D warnings
30
+
31
+ test:
32
+ runs-on: ubuntu-latest
33
+ steps:
34
+ - name: Checkout Crate
35
+ uses: actions/checkout@v4
36
+ - name: Set Toolchain
37
+ uses: actions-rs/toolchain@v1
38
+ with:
39
+ toolchain: stable
40
+ - name: Run Test
41
+ run: cargo test --no-default-features
@@ -0,0 +1,35 @@
1
+ name: Pytest and coverage measurement and create badges
2
+
3
+ on:
4
+ push:
5
+
6
+ jobs:
7
+ test:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v2
11
+ - name: Setup python
12
+ uses: actions/setup-python@v4
13
+ with:
14
+ python-version: "3.10"
15
+ cache: "pip"
16
+ - name: Install dependencies
17
+ run: |
18
+ pip install -r requirements-dev.lock
19
+ pip install coverage-badge
20
+ - name: Run pytest
21
+ run: python -m pytest --junitxml=pytest.xml --cov-report=term-missing --cov=src tests/
22
+ - name: Generate coverage badge
23
+ run: |
24
+ coverage-badge -o docs/img/coverage.svg -f
25
+ - name: Commit coverage badge
26
+ run: |
27
+ git config --global user.name "github-actions[bot]"
28
+ git config --global user.email "github-actions[bot]@users.noreply.github.com"
29
+ git add docs/img/coverage.svg
30
+ git add pytest.xml
31
+ git add Cargo.lock
32
+ git commit -m "chore: Update coverage badge" || echo "No changes to commit"
33
+ git push origin HEAD || echo "No changes to push"
34
+ env:
35
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,81 @@
1
+ name: Coverage PR reports
2
+ on:
3
+ pull_request:
4
+
5
+ permissions: write-all
6
+
7
+ jobs:
8
+ coverage_py:
9
+ name: Code Coverage with pytest
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - name: Checkout
13
+ uses: actions/checkout@v2
14
+ - uses: actions/setup-python@v4
15
+ with:
16
+ python-version: "3.10"
17
+ cache: "pip"
18
+ - name: Install dependencies
19
+ run: pip install -r requirements-dev.lock
20
+ - name: run pytest
21
+ run: |
22
+ set -o pipefail
23
+ python -m pytest --junitxml=pytest.xml --cov-report=term-missing --cov=src tests/ | tee pytest-coverage.txt
24
+ - name: Pytest coverage comment
25
+ uses: MishaKav/pytest-coverage-comment@v1.1.47
26
+ with:
27
+ pytest-coverage-path: ./pytest-coverage.txt
28
+ junitxml-path: ./pytest.xml
29
+
30
+ coverage_rs:
31
+ name: Code Coverage with grcov
32
+ runs-on: ubuntu-latest
33
+ steps:
34
+ - uses: actions/checkout@v4
35
+
36
+ - name: Install Rust
37
+ uses: actions-rs/toolchain@v1
38
+ with:
39
+ toolchain: nightly
40
+ override: true
41
+ components: llvm-tools-preview
42
+
43
+ - name: Install Python development files
44
+ run: |
45
+ sudo apt-get update
46
+ sudo apt-get install -y python3-dev
47
+
48
+ - name: Install grcov
49
+ run: cargo install grcov
50
+
51
+ - name: Set up Python environment variables
52
+ run: |
53
+ echo "PYTHON_INCLUDE_DIR=$(python3 -c 'from sysconfig import get_paths as gp; print(gp()[\"include\"])')" >> $GITHUB_ENV
54
+ echo "PYTHON_LIB_DIR=$(python3 -c 'from sysconfig import get_paths as gp; print(gp()[\"stdlib\"])')" >> $GITHUB_ENV
55
+ echo "LD_LIBRARY_PATH=${{ env.PYTHON_LIB_DIR }}:$LD_LIBRARY_PATH" >> $GITHUB_ENV
56
+
57
+ - name: Build with coverage
58
+ env:
59
+ RUSTFLAGS: "-C instrument-coverage -L${{ env.PYTHON_LIB_DIR }} -I${{ env.PYTHON_INCLUDE_DIR }} -C link-arg=-Wl,-rpath,${{ env.PYTHON_LIB_DIR }}"
60
+ run: cargo build
61
+
62
+ - name: Run tests with coverage
63
+ env:
64
+ LLVM_PROFILE_FILE: "your-project-name.profraw"
65
+ CARGO_INCREMENTAL: 0
66
+ run: cargo test --no-default-features
67
+
68
+ - name: Generate coverage report
69
+ run: |
70
+ grcov . --binary-path ./target/debug/ -s . -t lcov --branch --ignore-not-existing --ignore "/*" -o lcov.info
71
+
72
+ - name: Upload coverage to Codecov
73
+ uses: codecov/codecov-action@v3
74
+ with:
75
+ files: ./lcov.info
76
+
77
+ - name: Post coverage comment
78
+ uses: romeovs/lcov-reporter-action@v0.3.1
79
+ with:
80
+ lcov-file: lcov.info
81
+ github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,63 @@
1
+ name: Test Documentation Build and Deploy
2
+
3
+ on:
4
+ push:
5
+ branches-ignore:
6
+ - master
7
+ - main
8
+ pull_request:
9
+ branches:
10
+ - "*"
11
+
12
+ jobs:
13
+ test-deploy:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ with:
18
+ fetch-depth: 0
19
+
20
+ - name: Configure Git Credentials
21
+ run: |
22
+ git config user.name github-actions[bot]
23
+ git config user.email 41898282+github-actions[bot]@users.noreply.github.com
24
+
25
+ - uses: actions/setup-python@v5
26
+ with:
27
+ python-version: "3.10"
28
+
29
+ - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
30
+
31
+ - uses: actions/cache@v4
32
+ with:
33
+ key: mkdocs-material-${{ env.cache_id }}
34
+ path: .cache
35
+ restore-keys: |
36
+ mkdocs-material-
37
+
38
+ - name: Install dependencies and Deploy
39
+ run: |
40
+ python -m pip install --upgrade pip
41
+ pip install -r requirements-dev.lock
42
+
43
+ - name: Test documentation build
44
+ run: mkdocs build
45
+
46
+ - name: Test full deployment process
47
+ run: |
48
+ # Simulate tag deployment
49
+ mike delete latest || true
50
+ mike deploy test-version latest --allow-empty
51
+
52
+ # Simulate dev deployment
53
+ mike delete dev || true
54
+ mike deploy dev --allow-empty
55
+
56
+ # Check the current state
57
+ git status
58
+ git log --oneline -n 5
59
+
60
+ - name: Cleanup
61
+ run: |
62
+ git checkout ${{ github.head_ref }}
63
+ git branch -D gh-pages
@@ -0,0 +1,63 @@
1
+ name: Build and Deploy Documentation with MkDocs
2
+ on:
3
+ push:
4
+ branches:
5
+ - master
6
+ - main
7
+ tags:
8
+ - "v*.*.*"
9
+
10
+ permissions:
11
+ contents: write
12
+
13
+ jobs:
14
+ deploy:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 0
20
+
21
+ - name: Configure Git Credentials
22
+ run: |
23
+ git config user.name github-actions[bot]
24
+ git config user.email 41898282+github-actions[bot]@users.noreply.github.com
25
+
26
+ - uses: actions/setup-python@v5
27
+ with:
28
+ python-version: "3.10"
29
+
30
+ - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
31
+
32
+ - uses: actions/cache@v4
33
+ with:
34
+ key: mkdocs-material-${{ env.cache_id }}
35
+ path: .cache
36
+ restore-keys: |
37
+ mkdocs-material-
38
+
39
+ - name: Install dependencies and Deploy
40
+ run: |
41
+ python -m pip install --upgrade pip
42
+ pip install -r requirements-dev.lock
43
+
44
+ # - name: Fetch gh-pages branch
45
+ # run: |
46
+ # git fetch origin gh-pages:gh-pages
47
+
48
+ # - name: Deploy HTML files
49
+ # run: mkdocs gh-deploy --force
50
+
51
+ - name: Deploy documentation
52
+ run: |
53
+ if [[ ${{ github.ref }} =~ ^refs/tags/ ]]; then
54
+ # push tag
55
+ VERSION=${GITHUB_REF#refs/tags/}
56
+ mike delete latest || true
57
+ mike deploy --push --update-aliases $VERSION latest
58
+ mike set-default --push latest
59
+ else
60
+ # push to main/master branch
61
+ mike delete dev || true
62
+ mike deploy --push --update-aliases dev
63
+ fi
@@ -0,0 +1,111 @@
1
+ name: test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - "*"
7
+ - "**"
8
+ - "!docs*"
9
+ - "!doc*"
10
+ pull_request:
11
+ branches:
12
+ - main
13
+ - develop*
14
+
15
+ jobs:
16
+ test:
17
+ runs-on: ubuntu-latest
18
+ strategy:
19
+ matrix:
20
+ python-version: ["3.9", "3.10", "3.11", "3.12"]
21
+ tox-env: [module, ruff, lizard, mypy]
22
+ steps:
23
+ - uses: actions/checkout@v4
24
+ - name: Set up Python ${{ matrix.python-version }}
25
+ uses: actions/setup-python@v5
26
+ with:
27
+ python-version: ${{ matrix.python-version }}
28
+ - name: Print
29
+ run: echo "Running tests for Python ${{ matrix.python-version }} with ${{ matrix.tox-env }}"
30
+ - name: Install dependencies
31
+ run: |
32
+ python -m pip install --upgrade pip
33
+ pip install tox
34
+ - name: Test with tox
35
+ run: tox -e py${{ matrix.python-version }}-${{ matrix.tox-env }}
36
+
37
+ test_rs:
38
+ name: Test on ${{ matrix.os }}
39
+ runs-on: ${{ matrix.os }}
40
+ strategy:
41
+ matrix:
42
+ os: [ubuntu-latest, windows-latest, macos-latest]
43
+ rust: [stable]
44
+ python-version: ["3.9", "3.10", "3.11", "3.12"]
45
+
46
+ steps:
47
+ - uses: actions/checkout@v4
48
+
49
+ - name: Set up Python
50
+ uses: actions/setup-python@v5
51
+ with:
52
+ python-version: ${{ matrix.python-version }}
53
+
54
+ - name: Install Python development headers (Linux)
55
+ if: runner.os == 'Linux'
56
+ run: sudo apt-get install python3-dev
57
+
58
+ - name: Install Python development headers (macOS)
59
+ if: runner.os == 'macOS'
60
+ run: brew install python
61
+
62
+ - name: Install Rust
63
+ uses: actions-rs/toolchain@v1
64
+ with:
65
+ toolchain: ${{ matrix.rust }}
66
+ override: true
67
+
68
+ - name: Set environment variables
69
+ run: |
70
+ echo "PYTHON_INCLUDE_DIR=$(python3 -c 'from distutils.sysconfig import get_python_inc(); print(get_python_inc())')" >> $GITHUB_ENV
71
+ echo "PYTHON_LIB_DIR=$(python3 -c 'import sysconfig; print(sysconfig.get_config_var("LIBDIR"))')" >> $GITHUB_ENV
72
+
73
+ - name: Run tests
74
+ run: cargo test --no-default-features
75
+
76
+ build-check:
77
+ needs: test
78
+ runs-on: ubuntu-latest
79
+ strategy:
80
+ matrix:
81
+ python-version: ["3.9", "3.10", "3.11", "3.12"]
82
+ steps:
83
+ - uses: actions/checkout@v4
84
+ - name: Set up Python ${{ matrix.python-version }}
85
+ uses: actions/setup-python@v5
86
+ with:
87
+ python-version: ${{ matrix.python-version }}
88
+ - name: Install dependencies
89
+ run: |
90
+ python -m pip install --upgrade pip
91
+ pip install build setuptools
92
+ - name: Build
93
+ run: python -m build
94
+
95
+ coverage:
96
+ needs: test
97
+ runs-on: ubuntu-latest
98
+ steps:
99
+ - uses: actions/checkout@v4
100
+ - name: Setup up Python 3.11
101
+ uses: actions/setup-python@v5
102
+ with:
103
+ python-version: "3.11"
104
+ - name: Install dependencies
105
+ run: |
106
+ python -m pip install --upgrade pip
107
+ pip install tox
108
+ - name: Test with tox
109
+ run: tox -e py311-module
110
+ - name: Upload coverage report
111
+ uses: codecov/codecov-action@v4
@@ -0,0 +1,27 @@
1
+ name: PR-Agent
2
+
3
+ on:
4
+ pull_request:
5
+ types: [opened, reopened, synchronize]
6
+ issue_comment:
7
+ types: [created, edited]
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ issues: write
12
+ pull-requests: write
13
+
14
+ jobs:
15
+ pr_agent_job:
16
+ runs-on: ubuntu-latest
17
+ name: Run pr agent on every pull request
18
+ steps:
19
+ - name: PR Agent action step
20
+ id: pragent
21
+ uses: Codium-ai/pr-agent@main
22
+ env:
23
+ OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
24
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25
+ GITHUB_ACTION.AUTO_REVIEW: true
26
+ GITHUB_ACTION.AUTO_DESCRIBE: true
27
+ GITHUB_ACTION.AUTO_IMPROVE: true