Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nostpy_cli-0.3.2.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

nostpy_cli-0.3.2-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file nostpy_cli-0.3.2.tar.gz.

File metadata

  • Download URL: nostpy_cli-0.3.2.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.4

File hashes

Hashes for nostpy_cli-0.3.2.tar.gz
Algorithm Hash digest
SHA256 a530644faf3c1723028f4649c5b2e010360ef5d40dc42a7919cc44ff093045c0
MD5 c4c4510ae7faddd75aed912bfae08f17
BLAKE2b-256 24ce5526a598b48c0c6f641f5f383240e6fe55fb1b90ea31900dc521c3dd1a8d

See more details on using hashes here.

File details

Details for the file nostpy_cli-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: nostpy_cli-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.4

File hashes

Hashes for nostpy_cli-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 37004def8ac3f6e364f47f2a3ff546c14bf8bc4489dca0804928f5dbcd2f02a1
MD5 b2eaa9feafe1b139de85756827633e0e
BLAKE2b-256 79cb6e3a069e8ffce248dee58f5c3c1757709937bb0f6fd8ff33d272e9ff1c55

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page