Skip to content

Type-safe functional programming for Python

License

Notifications You must be signed in to change notification settings

amarshall/boiga

Repository files navigation

Boiga: type-safe functional Python

PyPI package Build Status

Unlike most functional programming and monad libraries for Python, this is well-typed thanks to PEP 484 and mypy.

Type-safety

Boiga is only as type-safe as mypy permits. However, Boiga makes every attempt to ensure maximal type-safety. This includes:

  • Enabling various mypy flags to increase strictness
  • Type-checking all test code
  • Having tests which programatically run mypy and ensure that expected type-check failures do indeed fail to type-check

Why “Boiga”?

Boiga is a genus of snake, often nicknamed “cat snakes”. The level of functional category theory in this library is perhaps “un-Pythonic”. But it’s still a snake, just not a Python—a cat-eyed snake, perhaps. Also, most of the obvious package names were already taken.

Mypy bugs found