CLI tool for handling nostr events
Project description
nostpy-cli
nostpy-cli
is a Command Line Interface tool for sending and querying nostr events by websocket connection.
Features
- Send events to specified relays
- Query events from specified relays
- Encode/decode kind4 messages
- Supports NIP-50 searches
Prerequisites
Before installing nostpy-cli
, ensure you have Python 3.6 or higher installed on your system. You can check your Python version by running:
python3 --version
Installation
Install Using pip
To install using pip
use the command below:
pip install nostpy-cli
Build from source
Clone the Repository First, clone the repository to your local machine:
git clone https://github.com/UTXOnly/nostpy-cli.git
cd nostpy-cli
python3 -m build
pip install .
Usage
Once installed, you can run nostpy-cli
from the command line as shown below:
Send Event
To send an event:
nostpy-cli send_event -pubkey "your_public_key_hex" -privkey "your_private_key_hex" -content "your plaintext message" -tags "[['tag1', 'value1']]" -kind 4 --relay "wss://yourrelayurl.com" "wss://yoursecondrelayurl.com"
--pubkey
, --priv_key
and --relay
arguments are required, all else are optional
Example
- Send a kind 1 event with tags
nostpy-cli send_event -pubkey 5ce5b352f1ef76b1dffc5694dd5b34126137184cc9a7d78cba841c0635e17952 -privkey 2b1e4e1f26517dda57458596760bb3bd3bd3717083763166e12983a6421abc18 -content test27 -tags "[
['t', 'vvfdvfd'], ['v', 'v2']]" -kind 1 --relay wss://relay.nostpy.lol wss://relay.damus.io wss://nos.lol
- Send a kind 4 direct message
nostpy-cli send_event -pubkey 5ce5b352f1ef76b1dffc5694dd5b34126137184cc9a7d78cba841c0635e17952 -privkey 2b1e4e1f26517dda57458596760bb3bd3bd3717083763166e12983a6421abc18 -content "This is my plaintext message" -tags "[['p', '4503baa127bdfd0b054384dc5ba82cb0e2a8367cbdb0629179f00db1a34caacc']]" -kind 4 --relay wss://relay.nostpy.lol wss://relay.damus.io wss://nos.lol
Query Event
To query events:
nostpy-cli query --kinds "[1,9735]" --relay "wss://yourrelayurl.com"
--relay
field required
Example
- Query an event with search
nostpy-cli query -kinds "[31990,1]" -search "random_search" -since 1713629501 -authors npub1g5pm4gf8hh7skp2rsnw9h2pvkr32sdnuhkcx9yte7qxmrg6v4txqqudjqv --relay wss://relay.nostpy.lol
Decrypt kind4 message content
Decrypt kind4 message content by providing recipient private key hex, sender public key hex and the message ciphertext, returns the plaintext message
Example
nostpy-cli decrypt -content "kP9dCG/stpEGNTjW2/aySQ==?iv=+GCHVOBAiM9X074n1vxiFg==" -priv_key 2b1e4e1f26517dda57458596760bb3bd3bd3717083763166e12983a6421abc18 -sender_pubkey 4503baa127bdfd0b054384dc5ba82cb0e2a8367cbdb0629179f00db1a34caacc
Help
To view all available commands and their options, use the help command:
nostpy-cli -h
usage: nostpy-cli [-h] {query,send_event,decode} ...
Send and query nostr events
options:
-h, --help show this help message and exit
commands:
valid commands
{query,send_event,decode}
additional help
query Query events
send_event Send an event
decode Decode kind4 content
Example send usage: nostpy-cli send_event -pubkey "abc123..." -privkey "def456..." -content "Hello, world!" --relay "wss://example.com"
Contributing
Contributions to nostpy-cli are welcome! Please feel free to submit pull requests or open issues to report bugs or suggest enhancements.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nostpy_cli-0.3.1.tar.gz
.
File metadata
- Download URL: nostpy_cli-0.3.1.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/6.8.0 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.31.0 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a60b64c4dfc806a951e25e1b020a041cd87558a5e65d4d464bfdbe86253577c |
|
MD5 | 9fb665ff9fc605fbc304f781aa2c08f2 |
|
BLAKE2b-256 | f4a3ba24e473d387bfcbdedf1c6cd39832b42b64c6c0791bf458a716dc33b0ab |
File details
Details for the file nostpy_cli-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: nostpy_cli-0.3.1-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/6.8.0 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.31.0 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffbc169a9d590de34a3afb3c1123477788431ade7db801fe9fab0b10967f7885 |
|
MD5 | 5d9dacd75cf685e78b7fa677e7ee612a |
|
BLAKE2b-256 | 9a137375d4ba43818a3700f131b4b3866e544f4dbd73d799ecc3bfd04d959361 |