Skip to main content

A 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

  • Enter and save relay private/public keys and relay URLs.
  • Manage relay allowlists.
  • Query relay allowlists.
  • 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:

  1. Clone the repository:
git clone https://github.com/UTXOnly/nostpy-gui.git
cd nostpy-gui
  1. Install dependencies:

Ensure that you have setuptools and wheel installed:

pip install setuptools wheel
  1. Build the package:

Build the package using the following command:

python3 -m build
  1. Install the package:

Once built, install the package locally:

pip install dist/nostpy_gui-*.whl
  1. 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)

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 the nostpy-env birtual environment and then source nostpy-env/bin/activate to reactivate

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


Download files

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

Source Distribution

nostpy_gui-0.1.8.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

nostpy_gui-0.1.8-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file nostpy_gui-0.1.8.tar.gz.

File metadata

  • Download URL: nostpy_gui-0.1.8.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for nostpy_gui-0.1.8.tar.gz
Algorithm Hash digest
SHA256 a418e712edd16a9af3fe945820c4b43b91baf571ffcc8a2d0b03f8a8dbf2b9e6
MD5 1fc40f2a12f51d5f0d9a82010abdcd28
BLAKE2b-256 b0e1c9e3c3c7b6dfdb48533fcc3e12e77c2ecf32e8f4221f733fe6245555bfc6

See more details on using hashes here.

File details

Details for the file nostpy_gui-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: nostpy_gui-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for nostpy_gui-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 16d8dfdb83f38033de0aa68dd65637d7a833a2ae6b1f6bc2ae8f1291f87490d5
MD5 35426b0804d03e87bd9fb8ae91b8121c
BLAKE2b-256 24ab54bba8f24ebcc96933b598ce6a7ad0d24c0bb6ba2cb6a9949089e5a6dea8

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