python-pkcs11 0.10.0__tar.gz → 0.10.1__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. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/.github/actions/test-setup/action.yml +2 -2
  2. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/.github/workflows/coverage.yml +7 -7
  3. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/.github/workflows/quality.yml +3 -3
  4. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/.github/workflows/release.yml +14 -14
  5. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/.github/workflows/tests.yml +4 -2
  6. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/PKG-INFO +2 -1
  7. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pyproject.toml +1 -0
  8. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/python_pkcs11.egg-info/PKG-INFO +2 -1
  9. python_pkcs11-0.10.1/python_pkcs11.egg-info/scm_version.json +8 -0
  10. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/uv.lock +6 -6
  11. python_pkcs11-0.10.0/python_pkcs11.egg-info/scm_version.json +0 -8
  12. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/.github/actions/install-opencryptoki/action.yml +0 -0
  13. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/.github/actions/install-softhsm/action.yml +0 -0
  14. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/.github/release-template.md +0 -0
  15. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/.gitignore +0 -0
  16. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/.python-version +0 -0
  17. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/.readthedocs.yaml +0 -0
  18. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/LICENSE +0 -0
  19. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/MANIFEST.in +0 -0
  20. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/README.rst +0 -0
  21. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/docs/Makefile +0 -0
  22. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/docs/api.rst +0 -0
  23. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/docs/applied.rst +0 -0
  24. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/docs/concurrency.rst +0 -0
  25. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/docs/conf.py +0 -0
  26. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/docs/index.rst +0 -0
  27. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/docs/make.bat +0 -0
  28. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/docs/opensc.rst +0 -0
  29. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/extern/.gitignore +0 -0
  30. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/extern/cryptoki.h +0 -0
  31. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/extern/load_module.c +0 -0
  32. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/extern/load_module.h +0 -0
  33. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/extern/pkcs11.h +0 -0
  34. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/extern/pkcs11f.h +0 -0
  35. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/extern/pkcs11t.h +0 -0
  36. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/__init__.py +0 -0
  37. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/_pkcs11.pxd +0 -0
  38. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/_pkcs11.pyi +0 -0
  39. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/_pkcs11.pyx +0 -0
  40. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/attributes.py +0 -0
  41. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/constants.py +0 -0
  42. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/defaults.py +0 -0
  43. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/exceptions.py +0 -0
  44. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/mechanisms.py +0 -0
  45. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/py.typed +0 -0
  46. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/types.py +0 -0
  47. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/util/__init__.py +0 -0
  48. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/util/dh.py +0 -0
  49. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/util/dsa.py +0 -0
  50. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/util/ec.py +0 -0
  51. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/util/rsa.py +0 -0
  52. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/pkcs11/util/x509.py +0 -0
  53. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/python_pkcs11.egg-info/SOURCES.txt +0 -0
  54. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/python_pkcs11.egg-info/dependency_links.txt +0 -0
  55. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/python_pkcs11.egg-info/requires.txt +0 -0
  56. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/python_pkcs11.egg-info/scm_file_list.json +0 -0
  57. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/python_pkcs11.egg-info/top_level.txt +0 -0
  58. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/setup.cfg +0 -0
  59. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/__init__.py +0 -0
  60. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_aes.py +0 -0
  61. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_attributes.py +0 -0
  62. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_des.py +0 -0
  63. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_dh.py +0 -0
  64. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_digest.py +0 -0
  65. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_dsa.py +0 -0
  66. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_ecc.py +0 -0
  67. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_iterators.py +0 -0
  68. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_ml_dsa.py +0 -0
  69. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_ml_kem.py +0 -0
  70. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_multilib.py +0 -0
  71. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_public_key_external.py +0 -0
  72. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_rsa.py +0 -0
  73. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_sessions.py +0 -0
  74. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_slots_and_tokens.py +0 -0
  75. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_threading.py +0 -0
  76. {python_pkcs11-0.10.0 → python_pkcs11-0.10.1}/tests/test_x509.py +0 -0
@@ -34,7 +34,7 @@ runs:
34
34
  using: "composite"
35
35
  steps:
36
36
  - name: Setup Python
37
- uses: actions/setup-python@v6
37
+ uses: actions/setup-python@v7
38
38
  with:
