Metadata-Version: 2.1
Name: nostpy-cli
Version: 0.2.1
Summary: CLI tool for handling nostpy events
Author-email: Brian Hartford <bh419@protonmail.com>
License: MIT
Project-URL: homepage, https://github.com/UTXOnly/nostpy-cli
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: argparse
Requires-Dist: asyncio
Requires-Dist: secp256k1
Requires-Dist: websockets

# nostpy-cli

`nostpy-cli` is a Command Line Interface tool for sending and querying nostr events by websocket connection.

## Features

- Send events to a specified relays
- Query events from relays
- Encode/decode kind4 messages
- Supports [NIP-50](https://github.com/nostr-protocol/nips/blob/master/50.md) 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, you would use a command similar to the following:

```
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, use the following command:

```
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
```
### Help
To view all available commands and their options, use the help command:

```
nostpy-cli -h
```
## 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.
