helius-python 0.3.0__tar.gz → 0.3.2__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.
- {helius_python-0.3.0 → helius_python-0.3.2}/PKG-INFO +6 -6
- {helius_python-0.3.0 → helius_python-0.3.2}/README.md +5 -5
- {helius_python-0.3.0 → helius_python-0.3.2}/pyproject.toml +1 -1
- helius_python-0.3.2/src/helius/admin/__init__.py +15 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/src/helius/laserstream/websockets.py +1 -1
- helius_python-0.3.2/src/helius/solana_rpc/__init__.py +51 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/tests/unit/admin/test_admin.py +10 -9
- helius_python-0.3.0/src/helius/solana_rpc/__init__.py +0 -5
- {helius_python-0.3.0 → helius_python-0.3.2}/.editorconfig +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/.github/workflows/python-package.yml +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/.github/workflows/python-publish.yml +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/.gitignore +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/AGENTS.md +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/CLAUDE.md +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/CONTRIBUTING.md +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/LICENSE +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/TODO.md +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/examples/block_explorer.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/examples/devnet_airdrop.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/examples/network_status.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/examples/priority_fees.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/examples/stake_overview.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/examples/token_inspector.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/examples/transaction_inspector.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/examples/wallet_tracker.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/requirements.txt +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/src/helius/__init__.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/src/helius/admin/admin.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/src/helius/rpc/__init__.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/src/helius/rpc/json_rpc_request.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/src/helius/solana_rpc/client.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/src/helius/solana_rpc/models.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/tests/fixtures/account.json +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/tests/fixtures/supply.json +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/tests/unit/lasterstream/test_websockets.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/tests/unit/rpc/test_json_rpc_request.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/tests/unit/solana_rpc/test_client.py +0 -0
- {helius_python-0.3.0 → helius_python-0.3.2}/tests/unit/solana_rpc/test_models.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: helius-python
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: Typed Python client for the Helius API
|
|
5
5
|
Project-URL: Homepage, https://github.com/markosnarinian/helius-python
|
|
6
6
|
Project-URL: Issues, https://github.com/markosnarinian/helius-python/issues
|
|
@@ -143,11 +143,11 @@ wraps it.
|
|
|
143
143
|
`programSubscribe`, and the rest) is **supported today**; other
|
|
144
144
|
platform features are **in progress**.
|
|
145
145
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
146
|
+
**Current status:** the standard Solana JSON-RPC surface, the
|
|
147
|
+
WebSocket subscription surface, and the Admin (account management)
|
|
148
|
+
usage endpoint are implemented today. Support for Helius RPC
|
|
149
|
+
extensions and the remaining REST endpoints is actively being worked
|
|
150
|
+
on.
|
|
151
151
|
|
|
152
152
|
## Goals
|
|
153
153
|
|
|
@@ -122,11 +122,11 @@ wraps it.
|
|
|
122
122
|
`programSubscribe`, and the rest) is **supported today**; other
|
|
123
123
|
platform features are **in progress**.
|
|
124
124
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
125
|
+
**Current status:** the standard Solana JSON-RPC surface, the
|
|
126
|
+
WebSocket subscription surface, and the Admin (account management)
|
|
127
|
+
usage endpoint are implemented today. Support for Helius RPC
|
|
128
|
+
extensions and the remaining REST endpoints is actively being worked
|
|
129
|
+
on.
|
|
130
130
|
|
|
131
131
|
## Goals
|
|
132
132
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from helius.admin.admin import (
|
|
2
|
+
AccountManagementClient,
|
|
3
|
+
BillingCycle,
|
|
4
|
+
ProjectUsage,
|
|
5
|
+
SubscriptionDetails,
|
|
6
|
+
Usage,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
"AccountManagementClient",
|
|
11
|
+
"BillingCycle",
|
|
12
|
+
"ProjectUsage",
|
|
13
|
+
"SubscriptionDetails",
|
|
14
|
+
"Usage",
|
|
15
|
+
]
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
from helius.solana_rpc.client import SolanaRpcClient
|
|
2
|
+
from helius.solana_rpc.models import (
|
|
3
|
+
Account,
|
|
4
|
+
Block,
|
|
5
|
+
BlockCommitment,
|
|
6
|
+
ClusterNode,
|
|
7
|
+
EpochInfo,
|
|
8
|
+
EpochSchedule,
|
|
9
|
+
InflationGovernor,
|
|
10
|
+
InflationRate,
|
|
11
|
+
InflationReward,
|
|
12
|
+
LamportAccount,
|
|
13
|
+
PerformanceSample,
|
|
14
|
+
ProgramAccount,
|
|
15
|
+
Rewards,
|
|
16
|
+
SignatureStatus,
|
|
17
|
+
Supply,
|
|
18
|
+
TokenAccount,
|
|
19
|
+
TokenAccountBalance,
|
|
20
|
+
TokenSupply,
|
|
21
|
+
Transaction,
|
|
22
|
+
TransactionMetadata,
|
|
23
|
+
TransactionSignature,
|
|
24
|
+
VotingAccount,
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
__all__ = [
|
|
28
|
+
"Account",
|
|
29
|
+
"Block",
|
|
30
|
+
"BlockCommitment",
|
|
31
|
+
"ClusterNode",
|
|
32
|
+
"EpochInfo",
|
|
33
|
+
"EpochSchedule",
|
|
34
|
+
"InflationGovernor",
|
|
35
|
+
"InflationRate",
|
|
36
|
+
"InflationReward",
|
|
37
|
+
"LamportAccount",
|
|
38
|
+
"PerformanceSample",
|
|
39
|
+
"ProgramAccount",
|
|
40
|
+
"Rewards",
|
|
41
|
+
"SignatureStatus",
|
|
42
|
+
"SolanaRpcClient",
|
|
43
|
+
"Supply",
|
|
44
|
+
"TokenAccount",
|
|
45
|
+
"TokenAccountBalance",
|
|
46
|
+
"TokenSupply",
|
|
47
|
+
"Transaction",
|
|
48
|
+
"TransactionMetadata",
|
|
49
|
+
"TransactionSignature",
|
|
50
|
+
"VotingAccount",
|
|
51
|
+
]
|
|
@@ -2,8 +2,7 @@ import httpx
|
|
|
2
2
|
import pytest
|
|
3
3
|
import respx
|
|
4
4
|
|
|
5
|
-
from helius.admin
|
|
6
|
-
|
|
5
|
+
from helius.admin import AccountManagementClient, ProjectUsage
|
|
7
6
|
|
|
8
7
|
PROJECT_USAGE_RESPONSE = {
|
|
9
8
|
"creditsRemaining": 487500,
|
|
@@ -41,9 +40,9 @@ def test_project_usage_parses_docs_response():
|
|
|
41
40
|
|
|
42
41
|
@respx.mock
|
|
43
42
|
def test_get_project_usage_sends_api_key_and_project_id():
|
|
44
|
-
route = respx.get(
|
|
45
|
-
|
|
46
|
-
)
|
|
43
|
+
route = respx.get(
|
|
44
|
+
"https://admin-api.helius.xyz/v0/admin/projects/{id}/usage/"
|
|
45
|
+
).mock(return_value=httpx.Response(200, json=PROJECT_USAGE_RESPONSE))
|
|
47
46
|
|
|
48
47
|
with AccountManagementClient(api_key="test") as client:
|
|
49
48
|
usage = client.get_project_usage("project-1")
|
|
@@ -57,11 +56,13 @@ def test_get_project_usage_sends_api_key_and_project_id():
|
|
|
57
56
|
|
|
58
57
|
@respx.mock
|
|
59
58
|
def test_get_project_usage_uses_default_project_id():
|
|
60
|
-
route = respx.get(
|
|
61
|
-
|
|
62
|
-
)
|
|
59
|
+
route = respx.get(
|
|
60
|
+
"https://admin-api.helius.xyz/v0/admin/projects/{id}/usage/"
|
|
61
|
+
).mock(return_value=httpx.Response(200, json=PROJECT_USAGE_RESPONSE))
|
|
63
62
|
|
|
64
|
-
with AccountManagementClient(
|
|
63
|
+
with AccountManagementClient(
|
|
64
|
+
api_key="test", project_id="default-project"
|
|
65
|
+
) as client:
|
|
65
66
|
client.get_project_usage()
|
|
66
67
|
|
|
67
68
|
assert route.calls.last.request.url.params["id"] == "default-project"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|