{"id":22997,"library":"xrpl-py","title":"xrpl-py","description":"A complete Python library for interacting with the XRP Ledger, supporting wallets, transactions, and network communication. Currently at version 4.5.0, with active development and a release cadence of roughly monthly.","status":"active","version":"4.5.0","language":"python","source_language":"en","source_url":"https://github.com/XRPLF/xrpl-py","tags":["xrp","xrpl","ripple","blockchain","cryptocurrency"],"install":[{"cmd":"pip install xrpl-py","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"","wrong":"","symbol":"xrpl","correct":"import xrpl"},{"note":"Wallet is in the wallet subpackage","wrong":"from xrpl import Wallet (causes AttributeError)","symbol":"Wallet","correct":"from xrpl.wallet import Wallet"},{"note":"","wrong":"from xrpl import XRPClient (causes AttributeError)","symbol":"XRPClient","correct":"from xrpl.clients import XRPClient"}],"quickstart":{"code":"import xrpl\nfrom xrpl.clients import XRPClient\nfrom xrpl.wallet import Wallet\n\nclient = XRPClient(json_rpc_url='https://s.altnet.rippletest.net:51234')\nwallet = Wallet.create()\nprint(f'Classic address: {wallet.classic_address}')\nprint(f'Seed: {wallet.seed}')","lang":"python","description":"Create a testnet client and a new wallet."},"warnings":[{"fix":"Update imports to use new class names: from xrpl.models.transactions import PaymentTx","message":"In v4.0.0, the transaction model classes were renamed (e.g., Payment became PaymentTx). Code using old names will break.","severity":"breaking","affected_versions":"<4.0.0"},{"fix":"Use from xrpl.wallet import Wallet","message":"In v4.0.0, the Wallet class moved from xrpl.core to xrpl.wallet and its constructor changed. Import from xrpl.wallet instead.","severity":"breaking","affected_versions":"<4.0.0"},{"fix":"Use from xrpl.asyncio.clients import WebsocketClient","message":"xrpl.clients.websocket_client.WebsocketClient is deprecated. Use xrpl.asyncio.clients.WebsocketClient instead.","severity":"deprecated","affected_versions":">=4.0.0"},{"fix":"Use xrpl.transaction.submit_and_wait(...) to handle signing and submission.","message":"Do NOT use xrpl.clients.JsonRpcClient for signing transactions; it's only for submitting. Use xrpl.transaction.submit_and_wait for full lifecycle.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use from xrpl.wallet import Wallet","cause":"Importing Wallet directly from the top-level xrpl package.","error":"AttributeError: module 'xrpl' has no attribute 'Wallet'"},{"fix":"pip install xrpl-py","cause":"Library not installed or not activated in current virtual environment.","error":"ModuleNotFoundError: No module named 'xrpl'"},{"fix":"Ensure the seed is a valid XRPL family seed (starts with 's') and use Wallet.from_seed(seed)","cause":"Using an incorrect seed format or trying to recover a wallet from an invalid family seed.","error":"ValueError: The secret is invalid."}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}