alchemy_sdk_py (Beta)
An SDK to use the Alchemy API
Getting Started
Requirements
- Python 3.7 or higher
- You'll know you've done it right if you can run
python3 --versionin your terminal and see something likePython 3.10.6
- You'll know you've done it right if you can run
Installation
pip3 install alchemy_sdk_py
Quickstart
Get an API Key
After installing, you'll need to sign up for an API key and set it as an ALCHEMY_API_KEY environment variable. You can place them in a .env file if you like just please don't push the .env file to GitHub.
.env
ALCHEMY_API_KEY="asdfasfsfasf
If you're unfamiliar with environment variables, you can use the API to set the key directly using the SDK - please don't do this in production code.
from alchemy_sdk_py import Alchemy
alchemy = Alchemy(api_key="asdfasfsfasf", network="eth_mainnet")
If you have your environment variable set, and you want to use eth mainnet, you can just do this:
from alchemy_sdk_py import Alchemy
alchemy = Alchemy()
You can also set the network ID using the chainId, or hex, and even update it later.
# For Goerli ETH
alchemy = Alchemy(network=5)
# For Polygon ("0x89" is hex for 137)
alchemy.set_network("0x89")
Useage
from alchemy_sdk_py import Alchemy
alchemy = Alchemy()
current_block_number = alchemy.get_current_block_number()
print(current_block_number)
# prints the current block number
With web3.py
from alchemy_sdk_py import Alchemy
from web3 import Web3
alchemy = Alchemy()
w3 = Web3(Web3.HTTPProvider(alchemy.base_url))
Get all ERC20, value, and NFT transfers for an address
The following code will get you every transfer in and out of a single wallet address.
from alchemy_sdk_py import Alchemy
alchemy = Alchemy()
address = "YOUR_ADDRESS_HERE"
transfers, page_key = alchemy_with_key.get_asset_transfers(from_address=address)
print(transfers)
# prints every transfer in or out that's ever happened on the address
Get contract metadata for any NFT
ENS = "0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85"
contract_metadata = alchemy_with_key.get_contract_metadata(ENS)
print(contract_metadata["contractMetadata"]["openSea"]["collectionName"])
# prints "ENS: Ethereum Name Service"
What's here and what's not
What this currently has
Just about everything in the Alchemy SDK section of the docs.
Currently not implemented
-
batchRequests -
web sockets -
Notify API&filtersieeth_newFilter -
Async support - ENS Support for addresses
- Double check the NFT, Transact, and Token docs for function
- Trace API
- Debug API
Metadata
Release files for alchemy-sdk-py 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| alchemy_sdk_py-0.2.0.tar.gz | 18.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| alchemy_sdk_py-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.5 kB
Release files / alchemy_sdk_py-0.2.0.tar.gz
| Download URL | alchemy_sdk_py-0.2.0.tar.gz |
|---|---|
| Size | 18.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
175c96f50fdf459605ae15d7148a21da0d0474dfdfdbaedfa04763955c5b5e9e
|
|
BLAKE2b-256 checksum How to use checksums |
d0f1073ab1f32b4477af58b6c3b5a62976efc898ec8ddf39b5c7047d91c3b31f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.1
|
Release files / alchemy_sdk_py-0.2.0-py3-none-any.whl
| Download URL | alchemy_sdk_py-0.2.0-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
89f5bdc83756af459cba48cc12e45f0a5dad9baec61fbf34e191c21a4052081a
|
|
BLAKE2b-256 checksum How to use checksums |
382b185a3d8e9147bd8cb46756db53098c59042e99c25cede4e9b007b1623bd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.1
|