{"library":"py-builder-signing-sdk","title":"Python Builder Signing SDK","description":"The Python Builder Signing SDK facilitates the creation and signing of builder bids and bundles for blockchain applications, specifically in the context of MEV (Maximal Extractable Value) builders. It handles the cryptographic signing processes using `eth-account` and `eip712`. The current version is 0.0.2, and it appears to follow an infrequent release cadence, typical for specialized blockchain tools.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install py-builder-signing-sdk"],"cli":null},"imports":["from builder_signing_sdk.builder import Builder","from eth_account import Account","from eth_account.signers.local import LocalAccount"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom builder_signing_sdk.builder import Builder\nfrom eth_account import Account\n\n# WARNING: In a real application, retrieve your private key securely, e.g., from environment variables.\n# DO NOT hardcode private keys in production code.\n# This is a dummy private key for demonstration purposes ONLY.\nprivate_key_env = os.environ.get('BUILDER_PRIVATE_KEY', '0x1111111111111111111111111111111111111111111111111111111111111111')\n\nif private_key_env == '0x1111111111111111111111111111111111111111111111111111111111111111':\n    print(\"WARNING: Using a dummy private key. Set BUILDER_PRIVATE_KEY environment variable for real usage.\")\n\n# Initialize an Ethereum account from the private key\naccount = Account.from_key(private_key_env)\n\n# Define your builder's name\nbuilder_name = os.environ.get('BUILDER_NAME', 'my-test-builder')\n\n# Initialize the Builder SDK\nbuilder = Builder(builder_name, account)\n\nprint(f\"Initialized Builder SDK for '{builder_name}' with Ethereum address: {account.address}\")\nprint(\"You can now use 'builder.sign_bid()' or 'builder.sign_bundle()' to sign MEV payloads.\")\n\n# Example of how you would call sign_bid (requires valid data, commented out to keep runnable):\n# signed_bid_id = builder.sign_bid(\n#     gas_limit=21000,\n#     gas_price=10**10,\n#     base_fee_per_gas=10**10,\n#     builder_eth_balance_delta=0,\n#     builder_eth_balance_after=0,\n#     block_number=12345678,\n#     tx_hash=\"0x\" + \"0\"*64, \n#     tx_eth_value=0,\n#     sender_address=account.address,\n#     destination_address=\"0x\" + \"0\"*40,\n#     mev_gas_price=0\n# )\n# print(f\"Signed dummy bid ID: {signed_bid_id}\")","lang":"python","description":"This quickstart initializes the `Builder` SDK with an Ethereum account. It demonstrates how to securely handle private keys using environment variables and provides a basic setup for signing builder bids and bundles. Note that the actual signing calls are commented out as they require valid, context-specific data.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"0.0.2","pypi_latest":"0.0.2","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.1,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"py-builder-signing-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"21.4M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"py-builder-signing-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.2,"import_time_s":null,"mem_mb":null,"disk_size":"22M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"py-builder-signing-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"23.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"py-builder-signing-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.2,"import_time_s":null,"mem_mb":null,"disk_size":"24M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"py-builder-signing-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"15.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"py-builder-signing-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.9,"import_time_s":null,"mem_mb":null,"disk_size":"16M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"py-builder-signing-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"15.1M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"py-builder-signing-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2,"import_time_s":null,"mem_mb":null,"disk_size":"16M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"py-builder-signing-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"20.7M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"py-builder-signing-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.4,"import_time_s":null,"mem_mb":null,"disk_size":"21M"}]}}