Skip to main content

No project description provided

Project description

alchemy_sdk_py (Beta)

An SDK to use the Alchemy API


Alchemy logo


Getting Started

Requirements

  • Python 3.7 or higher
    • You'll know you've done it right if you can run python3 --version in your terminal and see something like Python 3.10.6

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 & filters ie eth_newFilter
  • Async support
  • ENS Support for addresses
  • Double check the NFT, Transact, and Token docs for function
  • Trace API
  • Debug API

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alchemy_sdk_py-0.2.0.tar.gz (18.3 kB view hashes)

Uploaded Source

Built Distribution

alchemy_sdk_py-0.2.0-py3-none-any.whl (18.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page