Small python library for the Signal Cli REST API
Quickstart
If you have set up the REST API already, you can start sending and receiving messages in Python!
Intialize the client
# Seperated for clarity
SERVER = "http://localhose:8080" # Your server address and port
SERVER_NUMBER ="+123456789" # The phone number you registered with the API
signal = SignalCliRestApi(SERVER,SERVER_NUMBER)
Send a message
myMessage = "Hello World" # Your message
myFriendSteve = +987654321 # The number you want to message (must be registered with Signal)
sendMe = signal.send_message(message=myMessage,recipients=myFriendSteve)
receive messages
myMessages = signal.receive(send_read_receipts=True) # Send read receipts so everyone knows you have seen their message
Endpoint progress tracking
Anything that was already part of the package before I added stuff should work, but I haven't fully tested all the ones I have added, which is why I haven't tried to merge yet! If an endpoint is not listed, assume it is not added.
General
| Service | Status | Function Name | Notes |
|---|---|---|---|
| about | Working | about() | Was already here. |
| No other general endpoints have been added. |
Devices
No device endpoints have been added.
Accounts
No accounts endpoints have been added.
Groups
| Service | Status | Function Name | Notes |
|---|---|---|---|
| GET groups | Working | list_groups() | |
| POST groups | In Progress | create_group() | Have not run into any issues yet |
| GET group | Working | get_group() | Want to try messing with the group IDs to see how it reacts |
| PUT group | Working | update_group() | Images now work |
| DELETE group | In Progress | delete_group() | Need to try deleting a group that I do not own |
| POST group admins | In Progress | add_group_admins() | Need to try different number types and formats |
| DELETE group admins | In Progress | remove_group_admins() | Need to try different number types and formats |
| POST block group | Untested | block_group() | Need a group I didn't create to test with |
| POST join group | Untested | join_group() | Need a group I didn't create to test with |
| POST group members | In Progress | add_group_members() | Need to try different number types and formats |
| DELETE group members | In Progress | remove_group_members() | Need to try different number types and formats |
| POST quit group | Untested | leave_group() | Need a group I didn't create to test with |
Messages
| Service | Status | Function Name | Description |
|---|---|---|---|
| receive | Working | receive() | Was working when I got here, added some more args and a docstring |
| send | Working* | send_message() | Have not tested with API V1 |
Attachments
| Service | Status | Function Name | Description |
|---|---|---|---|
| attachments | Working | list_attachments() | Converted to new sender |
| GET attachment | Working | get_attachment() | Converted to new sender |
| DELETE attachment | Working | delete_attachment() | Haven't touched |
Profiles
| Service | Status | Function Name | Description |
|---|---|---|---|
| profiles | Testing | update_profile | Converted to new sender, no issues yet |
Identities
| Service | Status | Function Name | Description |
|---|---|---|---|
| identities | Working | list_identities() | |
| trust identities | In Progress | verify_identity() | Not sure if this should be renamed, also had some issues with the trust all known keys |
Reactions
| Service | Status | Function Name | Description |
|---|---|---|---|
| POST reaction | Working | add_reaction() | |
| DELETE reaction | Working | remove_reaction() |
Receipts
| Service | Status | Function Name | Description |
|---|---|---|---|
| receipts | In Progress | send_receipt() |
Search
| Service | Status | Function Name | Description |
|---|---|---|---|
| search | Working* | search() | Seems to only work with numbers in your account region? |
Sticker Packs
No sticker pack endpoints have been added.
Contacts
| Service | Status | Function Name | Description |
|---|---|---|---|
| GET contacts | Working | get_contacts() | |
| POST contacts | Untested | update_contact() | Must have API set up as main device, which mine is not |
| sync contacts | Untested | sync_contacts() | Must have API set up as main device, which mine is not |
Metadata
Release files for pysignalclirestapi 0.3.25
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pysignalclirestapi-0.3.25.tar.gz | 13.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pysignalclirestapi-0.3.25-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.8 kB
Release files / pysignalclirestapi-0.3.25.tar.gz
| Download URL | pysignalclirestapi-0.3.25.tar.gz |
|---|---|
| Size | 13.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b538966e5bb1699314359827d6aea1560815eba377ae6caaa4ae4140ecefe72b
|
|
BLAKE2b-256 checksum How to use checksums |
aa531e17f9790800de3340f1a166c2370023714127d5a44404eadec8746110d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|
Release files / pysignalclirestapi-0.3.25-py3-none-any.whl
| Download URL | pysignalclirestapi-0.3.25-py3-none-any.whl |
|---|---|
| Size | 12.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ab8f68b388d48283f44c5a346c31ab0d415883e44f56f99cc0f03391e3000f01
|
|
BLAKE2b-256 checksum How to use checksums |
8db759551f6fbf58d24de61dc7ec5217b70dd76b11e051f176b4eb6e273b7573
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|