Seahorse lets you write Solana programs in Python. It is a community-led project built on Anchor.
Developers gain Python's ease-of-use, while still having the same safety guarantees of every Rust program on the Solana chain. Low-level memory problems are handled by default, letting you worry about the important stuff.
The Seahorse compiler generates intermediate Rust artifacts and uses Anchor to do some of the heavy lifting.
Seahorse is beta software. Many features are unimplemented and it's not production-ready.
Here's a very simple program that does something similar to the classic FizzBuzz problem.
```py
#
from seahorse.prelude import *
declare_id('Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS')
class FizzBuzz(Account): fizz: bool buzz: bool n: u64
@instruction def init(owner: Signer, fizzbuzz: Empty[FizzBuzz]): fizzbuzz.init(payer = owner, seeds = ['fizzbuzz', owner])
@instruction def do_fizzbuzz(fizzbuzz: FizzBuzz, n: u64): fizzbuzz.fizz = n % 3 == 0 fizzbuzz.buzz = n % 5 == 0 if not fizzbuzz.fizz and not fizzbuzz.buzz: fizzbuzz.n = n else: fizzbuzz.n = 0 ```
This shows some basic Seahorse functionality, like account initialization and creating instructions. For more, check out Calculator: Your first Seahorse program or other examples here.