Skip to content

Introduction

Python is not inherently a functional programming language. However, a functional style can often lead to clearer and more concise code.

Apfel is a small personal toolkit for research-oriented, iterative, and exploratory work. It provides helpers, data types, and containers that address practical gaps in Python while avoiding less-maintained or less-documented third-party dependencies. Expect extensive use of metaprogramming, type hints, and functional programming techniques.

  • Unpythonic. Apfel borrows best practices and API naming conventions from Rust, Haskell, R, and Julia to mitigate Python’s limitations. Go is another useful reference for simplicity and readability.
  • Type safe. Add expressive and sound type hints whenever possible.
  • Low-cost abstraction. Use the most efficient underlying implementation where practical.
  • Minimal dependencies. Keep the library almost self-contained, apart from its runtime dependency.

The apple logo uses the Noto Color Emoji font by Google.