39
39
  python-version: ${{ inputs.python-version }}
40
40
  - uses: ./.github/actions/install-softhsm
@@ -78,7 +78,7 @@ runs:
78
78
  env:
79
79
  PLATFORM: ${{ inputs.pkcs11-platform }}
80
80
  - name: Install uv
81
- uses: astral-sh/setup-uv@v7
81
+ uses: astral-sh/setup-uv@v10.3.0
82
82
  with:
83
83
  enable-cache: true
84
84
  python-version: ${{ inputs.python-version }}
@@ -23,7 +23,7 @@ jobs:
23
23
  - opencryptoki
24
24
  steps:
25
25
  - name: Acquire sources
26
- uses: actions/checkout@v6
26
+ uses: actions/checkout@v7
27
27
  - name: Arm coverage-only compiler directives
28
28
  # Unfortunately, it doesn't seem to be possible to pass directives
29
29
  # to Cython through environment variables: https://github.com/cython/cython/issues/3930
@@ -48,7 +48,7 @@ jobs:
48
48
  env:
49
49
  PKCS11_MODULE: ${{ steps.setup.outputs.module }}
50
50
  - name: Stash coverage report
51
- uses: actions/upload-artifact@v4
51
+ uses: actions/upload-artifact@v7
52
52
  with:
53
53
  name: coverage-${{ strategy.job-index }}
54
54
  path: "*-coverage.xml"
@@ -56,7 +56,7 @@ jobs:
56
56
  runs-on: ubuntu-26.04
57
57
  steps:
58
58
  - name: Acquire sources
59
- uses: actions/checkout@v6
59
+ uses: actions/checkout@v7
60
60
  - uses: ./.github/actions/test-setup
61
61
  id: setup
62
62
  with:
@@ -73,7 +73,7 @@ jobs:
73
73
  PKCS11_MODULE: ${{ steps.setup.outputs.module }}
74
74
  PKCS11_MODULE2: ${{ steps.setup.outputs.module2 }}
75
75
  - name: Stash coverage report
76
- uses: actions/upload-artifact@v4
76
+ uses: actions/upload-artifact@v7
77
77
  with:
78
78
  name: coverage-multilib
79
79
  path: "*-coverage.xml"
@@ -85,14 +85,14 @@ jobs:
85
85
  needs: [pytest-coverage,pytest-coverage-multilib]
86
86
  steps:
87
87
  # checkout necessary to ensure the uploaded report contains the correct paths
88
- - uses: actions/checkout@v6
88
+ - uses: actions/checkout@v7
89
89
  - name: Retrieve coverage reports
90
- uses: actions/download-artifact@v4
90
+ uses: actions/download-artifact@v8
91
91
  with:
92
92
  pattern: coverage-*
93
93
  path: ./reports/
94
94
  - name: Upload all coverage reports to Codecov
95
- uses: codecov/codecov-action@v5
95
+ uses: codecov/codecov-action@v7
96
96
  with:
97
97
  token: ${{ secrets.CODECOV_TOKEN }}
98
98
  directory: ./reports/
@@ -10,15 +10,15 @@ jobs:
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
12
  - name: Acquire sources
13
- uses: actions/checkout@v6
13
+ uses: actions/checkout@v7
14
14
 
15
15
  - name: Install uv
16
- uses: astral-sh/setup-uv@v7
16
+ uses: astral-sh/setup-uv@v10.3.0
17
17
  with:
18
18
  enable-cache: true
19
19
 
20
20
  - name: Setup Python
21
- uses: actions/setup-python@v6
21
+ uses: actions/setup-python@v7
22
22
  with:
23
23
  python-version: "3.13"
24
24
  architecture: x64
@@ -51,7 +51,7 @@ jobs:
51
51
  echo "Tag $VERSION does not follow v<version> naming scheme"
52
52
  exit 1
53
53
  fi
54
- - uses: actions/checkout@v6
54
+ - uses: actions/checkout@v7
55
55
  - name: Generate release body
56
56
  run: |
57
57
  sed "s/:VERSION/$VERSION/g" < .github/release-template.md > release.md
@@ -59,7 +59,7 @@ jobs:
59
59
  env:
