[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10616":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":18,"lastSyncTime":34,"discoverSource":35},10616,"solana-py","michaelhly\u002Fsolana-py","michaelhly","Solana Python SDK","https:\u002F\u002Fmichaelhly.github.io\u002Fsolana-py",null,"Python",1433,344,14,50,0,1,2,6,3,20.61,"MIT License",false,"master",true,[27,28,29,30],"blockchain","python","sdk","solana","2026-06-12 02:02:24","\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fmichaelhly\u002Fsolana-py\u002Fmaster\u002Fdocs\u002Fimg\u002Fsolana-py-logo.jpeg\" width=\"25%\" height=\"25%\">\n\u003C\u002Fdiv>\n\n---\n\n[![Actions\nStatus](https:\u002F\u002Fgithub.com\u002Fmichaelhly\u002Fsolanapy\u002Fworkflows\u002FCI\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fmichaelhly\u002Fsolanapy\u002Factions?query=workflow%3ACI)\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fsolana.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fsolana)\n[![Python versions](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fsolana.svg)]( https:\u002F\u002Fpypi.python.org\u002Fpypi\u002Fsolana)\n[![Codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fmichaelhly\u002Fsolana-py\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fmichaelhly\u002Fsolana-py\u002Fbranch\u002Fmaster)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fgithub.com\u002Fmichaelhly\u002Fsolana-py\u002Fblob\u002Fmaster\u002FLICENSE)\n[![PyPI Downloads](https:\u002F\u002Fstatic.pepy.tech\u002Fbadge\u002Fsolana\u002Fmonth)](https:\u002F\u002Fclickpy.clickhouse.com\u002Fdashboard\u002Fsolana)\n\n# Solana.py\n\n**🐍 The Solana Python SDK 🐍**\n\nSolana.py is the base Python library for interacting with Solana.\nYou can use it to build transactions and interact\nwith the\n[Solana JSON RPC API](https:\u002F\u002Fdocs.solana.com\u002Fapps\u002Fjsonrpc-api),\nmuch like you would do with\n[solana-web3.js](https:\u002F\u002Fgithub.com\u002Fsolana-labs\u002Fsolana-web3.js\u002F)\n\nIt also covers the\n[SPL Token Program](https:\u002F\u002Fspl.solana.com\u002Ftoken).\n\n[Latest Documentation](https:\u002F\u002Fmichaelhly.github.io\u002Fsolana-py\u002F).\n\nNote: This library uses many core types from the [Solders](https:\u002F\u002Fgithub.com\u002Fkevinheavey\u002Fsolders) package which used to be provided by `solana-py` itself. If you are upgrading from an old version and you're looking for something that was deleted, it's probably in `solders` now.\n\n**⚓︎ See also: [AnchorPy](https:\u002F\u002Fgithub.com\u002Fkevinheavey\u002Fanchorpy),**\n**a Python client for**\n**[Anchor](https:\u002F\u002Fproject-serum.github.io\u002Fanchor\u002Fgetting-started\u002Fintroduction.html)-based**\n**programs on Solana. ⚓︎**\n\n## ⚡ Quickstart\n\n### Installation\n1. Install [Python bindings](https:\u002F\u002Fkevinheavey.github.io\u002Fsolders\u002F) for the [solana-sdk](https:\u002F\u002Fdocs.rs\u002Fsolana-sdk\u002Flatest\u002Fsolana_sdk\u002F).\n```sh\npip install solders\n```\n\n2. Install this package to interact with the [Solana JSON RPC API](https:\u002F\u002Fsolana.com\u002Fdocs\u002Frpc).\n```sh\npip install solana\n```\n\n### General Usage\n\n- [Python Cookbook](https:\u002F\u002Fmichaelhly.com\u002Fsolana-py\u002Fcookbook\u002F)\n- [Solana Cookbook](https:\u002F\u002Fsolanacookbook.com\u002F)\n\n### API Client\n\n```py\nfrom solana.rpc.api import Client\n\nhttp_client = Client(\"https:\u002F\u002Fapi.devnet.solana.com\")\n```\n\n### Async API Client\n\n```py\nimport asyncio\nfrom solana.rpc.async_api import AsyncClient\n\nasync def main():\n    async with AsyncClient(\"https:\u002F\u002Fapi.devnet.solana.com\") as client:\n        res = await client.is_connected()\n    print(res)  # True\n\n    # Alternatively, close the client explicitly instead of using a context manager:\n    client = AsyncClient(\"https:\u002F\u002Fapi.devnet.solana.com\")\n    res = await client.is_connected()\n    print(res)  # True\n    await client.close()\n\nasyncio.run(main())\n```\n\n### Websockets Client\n\n```py\nimport asyncio\nfrom asyncstdlib import enumerate\nfrom solana.rpc.websocket_api import connect\n\nasync def main():\n    async with connect(\"wss:\u002F\u002Fapi.devnet.solana.com\") as websocket:\n        await websocket.logs_subscribe()\n        first_resp = await websocket.recv()\n        subscription_id = first_resp[0].result\n        next_resp = await websocket.recv()\n        print(next_resp)\n        await websocket.logs_unsubscribe(subscription_id)\n\n    # Alternatively, use the client as an infinite asynchronous iterator:\n    async with connect(\"wss:\u002F\u002Fapi.devnet.solana.com\") as websocket:\n        await websocket.logs_subscribe()\n        first_resp = await websocket.recv()\n        subscription_id = first_resp[0].result\n        async for idx, msg in enumerate(websocket):\n            if idx == 3:\n                break\n            print(msg)\n        await websocket.logs_unsubscribe(subscription_id)\n\nasyncio.run(main())\n```\n\n## 🔨 Development\n\n### Setup\n\n1. Install [poetry](https:\u002F\u002Fpython-poetry.org\u002Fdocs\u002F#installation)\n2. Install dev dependencies:\n\n```sh\npoetry install\n\n```\n\n3. Activate the poetry shell.\n\n```sh\npoetry shell\n```\n\n### Lint\n\n```sh\nmake lint\n```\n\n### Tests\n\n```sh\n# All tests\nmake tests\n# Unit tests only\nmake unit-tests\n# Integration tests only\nmake int-tests\n```\n","Solana.py 是一个用于与 Solana 区块链进行交互的 Python SDK。它提供了构建交易和与 Solana JSON RPC API 交互的核心功能，支持 SPL Token Program 的操作。该库基于 Python 开发，使用了来自 Solders 包的核心类型，并且可以方便地集成到各种需要与 Solana 网络通信的应用中。适用于任何希望在 Python 项目中实现 Solana 区块链功能的场景，如去中心化应用开发、智能合约管理等。","2026-06-11 03:29:21","top_topic"]