Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .github/workflows/claude-code-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:

jobs:
claude-review:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
permissions:
contents: read
Expand All @@ -24,5 +25,11 @@ jobs:
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
plugin_marketplaces: 'https://github.com/anthropics/claude-code.git'
plugins: 'code-review@claude-code-plugins'
prompt: |
Review this pull request for the pyhive-integration Python library. Check for:
- Correctness: logic errors, incorrect async/await usage, blocking calls in async context
- Type annotations: missing or incorrect types on public methods
- Security: no secrets in code, safe HTTP and Cognito API call patterns
- Style: snake_case naming, no unused imports, ruff/pylint compliance
- Tests: are new features or bug fixes covered by tests?
Post inline comments on specific lines where relevant. Be concise.
4 changes: 2 additions & 2 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ jobs:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
pull-requests: write
issues: write
id-token: write
actions: read
steps:
Expand Down
124 changes: 63 additions & 61 deletions .secrets.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -264,146 +264,148 @@
],
"src/api/hive_auth_async.py": [
{
"type": "Hex High Entropy String",
"type": "Secret Keyword",
"filename": "src/api/hive_auth_async.py",
"hashed_secret": "5dc786e32e3a0a4611daaf397721c6ef64cd71b0",
"is_verified": false,
"line_number": 48
},
{
"type": "Secret Keyword",
"filename": "src/api/hive_auth_async.py",
"hashed_secret": "ac9f290e69cee683ba3c63461f1f3fa02765032a",
"is_verified": false,
"line_number": 49
},
{
"type": "Secret Keyword",
"filename": "src/api/hive_auth_async.py",
"hashed_secret": "351b174ccf89601f6f4bd3f3970a4aba7d17c98e",
"is_verified": false,
"line_number": 52
},
{
"type": "Secret Keyword",
"filename": "src/api/hive_auth_async.py",
"hashed_secret": "576956b5291ac38d04ef5f82cc974286a857f0b2",
"is_verified": false,
"line_number": 109
}
],
"src/api/srp_crypto.py": [
{
"type": "Hex High Entropy String",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "3e619ee0820ecf213c2f38c634e416b53defe3b0",
"is_verified": false,
"line_number": 35
"line_number": 11
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "b8e0d506d969f09a9af89ce89fd9759b72c63262",
"is_verified": false,
"line_number": 36
"line_number": 12
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "e97a751edc71e9afbe0c0f63ec94873392833f9f",
"is_verified": false,
"line_number": 37
"line_number": 13
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "92488c021dd524a2f4e116666b3645308fa0e35c",
"is_verified": false,
"line_number": 38
"line_number": 14
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "d4571e2f026f458aecd2950b0eb6aec190276177",
"is_verified": false,
"line_number": 39
"line_number": 15
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "8109d3c2f659f13cb61fc9e71eed574efe8c8fd8",
"is_verified": false,
"line_number": 40
"line_number": 16
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "08cac7461d7b624b88c53ee47da09cbbb84ea290",
"is_verified": false,
"line_number": 41
"line_number": 17
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "95523fea7e6136c6148299dcc3077debfa2976b3",
"is_verified": false,
"line_number": 42
"line_number": 18
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "c978fb77621e86f5e9077653fe5345ac1616b466",
"is_verified": false,
"line_number": 43
"line_number": 19
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "fc02990268ecf8a35a4912d60dab3754e5f43846",
"is_verified": false,
"line_number": 44
"line_number": 20
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "2c2c0ca491a73e95c8965b6641731057b65f6462",
"is_verified": false,
"line_number": 45
"line_number": 21
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "672b25c6be065170206f3fc6346ebb8e84cbb9d3",
"is_verified": false,
"line_number": 46
"line_number": 22
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "99d02e268ea3ee849fb6e359c6c1b019e4d07efd",
"is_verified": false,
"line_number": 47
"line_number": 23
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "e677fc4cb09d99e1e0d30af31f2e209e541e380e",
"is_verified": false,
"line_number": 48
"line_number": 24
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "05b69b06f40cae0c910a15b1ac75b1f7a847eccb",
"is_verified": false,
"line_number": 49
"line_number": 25
},
{
"type": "Hex High Entropy String",
"filename": "src/api/hive_auth_async.py",
"filename": "src/api/srp_crypto.py",
"hashed_secret": "c7f914bac2d66eb3f8ae3888fa47bf1ada6caaf5",
"is_verified": false,
"line_number": 50
},
{
"type": "Secret Keyword",
"filename": "src/api/hive_auth_async.py",
"hashed_secret": "5dc786e32e3a0a4611daaf397721c6ef64cd71b0",
"is_verified": false,
"line_number": 61
},
{
"type": "Secret Keyword",
"filename": "src/api/hive_auth_async.py",
"hashed_secret": "ac9f290e69cee683ba3c63461f1f3fa02765032a",
"is_verified": false,
"line_number": 62
},
{
"type": "Secret Keyword",
"filename": "src/api/hive_auth_async.py",
"hashed_secret": "351b174ccf89601f6f4bd3f3970a4aba7d17c98e",
"is_verified": false,
"line_number": 65
},
{
"type": "Secret Keyword",
"filename": "src/api/hive_auth_async.py",
"hashed_secret": "576956b5291ac38d04ef5f82cc974286a857f0b2",
"is_verified": false,
"line_number": 121
"line_number": 26
}
]
},
"generated_at": "2026-05-09T10:54:47Z"
"generated_at": "2026-05-09T22:13:38Z"
}
16 changes: 16 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,22 @@
"/pyhiveapi/api/",
additional_replacements={"apyhiveapi": "pyhiveapi"},
),
unasync.Rule(
"/apyhiveapi/devices/",
"/pyhiveapi/devices/",
additional_replacements={
"apyhiveapi": "pyhiveapi",
"asyncio": "threading",
},
),
unasync.Rule(
"/apyhiveapi/session/",
"/pyhiveapi/session/",
additional_replacements={
"apyhiveapi": "pyhiveapi",
"asyncio": "threading",
},
),
]
)
},
Expand Down
Loading
Loading