mirror of
https://github.com/status-im/status-python-sdk.git
synced 2026-08-30 21:51:14 +00:00
f97f6b66b640b224eb211cb660e77ae9608cb1c9
Status Python SDK
The initial Python Status Backend was built with testing in mind, instead of easy developer access. The objective of this repository is to make a SDK that is:
- light - as less external packages when it comes to working with Status App
- fast - quick to get started with Status Python
- documented - clear explanations of what was done and why it was done in a specific way.
Currently this repository is not on PyPi but will be added when core functionality has been devleoped and tested.
How it works
graph TB
subgraph backend[status-im/status-go]
subgraph Endpoints[Network: status-bridge]
RPC[RPC]
HTTP[REST]
SOCKET[Web Socket]
end
Vol[(Backup)]
end
subgraph bot[Python SDK]
REQUIREMENTS[requirements.txt]
SDK[class Account]
SIGNAL[class Signal]
end
subgraph external[External Services]
COINGECKO[CoinGecko]
EVM
end
SDK --> SIGNAL
SDK --> |Port 8080| RPC
SDK --> |Port 8080| HTTP
SIGNAL --> |Port 8080| SOCKET
SDK --> Vol
RPC --> |coingecko_api_key| COINGECKO
RPC --> |infura_token| EVM
Setup
To access Python funcitonality you will have to set up Status Backend. Easiest and fastest way to get it running would be with Docker.
sequenceDiagram
actor User
participant Docker
participant Python@{"alias": "status-im/status-bot"}
participant Github@{"alias": "status-im/status-go" }
User ->> Docker: docker-compose up
Docker ->> Github: Fetch Image
Docker ->> Docker: Build
User ->> Docker: Run container
User ->> Python: initialize module
Note over User,Python: from bot import Account<br>account = Account()
Docker
Setup status-im/status-go with the provided docker-compose.yaml file.
docker compose up -d
Note: To run on Windows, please make sure you clone status-im/status-go and change the context to the folder. If you do not want to clone the repository, make sure you have set up WSL and started it.
Python
- Setup environment. Conda example:
conda create -n status-sdk python=3.12
Note: Code has been tested with Python 3.12.
- Install requirements
pip install -r ./requirements.txt
Languages
Python
100%
