Skip to content

v0.10.0 — Install from GitHub with one command

Choose a tag to compare

@xhighhongo41 xhighhongo41 released this 16 Aug 11:30
· 77 commits to main since this release
8028493

v0.10 turns eeANE into an installable Python package: one command installs it straight from this repository, eeane compile / eeane serve run as regular installed commands, and a crash affecting Python 3.12+ environments is fixed.

Install from GitHub

uv tool install "eeane[compile] @ git+https://github.com/xhighhongo41/eeANE@v0.10.0"

installs eeANE together with everything needed to both compile models and serve them — no clone, no manual environment. pipx and plain pip + venv work too, and a lightweight server-only variant keeps the installed environment down to eeANE's five runtime dependencies; the README's new Installation section covers all four. Every documented command is verified against a fully fresh environment: install → eeane compile → eeane serve → the complete verification suite passes with no reliance on any pre-existing cache.

The eeane command

The package now installs an eeane console command (serve, check-config, compile) and a top-level --version flag. python -m eeane and python -m eeane.server keep working as backward-compatible aliases, and the development workflow (clone + uv sync) is unchanged, documented in the README's new Development section.

Python 3.12+ crash fix

On CPython 3.12 and later, the server crashed a few seconds after its first prediction: Core ML releases the feature values wrapping a prediction's inputs from an internal dispatch queue that has no Python thread state, and on 3.12+ the final release of the backing numpy buffers from that thread takes the process down. The engine now keeps each compiled model's most recent inputs referenced and quarantines replaced or unloaded ones for a grace period, so the final release always happens on a Python thread holding the GIL. Verified live on Python 3.12 (server survives single and repeated requests; full verification suite passes) with no change in behavior on 3.11.

CI

A new install job builds the wheel and sdist, verifies the wheel ships only the eeane package, smoke-tests it in an isolated environment, and installs it with plain pip from both the checkout and a git URL.

Requires Python 3.11 or 3.12 (uv resolves one automatically; pipx and pip + venv need you to provide it), an Apple Silicon Mac on macOS 13+, and Xcode Command Line Tools for compiling models.

🤖 Generated with Claude Code