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. Currently this only works with nostpy-relay using kind 42021
which is an expiramental kind that only nostpy is using. However this could be compatible wit other relay implementations in the future after more testing and acceptance of the relay management event kind.
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
File details
Details for the file nostpy_gui-0.1.12.tar.gz
.
File metadata
- Download URL: nostpy_gui-0.1.12.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4258f02322456740441882cbe4e713889f49cc9d9bcb08307a01dcb2f9af621f |
|
MD5 | 0f7426f326f1c351b8a78d495bb2c3b0 |
|
BLAKE2b-256 | 5f1b6f031c6fd6ed265dcda9c94c3e65e44d5d219d6a8013e917aad957a53a39 |
File details
Details for the file nostpy_gui-0.1.12-py3-none-any.whl
.
File metadata
- Download URL: nostpy_gui-0.1.12-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aeff5bdb66add59ff449653f81c6371a285d27ae59d1c615fbc7156426cce9a1 |
|
MD5 | 9a12f134ec50847a30637559efa6dc23 |
|
BLAKE2b-256 | bd3dad2b3cae3a93a46b01967b56e7461e4f55062f39e8365495f0b9b429b124 |