60
60
  VERSION: ${{ steps.getrelease.outputs.version }}
61
61
  - name: Upload release body
62
- uses: actions/upload-artifact@v4
62
+ uses: actions/upload-artifact@v7
63
63
  with:
64
64
  name: release-body
65
65
  path: release.md
@@ -75,12 +75,12 @@ jobs:
75
75
  - windows-latest
76
76
  - macos-14
77
77
  steps:
78
- - uses: actions/checkout@v6
78
+ - uses: actions/checkout@v7
79
79
  - name: Setup Python
80
- uses: actions/setup-python@v6
80
+ uses: actions/setup-python@v7
81
81
  - name: Build wheels
82
- uses: pypa/cibuildwheel@v3.3.0
83
- - uses: actions/upload-artifact@v4
82
+ uses: pypa/cibuildwheel@v4.3.2
83
+ - uses: actions/upload-artifact@v7
84
84
  with:
85
85
  name: wheels-${{ matrix.os }}-${{ strategy.job-index }}
86
86
  path: ./wheelhouse/*.whl
@@ -88,16 +88,16 @@ jobs:
88
88
  runs-on: ubuntu-latest
89
89
  needs: [extract-params]
90
90
  steps:
91
- - uses: actions/checkout@v6
91
+ - uses: actions/checkout@v7
92
92
  - name: Setup Python
93
- uses: actions/setup-python@v6
93
+ uses: actions/setup-python@v7
94
94
  - name: Install uv
95
- uses: astral-sh/setup-uv@v7
95
+ uses: astral-sh/setup-uv@v10.3.0
96
96
  with:
97
97
  enable-cache: true
98
98
  - name: Build source distribution
99
99
  run: uv build --sdist
100
- - uses: actions/upload-artifact@v4
100
+ - uses: actions/upload-artifact@v7
101
101
  with:
102
102
  name: sdist
103
103
  path: ./dist/*.tar.gz
@@ -113,18 +113,18 @@ jobs:
113
113
  contents: write
114
114
  steps:
115
115
  - name: Download wheels
116
- uses: actions/download-artifact@v4
116
+ uses: actions/download-artifact@v8
117
117
  with:
118
118
  pattern: wheels-*
119
119
  path: dist/
120
120
  merge-multiple: 'true'
121
121
  - name: Download source distribution
122
- uses: actions/download-artifact@v4
122
+ uses: actions/download-artifact@v8
123
123
  with:
124
124
  name: sdist
125
125
  path: dist/
126
126
  - name: Download release body
127
- uses: actions/download-artifact@v4
127
+ uses: actions/download-artifact@v8
128
128
  with:
129
129
  name: release-body
130
130
  path: release-body
@@ -134,7 +134,7 @@ jobs:
134
134
  repository-url: ${{ vars.REPOSITORY_URL }}
135
135
  - name: Create GitHub release
136
136
  if: needs.extract-params.outputs.publish-env == 'pypi' && startsWith(github.ref, 'refs/tags/')
137
- uses: softprops/action-gh-release@v2
137
+ uses: softprops/action-gh-release@v3
138
138
  with:
139
139
  files: |
140
140
  dist/*.whl
@@ -27,6 +27,7 @@ jobs:
27
27
  - "3.12"
28
28
  - "3.13"
29
29
  - "3.14"
30
+ - "3.15"
30
31
  pkcs11-platform:
31
32
  - softhsm
32
33
  - opencryptoki
@@ -39,7 +40,7 @@ jobs:
39
40
  os: macos-14
40
41
  steps:
41
42
  - name: Acquire sources
42
- uses: actions/checkout@v6
43
+ uses: actions/checkout@v7
43
44
  - uses: ./.github/actions/test-setup
44
45
  id: setup
45
46
  with:
@@ -65,9 +66,10 @@ jobs:
65
66
  - "3.12"
66
67
  - "3.13"
67
68
  - "3.14"
69
+ - "3.15"
68
70
  steps:
69
71
  - name: Acquire sources
70
- uses: actions/checkout@v6
72
+ uses: actions/checkout@v7
71
73
  - uses: ./.github/actions/test-setup
72
74
  id: setup
73
75
  with:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-pkcs11
3
- Version: 0.10.0
3
+ Version: 0.10.1
4
4
  Summary: PKCS#11 support for Python
5
5
  Author-email: Andrey Kislyuk <kislyuk@gmail.com>, Danielle Madeley <danielle@madeley.id.au>
6
6
  Maintainer-email: Andrey Kislyuk <kislyuk@gmail.com>
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Programming Language :: Python :: 3.13
18
18
  Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Programming Language :: Python :: 3.15
19
20
  Classifier: Topic :: Security :: Cryptography
20
21
  Requires-Python: >=3.10
21
22
  Description-Content-Type: text/x-rst
@@ -21,6 +21,7 @@ classifiers = [
21
21
  "Programming Language :: Python :: 3.12",
22
22
  "Programming Language :: Python :: 3.13",
23
23
  "Programming Language :: Python :: 3.14",
24
+ "Programming Language :: Python :: 3.15",
24
25
  "Topic :: Security :: Cryptography",
25
26
  ]
26
27
  dependencies = ["asn1crypto>=1.5.1"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-pkcs11
3
- Version: 0.10.0
3
+ Version: 0.10.1
4
4
  Summary: PKCS#11 support for Python
5
5
  Author-email: Andrey Kislyuk <kislyuk@gmail.com>, Danielle Madeley <danielle@madeley.id.au>
6
6
  Maintainer-email: Andrey Kislyuk <kislyuk@gmail.com>
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Programming Language :: Python :: 3.13
18
18
  Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Programming Language :: Python :: 3.15
19
20
  Classifier: Topic :: Security :: Cryptography
20
21
  Requires-Python: >=3.10
21
22
  Description-Content-Type: text/x-rst
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.10.1",
3
+ "distance": 0,
4
+ "node": "gc7be814c939a59b75d60d6a649bf8116537e69b4",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-10-20"
8
+ }
@@ -36,11 +36,11 @@ wheels = [
36
36
 
37
37
  [[package]]
38
38
  name = "certifi"
39
- version = "2026.7.22"
39
+ version = "2026.10.19"
40
40
  source = { registry = "https://pypi.org/simple" }
41
- sdist = { url = "https://files.pythonhosted.org/packages/a3/c2/24167ea9858356b47a87a50d39908bfdb72ceeefe0041586e704e5376b3a/certifi-2026.7.22.tar.gz", hash = "sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55", size = 138112, upload-time = "2026-07-22T03:35:12.644Z" }
41
+ sdist = { url = "https://files.pythonhosted.org/packages/a6/bd/1436c50cc46699de0230fbaacc1d1de7bfec413176099949e9d5112e88f2/certifi-2026.10.19.tar.gz", hash = "sha256:035c1e85572b141bf1c3a3eff0e33a8eb74917522f2559075ff8d2fea780a1ae", size = 137598, upload-time = "2026-10-20T02:24:16.604Z" }
42
42
  wheels = [
43
- { url = "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl", hash = "sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775", size = 136983, upload-time = "2026-07-22T03:35:11.276Z" },
43
+ { url = "https://files.pythonhosted.org/packages/c4/51/29046e48f693c54e5b7412216d447a1d8362c9653148d98c02cdf65fa733/certifi-2026.10.19-py3-none-any.whl", hash = "sha256:42d35340cc5b9ba78e818ddbff0c5b1c2b779de448a340fd1b989f5fa8670e1b", size = 136464, upload-time = "2026-10-20T02:24:15.072Z" },
44
44
  ]
45
45
 
46
46
  [[package]]
@@ -1256,11 +1256,11 @@ wheels = [
1256
1256
 
1257
1257
  [[package]]
1258
1258
  name = "urllib3"
1259
- version = "2.7.0"
1259
+ version = "2.8.0"
1260
1260
  source = { registry = "https://pypi.org/simple" }
1261
- sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" }
1261
+ sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" }
1262
1262
  wheels = [
1263
- { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" },
1263
+ { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" },
1264
1264
  ]
1265
1265
 
1266
1266
  [[package]]
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "0.10.0",
3
- "distance": 0,
4
- "node": "g2b031329ca087852e94db3ebf6f6672846040afa",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-09-07"
8
- }
File without changes
File without changes