Skip to content
This repository was archived by the owner on Feb 8, 2026. It is now read-only.

Fourth Release: Python API and Package

Choose a tag to compare

@alexjc alexjc released this 25 Oct 12:18
· 57 commits to main since this release
  • Exposing a Python runtime and API, used with "import joyfl.api as J".
  • New error types that are Joy specific so they can easily be caught.
  • Rework the architecture to break up the single-file script into components.
  • Support for "factory" terms that can inject Python object into quotations at comp-time.
  • If operators contain a dot namespace, the code auto-imports from corresponding function in libs/_{ns}.py.
  • Named-tuple for Stack object, for efficiency, easier print/debug, and better safety.
  • Allow for JOY_PATH envvar to load extension modules and the standard library.
  • Using uv for build testing, packaging and publishing.
  • Improved error handling showing Joy source more consistently.
  • Fix for win32 support when using the repl, previously broken.
  • Support fraction types when you use the unicode ⁄ separator for numerator and denominator.
  • Python-side operators use standard type annotations for ease-of-use, correctness.