Skip to content

Repository files navigation

fieldenum

PyPI - DownloadsHitsCoverage StatusSponsoring

Rust-like fielded Enums (ADT) in Python

한국어로 보기

Examples

fromfieldenumimportfieldenum, Unit, Variant@fieldenumclassMessage:
Quit=UnitMove=Variant(x=int, y=int)
Write=Variant(str)
ChangeColor=Variant(int, int, int)
# Corresponding code in Rust:# enum Message {# Quit,# Move { x: i32, y: i32 },# Write(String),# ChangeColor(i32, i32, i32),# }# usagemessage=Message.Quitmessage=Message.Move(x=1, y=2)
message=Message.Write("hello, world!")
message=Message.ChangeColor(256, 256, 0)

Credits

This project is heavily influenced by Rust's Enum, and also borrows some of its design from rust_enum.

Releases

  • 0.1.0: initial release

About

Rust-like fielded Enums (ADT) in Python

Resources

Stars

33 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages