A statically-typed Pythonic language for .NET
# hello.spy
def greet(name: str) -> str:
return f"Hello, {name}!"
def main():
print(greet("World"))$ sharpyc run hello.spy
Hello, World!Requires .NET 10.0 SDK.
dotnet tool install -g sharpycEach GitHub release also ships a self-contained
sharpyc-<rid>.tar.gz / .zip that starts without any .NET install. Compiling needs nothing else;
sharpyc run needs the .NET 10 runtime to start
the program, and --self-contained or a .spyproj with <PackageReference> items need the .NET 10
SDK. Without them those commands stop before compiling with SPY0913, naming what to install.
git clone https://github.com/antonsynd/sharpy.git
cd sharpy
dotnet build sharpy.sln
dotnet run --project src/Sharpy.Cli -- run hello.spy- Documentation Site — language reference, stdlib API, tooling
- Playground — try Sharpy in the browser
- Language Specification
- VS Code Extension — syntax highlighting, LSP integration
- Editor Integration — Neovim, Emacs, Sublime Text, Helix, Zed
- Contributing
- GitHub Issues — bug reports, feature requests
- GitHub Discussions
Licensed under either of Apache License, Version 2.0 or MIT License at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project shall be dual licensed as above, without any additional terms or conditions.