Skip to content

[hipblaslt] perf-script support running a sh file commands #1068

Merged
solaslin merged 3 commits into
developfrom
users/solaslin/benchmark-script-gen-csv-for-sh
Aug 13, 2025
Merged

[hipblaslt] perf-script support running a sh file commands #1068
solaslin merged 3 commits into
developfrom
users/solaslin/benchmark-script-gen-csv-for-sh

Conversation

@solaslin
Copy link
Copy Markdown
Contributor

@solaslin solaslin commented Aug 5, 2025

A helper script to output csv file from a .sh file running a bunch of ./hipblaslt-bench

Usage:
./hipblaslt-perf --run_sh [path-of-sh-file] [--csvfile csv-name]

  • path-of-sh-file can be abs-path or relative path.
  • --csvfile is optional, please pass the filename without extension csv

The sh file looks like

./hipblaslt-bench .........
./hipblaslt-bench .........
./hipblaslt-bench .........
./hipblaslt-bench .........

Note:

  • -v or --verify is not supported since it output different keys
  • --requested_solution is not supported yet (i.e. offline tuning is not supported yet)
  • commented line (starting with #) will be ignored
  • --print_kernel_info IS SUPPORTED, and you can mix commands with or without --print_kernel_info. The csv file will show N/A if --print_kernel_info is not in that line.

Example:
When under projects/hipblaslt/
./clients/scripts/performance/hipblaslt-perf --run_sh ./tensilelite/Z_Work/swizzle-bench.sh

By default, a csv file will be saved in projects/hipblaslt/hipBLASLt_benchmark/bench_output_csv/swizzle-bench.csv
If you have argument --csvfile benchTest , then it would be saved as benchTest.csv

The most useful part is you can quickly copy-paste the bench result.
image

@solaslin solaslin self-assigned this Aug 5, 2025
@solaslin solaslin added the NoCI Don't run CI label Aug 5, 2025
@solaslin solaslin force-pushed the users/solaslin/benchmark-script-gen-csv-for-sh branch 2 times, most recently from 0cf3feb to bef8bd1 Compare August 12, 2025 15:27
@solaslin solaslin marked this pull request as ready for review August 12, 2025 15:27
@solaslin solaslin requested a review from a team as a code owner August 12, 2025 15:27
@solaslin solaslin force-pushed the users/solaslin/benchmark-script-gen-csv-for-sh branch from bef8bd1 to 81c8660 Compare August 13, 2025 02:37
Copy link
Copy Markdown
Contributor

@hcman2 hcman2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok if ci passed

@solaslin solaslin merged commit b30339b into develop Aug 13, 2025
13 checks passed
@solaslin solaslin deleted the users/solaslin/benchmark-script-gen-csv-for-sh branch August 13, 2025 12:29
assistant-librarian Bot pushed a commit to ROCm/hipBLASLt that referenced this pull request Aug 13, 2025
[hipblaslt] perf-script support running a sh file commands

A helper script to output csv file from a .sh file running a bunch of
./hipblaslt-bench

Usage:
**`./hipblaslt-perf --run_sh [path-of-sh-file] [--csvfile csv-name]`**
* path-of-sh-file can be abs-path or relative path.
* --csvfile is optional, please pass the filename without extension csv

The sh file looks like

```
./hipblaslt-bench .........
./hipblaslt-bench .........
./hipblaslt-bench .........
./hipblaslt-bench .........
```

Note:
* -v or --verify is not supported since it output different keys
* --requested_solution is not supported yet (i.e. offline tuning is not
supported yet)
* commented line (starting with #) will be ignored
* --print_kernel_info **IS SUPPORTED**, and you can mix commands with or
without --print_kernel_info. The csv file will show N/A if
--print_kernel_info is not in that line.

Example:
When under projects/hipblaslt/
**`./clients/scripts/performance/hipblaslt-perf --run_sh
./tensilelite/Z_Work/swizzle-bench.sh`**

By default, a csv file will be saved in
**`projects/hipblaslt/hipBLASLt_benchmark/bench_output_csv/swizzle-bench.csv`**
If you have argument `--csvfile benchTest` , then it would be saved as
**benchTest.csv**

The most useful part is you can quickly copy-paste the bench result.
<img width="317" height="303" alt="image"
src="https://github.com/user-attachments/assets/a59bc30a-27d0-472d-ada0-a9bd80106dc2"
/>
solaslin added a commit that referenced this pull request Nov 6, 2025
…requested-solutions

## Motivation

<!-- Explain the purpose of this PR and the goals it aims to achieve.
-->
An extension of #1068 

## Technical Details

<!-- Explain the changes along with any relevant GitHub links. -->
In the previous PR #1068, it says:

> The sh file looks like
> ```
> ./hipblaslt-bench [problems....m, n, k, type, ...]
> ./hipblaslt-bench [problems....m, n, k, type, ...]
> ./hipblaslt-bench [problems....m, n, k, type, ...]
> ./hipblaslt-bench [problems....m, n, k, type, ...]
> ```

Which means each -bench for each problem. 
One point I didn't mention in that PR is **`./hipblaslt-bench --yaml
[problem-yaml-file]` is not supported.**
In fact, running 1000 problems with a **single ./hipblaslt-bench --yaml
[100-problem-yaml-file] command** is way faster than **running
./hipblaslt-bench command 1000 times.**

So this PR added the support of running a .sh file with --yaml argument
in it.
#### Example:
You have a yaml file "bbs_bench.yaml" looks like:
```
- {function: matmul, transA: N, transB: T, M: ......... }
- {function: matmul, transA: N, transB: T, M: ......... }
- {function: matmul, transA: N, transB: T, M: ......... }
- {function: matmul, transA: N, transB: T, M: ......... }
- {function: matmul, transA: N, transB: T, M: ......... }
...
- {function: matmul, transA: N, transB: T, M: ......... }
```
Then you can make your sh file, e.g. "bbs_bench.sh"
```
./hipblaslt-bench --yaml <abs-path-of-bbs_bench.yaml>
```
Or you can mix them all:
```
./hipblaslt-bench --yaml <abs-path-of-bbs_bench.yaml>
./hipblaslt-bench --yaml <abs-path-of-another-yaml>
./hipblaslt-bench [problems....m, n, k, type, ...]
./hipblaslt-bench [problems....m, n, k, type, ...]
```
When under projects/hipblaslt/
**`./clients/scripts/performance/hipblaslt-perf --run_sh
<path-to-bbs_bench.sh>`**

By default, a csv file will be saved in
**`projects/hipblaslt/hipBLASLt_benchmark/bench_output_csv/bbs_bench.csv`**
If you put optional argument `--csvfile my_custom_name`, then it would
be saved as `my_custom_name.csv`

## Test Plan

<!-- Explain any relevant testing done to verify this PR. -->
This is a helper script/tool and is tested manually. 

## Test Result

<!-- Briefly summarize test outcomes. -->
Can correctly generate the csv file as expected.

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
- [x] Supported --yaml [YamlFile]
- [x] Supported --requested_solution (1 or > 1)
- [x] Added WinnderIdx, SolutionIdx in the exported CSV file
BrianHarrisonAMD pushed a commit that referenced this pull request Mar 25, 2026
…/sphinx (#5767)

Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.10.1 to 2.12.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jpadilla/pyjwt/releases">pyjwt's
releases</a>.</em></p>
<blockquote>
<h2>2.12.0</h2>
<h2>Security</h2>
<ul>
<li>Validate the crit (Critical) Header Parameter defined in RFC 7515
§4.1.11. by <a
href="https://github.com/dmbs335"><code>@​dmbs335</code></a> in <a
href="https://github.com/jpadilla/pyjwt/security/advisories/GHSA-752w-5fwx-jx9f">GHSA-752w-5fwx-jx9f</a></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1132">jpadilla/pyjwt#1132</a></li>
<li>chore(docs): fix docs build by <a
href="https://github.com/tamird"><code>@​tamird</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1137">jpadilla/pyjwt#1137</a></li>
<li>Annotate PyJWKSet.keys for pyright by <a
href="https://github.com/tamird"><code>@​tamird</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1134">jpadilla/pyjwt#1134</a></li>
<li>fix: close HTTPError to prevent ResourceWarning on Python 3.14 by <a
href="https://github.com/veeceey"><code>@​veeceey</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1133">jpadilla/pyjwt#1133</a></li>
<li>chore: remove superfluous constants by <a
href="https://github.com/tamird"><code>@​tamird</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1136">jpadilla/pyjwt#1136</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1135">jpadilla/pyjwt#1135</a></li>
<li>chore(tests): enable mypy by <a
href="https://github.com/tamird"><code>@​tamird</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1138">jpadilla/pyjwt#1138</a></li>
<li>Bump actions/download-artifact from 7 to 8 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1142">jpadilla/pyjwt#1142</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1141">jpadilla/pyjwt#1141</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1145">jpadilla/pyjwt#1145</a></li>
<li>fix: do not store reference to algorithms dict on PyJWK by <a
href="https://github.com/akx"><code>@​akx</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1143">jpadilla/pyjwt#1143</a></li>
<li>Use PyJWK algorithm when encoding without explicit algorithm by <a
href="https://github.com/jpadilla"><code>@​jpadilla</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1148">jpadilla/pyjwt#1148</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/tamird"><code>@​tamird</code></a> made
their first contribution in <a
href="https://github.com/jpadilla/pyjwt/pull/1137">jpadilla/pyjwt#1137</a></li>
<li><a href="https://github.com/veeceey"><code>@​veeceey</code></a> made
their first contribution in <a
href="https://github.com/jpadilla/pyjwt/pull/1133">jpadilla/pyjwt#1133</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0">https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0</a></p>
<h2>2.11.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Fixed type error in comment by <a
href="https://github.com/shuhaib-aot"><code>@​shuhaib-aot</code></a> in
<a
href="https://github.com/jpadilla/pyjwt/pull/1026">jpadilla/pyjwt#1026</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1018">jpadilla/pyjwt#1018</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1033">jpadilla/pyjwt#1033</a></li>
<li>Make note of use of leeway with nbf by <a
href="https://github.com/djw8605"><code>@​djw8605</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1034">jpadilla/pyjwt#1034</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1035">jpadilla/pyjwt#1035</a></li>
<li>Fixes <a
href="https://github.com/jpadilla/pyjwt/issues/964">#964</a>:
Validate key against allowed types for Algorithm family by <a
href="https://github.com/pachewise"><code>@​pachewise</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/985">jpadilla/pyjwt#985</a></li>
<li>Feat <a
href="https://github.com/jpadilla/pyjwt/issues/1024">#1024</a>:
Add iterator for PyJWKSet by <a
href="https://github.com/pachewise"><code>@​pachewise</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1041">jpadilla/pyjwt#1041</a></li>
<li>Fixes <a
href="https://github.com/jpadilla/pyjwt/issues/1039">#1039</a>:
Add iss, issuer type checks by <a
href="https://github.com/pachewise"><code>@​pachewise</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1040">jpadilla/pyjwt#1040</a></li>
<li>Fixes <a
href="https://github.com/jpadilla/pyjwt/issues/660">#660</a>:
Improve typing/logic for <code>options</code> in decode,
decode_complete; Improve docs by <a
href="https://github.com/pachewise"><code>@​pachewise</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1045">jpadilla/pyjwt#1045</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1042">jpadilla/pyjwt#1042</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1052">jpadilla/pyjwt#1052</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1053">jpadilla/pyjwt#1053</a></li>
<li>Fix <a
href="https://github.com/jpadilla/pyjwt/issues/1022">#1022</a>:
Map <code>algorithm=None</code> to &quot;none&quot; by <a
href="https://github.com/qqii"><code>@​qqii</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1056">jpadilla/pyjwt#1056</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1055">jpadilla/pyjwt#1055</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1058">jpadilla/pyjwt#1058</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1060">jpadilla/pyjwt#1060</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1061">jpadilla/pyjwt#1061</a></li>
<li>Fixes <a
href="https://github.com/jpadilla/pyjwt/issues/1047">#1047</a>:
Correct <code>PyJWKClient.get_signing_key_from_jwt</code> annotation by
<a href="https://github.com/khvn26"><code>@​khvn26</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1048">jpadilla/pyjwt#1048</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1062">jpadilla/pyjwt#1062</a></li>
<li>Fixed doc string typo in _validate_jti() function <a
href="https://github.com/jpadilla/pyjwt/issues/1063">#1063</a>
by <a
href="https://github.com/kuldeepkhatke"><code>@​kuldeepkhatke</code></a>
in <a
href="https://github.com/jpadilla/pyjwt/pull/1064">jpadilla/pyjwt#1064</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1065">jpadilla/pyjwt#1065</a></li>
<li>Update SECURITY.md by <a
href="https://github.com/auvipy"><code>@​auvipy</code></a> in <a
href="https://github.com/jpadilla/pyjwt/pull/1057">jpadilla/pyjwt#1057</a></li>
<li>Typing fix: use <code>float</code> instead of <code>int</code> for
<code>lifespan</code> and <code>timeout</code> by <a
href="https://github.com/nikitagashkov"><code>@​nikitagashkov</code></a>
in <a
href="https://github.com/jpadilla/pyjwt/pull/1068">jpadilla/pyjwt#1068</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://github.com/jpadilla/pyjwt/pull/1067">jpadilla/pyjwt#1067</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst">pyjwt's
changelog</a>.</em></p>
<blockquote>
<h2><code>v2.12.0
&lt;https://github.com/jpadilla/pyjwt/compare/2.11.0...2.12.0&gt;</code>__</h2>
<p>Fixed</p>
<pre><code>
- Annotate PyJWKSet.keys for pyright by @tamird in
`[#1134](jpadilla/pyjwt#1134)
&lt;https://github.com/jpadilla/pyjwt/pull/1134&gt;`__
- Close ``HTTPError`` response to prevent ``ResourceWarning`` on Python
3.14 by @veeceey in
`[#1133](jpadilla/pyjwt#1133)
&lt;https://github.com/jpadilla/pyjwt/pull/1133&gt;`__
- Do not keep ``algorithms`` dict in PyJWK instances by @akx in
`[#1143](jpadilla/pyjwt#1143)
&lt;https://github.com/jpadilla/pyjwt/pull/1143&gt;`__
- Validate the crit (Critical) Header Parameter defined in RFC 7515
§4.1.11. by @dmbs335 in `GHSA-752w-5fwx-jx9f
&lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-752w-5fwx-jx9f&gt;`__
- Use PyJWK algorithm when encoding without explicit algorithm in
`[#1148](jpadilla/pyjwt#1148)
&lt;https://github.com/jpadilla/pyjwt/pull/1148&gt;`__
<p>Added
</code></pre></p>
<ul>
<li>Docs: Add <code>PyJWKClient</code> API reference and document the
two-tier caching system (JWK Set cache and signing key LRU cache).</li>
</ul>
<h2><code>v2.11.0
&lt;https://github.com/jpadilla/pyjwt/compare/2.10.1...2.11.0&gt;</code>__</h2>
<p>Fixed</p>
<pre><code>
- Enforce ECDSA curve validation per RFC 7518 Section 3.4.
- Fix build system warnings by @kurtmckee in
`[#1105](jpadilla/pyjwt#1105)
&lt;https://github.com/jpadilla/pyjwt/pull/1105&gt;`__
- Validate key against allowed types for Algorithm family in
`[#964](jpadilla/pyjwt#964)
&lt;https://github.com/jpadilla/pyjwt/pull/964&gt;`__
- Add iterator for JWKSet in
`[#1041](jpadilla/pyjwt#1041)
&lt;https://github.com/jpadilla/pyjwt/pull/1041&gt;`__
- Validate `iss` claim is a string during encoding and decoding by
@pachewise in `[#1040](jpadilla/pyjwt#1040)
&lt;https://github.com/jpadilla/pyjwt/pull/1040&gt;`__
- Improve typing/logic for `options` in decode, decode_complete by
@pachewise in `[#1045](jpadilla/pyjwt#1045)
&lt;https://github.com/jpadilla/pyjwt/pull/1045&gt;`__
- Declare float supported type for lifespan and timeout by
@nikitagashkov in
`[#1068](jpadilla/pyjwt#1068)
&lt;https://github.com/jpadilla/pyjwt/pull/1068&gt;`__
- Fix ``SyntaxWarning``\s/``DeprecationWarning``\s caused by invalid
escape sequences by @kurtmckee in
`[#1103](jpadilla/pyjwt#1103)
&lt;https://github.com/jpadilla/pyjwt/pull/1103&gt;`__
- Development: Build a shared wheel once to speed up test suite setup
times by @kurtmckee in
`[#1114](jpadilla/pyjwt#1114)
&lt;https://github.com/jpadilla/pyjwt/pull/1114&gt;`__
- Development: Test type annotations across all supported Python
versions,
increase the strictness of the type checking, and remove the mypy
pre-commit hook
by @kurtmckee in `[#1112](jpadilla/pyjwt#1112)
&lt;https://github.com/jpadilla/pyjwt/pull/1112&gt;`__
<p>Added
</code></pre></p>
<ul>
<li>Support Python 3.14, and test against PyPy 3.10 and 3.11 by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1104](jpadilla/pyjwt#1104)
&lt;https://github.com/jpadilla/pyjwt/pull/1104&gt;</code>__</li>
<li>Development: Migrate to <code>build</code> to test package building
in CI by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1108](jpadilla/pyjwt#1108)
&lt;https://github.com/jpadilla/pyjwt/pull/1108&gt;</code>__</li>
<li>Development: Improve coverage config and eliminate unused test suite
code by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1115](jpadilla/pyjwt#1115)
&lt;https://github.com/jpadilla/pyjwt/pull/1115&gt;</code>__</li>
<li>Docs: Standardize CHANGELOG links to PRs by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1110](jpadilla/pyjwt#1110)
&lt;https://github.com/jpadilla/pyjwt/pull/1110&gt;</code>__</li>
<li>Docs: Fix Read the Docs builds by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1111](jpadilla/pyjwt#1111)
&lt;https://github.com/jpadilla/pyjwt/pull/1111&gt;</code>__</li>
<li>Docs: Add example of using leeway with nbf by <a
href="https://github.com/djw8605"><code>@​djw8605</code></a> in
<code>[#1034](jpadilla/pyjwt#1034)
&lt;https://github.com/jpadilla/pyjwt/pull/1034&gt;</code>__</li>
<li>Docs: Refactored docs with <code>autodoc</code>; added
<code>PyJWS</code> and <code>jwt.algorithms</code> docs by <a
href="https://github.com/pachewise"><code>@​pachewise</code></a> in
<code>[#1045](jpadilla/pyjwt#1045)
&lt;https://github.com/jpadilla/pyjwt/pull/1045&gt;</code>__</li>
<li>Docs: Documentation improvements for &quot;sub&quot; and
&quot;jti&quot; claims by <a
href="https://github.com/cleder"><code>@​cleder</code></a> in
<code>[#1088](jpadilla/pyjwt#1088)
&lt;https://github.com/jpadilla/pyjwt/pull/1088&gt;</code>__</li>
<li>Development: Add pyupgrade as a pre-commit hook by <a
href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<code>[#1109](jpadilla/pyjwt#1109)
&lt;https://github.com/jpadilla/pyjwt/pull/1109&gt;</code>__</li>
<li>Add minimum key length validation for HMAC and RSA keys (CWE-326).
Warns by default via <code>InsecureKeyLengthWarning</code> when keys are
below</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/bd9700cca7f9258fadcc429c1034e508025931f2"><code>bd9700c</code></a>
Use PyJWK algorithm when encoding without explicit algorithm (<a
href="https://github.com/jpadilla/pyjwt/issues/1148">#1148</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/051ea341b5573fe3edcd53042f347929b92c2b92"><code>051ea34</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/1451d70eca2059bc472703692f0bb0777bc0fe93"><code>1451d70</code></a>
fix: do not store reference to algorithms dict on PyJWK (<a
href="https://github.com/jpadilla/pyjwt/issues/1143">#1143</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/f3ba74c106df9ce10e272dfaad96acb4ab3ef5a5"><code>f3ba74c</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://github.com/jpadilla/pyjwt/issues/1145">#1145</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/0318ffa7b156b01600376e38952bf961382e0724"><code>0318ffa</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://github.com/jpadilla/pyjwt/issues/1141">#1141</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/a52753db3c1075ac01337fa8b7cc92b13a19ac09"><code>a52753d</code></a>
Bump actions/download-artifact from 7 to 8 (<a
href="https://github.com/jpadilla/pyjwt/issues/1142">#1142</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/b85050f1d444c6828bb4618ee764443b0a3f5d18"><code>b85050f</code></a>
chore(tests): enable mypy (<a
href="https://github.com/jpadilla/pyjwt/issues/1138">#1138</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/1272b264779717cc481c8341f321a7fc8b3aaba6"><code>1272b26</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://github.com/jpadilla/pyjwt/issues/1135">#1135</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/99a87287c26cb97c94399084ee4186ee52207a7f"><code>99a8728</code></a>
chore: remove superfluous constants (<a
href="https://github.com/jpadilla/pyjwt/issues/1136">#1136</a>)</li>
<li><a
href="https://github.com/jpadilla/pyjwt/commit/412cb67a93363812ae4029d6a95f5d4d40ab2609"><code>412cb67</code></a>
fix: close HTTPError to prevent ResourceWarning on Python 3.14 (<a
href="https://github.com/jpadilla/pyjwt/issues/1133">#1133</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jpadilla/pyjwt/compare/2.10.1...2.12.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyjwt&package-manager=pip&previous-version=2.10.1&new-version=2.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/ROCm/rocm-libraries/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants