🎉 Announcement 🎉 Version 0.1 of ezdvm is out!

You can now quickly put any python code behind a DVM.

Steps:

1. pip install ezdvm

2. make your dvm class extend the EZDVM class

3. drop any python code into the do_work() function

4. set the kinds you want to respond to, relays, and then run it!

https://github.com/dtdannen/ezdvm

Payment support and other features on the way.

Reply to this note

Please Login to reply.

Discussion

great work!

Nice! I wanted to build this for myself to make it easier to build out more DVMs, but you beat me to it!

Great work, looking forward to trying it out 👊

After I got some practice with nostr_sdk python bindings, I figured I'd attempt at writing a DVM from scratch. nostr:npub1drvpzev3syqt0kjrls50050uzf25gehpz9vgdw08hvex7e0vgfeq0eseet has done an awesome job with that library, especially now that it's async it's fantastic to read. I do think we need better python documentation with examples for all the features. The examles are good, just not complete. I end up asking an LLM to translate the underlying rust code for me to figure out exactly how to use the functions that aren't in examples.

I'd still say you should make your own DVM implementation! Especially since there will be a wide variety of DVMs, and I expect there will become different libraries to support different DVM types

ugh, typo "fantastic to read" --> "fantastic to use"

could this be used for "give me some great notes about #topic" type of queries? or "give me some great notes" (without a topic). kind of like discovery engine.

It should - you would need to write the code that pulls nostr events and arranges them in the order you want, and then just return that list in the do_work() function. Then it will be put into the 'content' tag of the final result, just like this (see the 'content' field at the bottom): https://dvmdash.live/event/eeda84db9dbd672b7222643a61247e1c286548768beaedebf4b083a2dad973d0/

love the title!