Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/monty888/nostrpy
python code and utilities for the nostr protocol WIP
https://github.com/monty888/nostrpy
nostr python
Last synced: 3 months ago
JSON representation
python code and utilities for the nostr protocol WIP
- Host: GitHub
- URL: https://github.com/monty888/nostrpy
- Owner: monty888
- License: mit
- Archived: true
- Created: 2022-02-20T10:17:42.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-01-25T12:14:54.000Z (almost 2 years ago)
- Last Synced: 2024-05-30T08:01:59.634Z (6 months ago)
- Topics: nostr, python
- Language: JavaScript
- Homepage:
- Size: 6.68 MB
- Stars: 58
- Watchers: 5
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nostr - nostrpy - relay, client, and other tooling in python (No longer being developed.) (Relays / Implementations)
README
No longer being developed.
# moved to WIP projects:
- https://github.com/monty888/monstr
- https://github.com/monty888/monstr_terminal
- https://github.com/monty888/monstr_web TODO# nostrpy
some stuff written in python for the nostr protocol developed against python v3.8.10- cmd_web, python client with web front end
- relay, relay implementation - basically working not really tested - now in monstr_terminal
- client, client pool - classes that implement the client side part of the nostr protocol for apps to be built on - very rough but working - NOW base monstr
- cmd_chat, example currently 1-1 cli chat app, partially implemented - will be monstr_terminal
- mirror_relay, mirror nostr events from one set of nostr relays to another - will be monstr_terminal
- event_view, view nostr events from the cmd line - now monstr_terminal
- poster, make posts from the cmd line - now monstr terminal# Install
> cd nostrpy
> python3 -m venv venv
> source venv/bin/activate
> pip install -r requirements.txt## Web interface ##
![alt feed page](feed_page.png "feed")
### to run ###
> python3 cmd_web.py
> options
> -- host run at a different host !important no authentication yet!! so only run at localhost or in trusted network
> as anyone who can get to the serevr can post as users!## Relay ##
> python3 run_relay.pyThe default is to run the relay at ws://localhost:8081 with an sqlite db at /home/.nostrpy/nostr-client.db, the directry and db will be created if it doesn't exist.
> python run_relay -h for other options
## Command line events view ##
live nostr events view from the command line> python3 cmd_event_view.py
> python cmd_event_view.py -h for other options
### todo
#### general
- [ ] implement postgres as data store for client
#### cmd_web.py
- [ ] settings
- [X] get
- [X] put
- [ ] get with recurse up tree to defaults
- [x] websocket for client probably shouldn't be getting opened each page but be in sharedwebworker
- [ ] enable media available from front end
- [ ] url for robos from front end
- [ ] connected relays should be being saved and on restart the same relays should be connected to
- [ ] light init mode where we only use a default relay to get relay list and then its all user choice
- [ ] boosts
- [ ] make sure the caching of profiles is working correctly and firing/listening for profile changes updates
as expected
- [ ] it should be possible to new/link to a profile that we don't yet have the profile for
, the profile may come in later e.g. when backfill is in progress#### profiles
- [ ] go properly through adding/editing profiles make sure works as expected
- [ ] add delete profile method
- [ ] add link icon to others profile page that opens up dialog to link privk#### backfill
- [ ] put relay_url.lastfill_date setting in on complete backfill and
where we have this it'll be used in place of starting at oldest db event
#### clean out
- [ ] a job that runs in the background and will clean out old events based on defined rules### bugs
- [ ] profiles only sorted as they come from db and not as new events come in