Oddbean new post about | logout
 Announcing NostrDVM 1.0.0.

After 1.5 years of experimenting, researching, and building, I'm happy to announce that NostrDVM - A Python framework to build and run Nip90 Data Vending Machines - hits version 1.0.0. 

NostrDVM allows anybody to provide both free and paid micro services on #Nostr. This ranges from content discovery algorithms to image, text or video generation, translation services, text-to-speech, speech-to-text, music generation, basically whatever you can imagine, now and in the future.

You might have come across some of these services in some of the social clients or in DVM specific clients, most likely for content discovery.

The framework handles all NIP90 logic, and manages NIP89 announcing DVMs, zaps, nutzaps, encrypted and public tasks, local databases, web of trust, NWC, outbox model, auth with filehosters and a whole bunch of other NIPs, so developers can focus to bring their existing code, models or API to Nostr. 

Tutorials to quickly start are provided on GitHub as well. 

My hope is this framework can help developers, both professional and hobby enthusiasts to build new, and enrich existing services on Nostr, improving the experience around clients for all users and compete in an open marketplace of services. I'm excited to see who will build the best content discovery algorithms, or who will provide the best AI models in the future. 

I'm grateful and l'd like to give a big thank you to nostr:nprofile1qqs8suecw4luyht9ekff89x4uacneapk8r5dyk0gmn6uwwurf6u9ruspzpmhxue69uhkumewwd68ytnrwghszxthwden5te0wfjkccte9eekummjwsh8xmmrd9skctcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhs2juazd for making it possible to focus my energy on this project in the last year. It was my pleasure and an honor. 

I will continue to maintain DVMs (actually I recently deployed them on a new, more powerful server) and the framework itself, maybe at a bit lower pace than recently, and my DMs are open if you have questions or issues building your own DVMs. 

You can install NostrDVM by running 

pip install nostr-dvm

and you can find the code/instructions and tutorials here:

https://github.com/believethehype/nostrdvm 
 Amazing! Thank you! 
 more stuff to play with. poetry + this new doodad == ? could be fun.

(ideas?) 
 python 
 This sounds awesome. I have had several ideas for DVMs but don't know how or where to get started. Hopefully this helps. Thanks. 
 If you need help getting started, let me know :) 
 Moar DVMs. 
nostr:nevent1qqsfsnprgcz6crn2z4zsvjx6mmp2r5slejtjvlgtfmagrlumq0xlk5gpzdmhxue69uhhwmm59e6hg7r09ehkuef0qgsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqrqsqqqqqp2g30jp 
 Finally we can build our own DVMs thanks nostr:nprofile1qqsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqpz9mhxue69uhkummnw3ezuamfdejj7qgswaehxw309ahx7um5wghx6mmd9uq3kamnwvaz7tmjv4kxz7fwdehhxarjwpkx2cnn9e3k7mf0hkrkkr
nostr:nevent1qqsfsnprgcz6crn2z4zsvjx6mmp2r5slejtjvlgtfmagrlumq0xlk5gpzdmhxue69uhhwmm59e6hg7r09ehkuef0qgsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqrqsqqqqqp2g30jp 
 👏🏻👏🏻👏🏻 
 Very cool man, congrats! 

Would it be possible to use with code in other languages? I recall Carman building a prototype for a DVM engine that you provided a wasm to 
 You could for example call other programs/services running locally or remote of course, for example via an API.  
 Yes, definitely. I guess my idea was to leverage this without having to touch python at all 
 Congrats man!
I'm in the process of setting up one.

The only problem I had was to get NumPy package work. It needs C extension libs which the interpreter did not find initially. I had to manually adjust the activation script and add libstdc++ shared lib to LD_LIBRARY_PATH

Anyway big props and I'll keep exploring nostr-dvm! 
 Nvm I reset on latest main and a clean venv doesn't produce this issue anymore 
 Good to hear 😊 
 Thanks for all your work my friend 🐸 
 This is awesome, looking forward to seeing more DVMs emerge from this framework

nostr:nevent1qqsfsnprgcz6crn2z4zsvjx6mmp2r5slejtjvlgtfmagrlumq0xlk5gpzpmhxue69uhkummnw3ezumt0d5hsygyehd2erjg3vcq0s3gs05clndv79a78uzdpl7qzap836s762472vspsgqqqqqqstrm3pp 
  I’d really like to be able to give you a script, a key and have my DVMs hosted, AWS-style, particularly with local access to a database of a bunch of nostr events for complex queries 🤞 
 GOD MODE

ok… but my issue will be setting up lightning payments in exchange for the DVM compute

I don’t care if it’s custodial. I just want to get sats in exchange for having a good DVM that my frens use 
 Yes, ignore the lnbits stuff and set the lightning address in the profile of the DVM manually. 
 I guess I can use my stacker news lightning address…?

Would that work?? 
 👏🏽👏🏽 
 Any good resources that would help newbies to understand what DVMs are good for and their use cases? 
 There was a podcast a while back with nostr:nprofile1qqstnem9g6aqv3tw6vqaneftcj06frns56lj9q470gdww228vysz8hqpzpmhxue69uhkummnw3ezuamfdejsz9thwden5te0v4jx2m3wdehhxarj9ekxzmnyqyt8wumn8ghj7un9d3shjtnswf5k6ctv9ehx2aq3z54ds and nostr:nprofile1qqs04xzt6ldm9qhs0ctw0t58kf4z57umjzmjg6jywu0seadwtqqc75spz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshszxnhwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mf0dv4ph5
https://www.youtube.com/watch?v=WtpY_pQ3zcI