This is very cool 🤙
What do you mean by “Pure Python”? C Python with no dependencies? Or something like MicroPython?
Very basic cashu wallet in Python and Kivy. Just sending and receiving ecash tokens for now. You can receive from different mint, but there's no way to select.
But the point is not to create another cashu wallet, there are many good ones, but to be able to communicate with the mint through Reticulum based mesh network (that's why I needed pure Python, because that's how you send LXMF messages now).
If interested, give it a star and watch how I develop it:
https://github.com/jooray/nutband
Pull requests welcome.
This is very cool 🤙
What do you mean by “Pure Python”? C Python with no dependencies? Or something like MicroPython?
That I have written only Python code and nothing else. No GUI, no glue, nothing.
Of course there’s a lot of libraries in C (which is a problem for me and the reason why I can’t make it run natively on Mac now).
Got it. It’s early days, but you might be interested in PyScript - a Python distribution that compiles to WASM.
I don’t know about Kivy or Wheel, but it looks like your only other dependency is Cashu, which I know uses Pydantic under the hood. Since Pydantic 2.0 is written in Rust, that too should compile to WASM.
PyScript is pretty browser-focused, so it may not be the best for this project… but there are other efforts to make Python compile to WASM, which can “run anywhere”
With buildozer and kivy, you run one command and get an APK.
Although I need to make some recipes for two extensions that depend on C code.
Not sure what Nutshell uses under the hood. The problem is the C dependency for the curve and things like bitarray. Unfortunately cashu Nutshell depends on C extensions.