项目地址
https://github.com/newdee/typeric
类别
Python
项目标题
Python 实用类,如 rust 风格的 Result 和 Option 等
项目描述
typeric 是一个面向 Python 的实用类型工具包,专注于清晰性、安全性和易用性。它最初是为了提升我个人的开发体验而构建的,但我也希望它能对他人有所帮助。
目前,typeric 提供了轻量且支持模式匹配的类型,比如 Result 和 Option —— 设计灵感来自 Rust 。未来还计划引入更多常见的类型模式和错误处理抽象。
亮点
- ✅ 函数式风格的
Result类型:Ok(value)和Err(error) - 🌀 轻量级
Option类型:Some(value)和NONE - 🧩 支持模式匹配(通过
__match_args__) - 🔒 不可变设计,提供
.map()/.map_err()/.unwrap()/.unwrap_or()等辅助方法 - 🔧 简洁的类型签名:
Result[T, E]和Option[T] - 🛠️ 易于扩展 —— 更多类型工具即将推出
示例代码
### `Result`
from typeric.result import Result, Ok, Err
def parse_number(text: str) -> Result[int, str]:
try:
return Ok(int(text))
except ValueError:
return Err("Not a number")
match parse_number("42"):
case Ok(value):
print("Parsed:", value)
case Err(error):
print("Failed:", error)
### `Option`
from typeric.option import Option, Some, NONE
def maybe_get(index: int, items: list[str]) -> Option[str]:
if 0 <= index < len(items):
return Some(items[index])
return NONE
match maybe_get(1, ["a", "b", "c"]):
case Some(value):
print("Got:", value)
case NONE:
print("Nothing found")