A nostr relay management client
Project description
Nostpy GUI
Nostpy GUI is a relay management client built with Tkinter. It provides an interface to manage relays, enter private and public keys, and query relay allowlists.
Features
- Manage relay allowlists
- Query relay allowlists
- Delete events from a given pubkey
- Dark mode interface
Requirements
- Python 3.7 or higher
Installation
Option 1: Install from PyPI
To install Nostpy GUI using pip:
pip install nostpy-gui
Once installed, you can start the application by simply running:
nostpy-gui
Option 2: Build and Install Locally
If you prefer to build the project locally:
- Clone the repository:
git clone https://github.com/UTXOnly/nostpy-gui.git
cd nostpy-gui
- Install dependencies:
Ensure that you have setuptools
and wheel
installed:
pip install setuptools wheel
- Build the package:
Build the package using the following command:
python3 -m build
- Install the package:
Once built, install the package locally:
pip install dist/nostpy_gui-*.whl
- Run the application:
After installation, start the application:
nostpy-gui
Usage
Once the application is running:
1. Enter Keys and Relay Information:
- Enter your relay's admin private key and public key in the designated fields
- Provide the relay URL.
2. Save the Information:
- Click "Save Keys and Relay" to store the entered data for the duration of the session
- Not stored on disk for security so you will need to enter this every time you open the client
3. Manage Relay Allowlist:
- Use the "Manage Relay Allowlist" button to modify the allowlist for the relay
- Can use to ban pubkeys or events (need to use pubkey hex, workign on adding
npub/nsec
support)
- Can use to ban pubkeys or events (need to use pubkey hex, workign on adding
4. Query Relay Allowlist:
- Use the "Query Relay Allowlist" button to view the current allowlist for the relay
Troubleshooting
This package installes cleanly on Linux systems but tkinter
is a bit finnicky on Macs and would help to run the package from a virtual environment to ensure all dependencies are met. Otherwise you might get errors like this one:
~/nostpy-gui UTXOnly/pypackagebuild*
venv ❯ nostpy-gui
Traceback (most recent call last):
File "/opt/homebrew/bin/nostpy-gui", line 5, in <module>
from nostpy_gui.main import main
File "/opt/homebrew/lib/python3.10/site-packages/nostpy_gui/main.py", line 1, in <module>
import tkinter as tk
File "/opt/homebrew/Cellar/python@3.10/3.10.14_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/tkinter/__init__.py", line 37, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'
Create a virtual environment:
python3 -m venv nostpy-env
source nostpy-env/bin/activate # On Windows use `nostpy-env\Scripts\activate`
Install the required dependencies:
Install the package in your virtual environment:
pip install nostpy-gui
- Note you may need to deactivate and reactivate your virtual environment after installing package
- You can run
deactivate
while in thenostpy-env
virtual environment and thensource nostpy-env/bin/activate
to reactivate
- You can run
Contributing
If you'd like to contribute to the project, feel free to open a pull request or file an issue on the GitHub repository: https://github.com/UTXOnly/nostpy-gui
License
This project is licensed under the MIT License. See the LICENSE
file for more 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
Hashes for nostpy_gui-0.1.11-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2533342cbc86b070c56dbe7b8f145be9b3cd3ad21c14e997eefbb1701482830d |
|
MD5 | 06b7177b8efe98eaf4751cc49473a05c |
|
BLAKE2b-256 | ae790d37c8e390a8c2256dcc8f2c996c89b81ee9622675cdaf86a0822b61a607 |