v0.1.2 — PyPI-ready (Loki dep externalized)
Patch release that unblocks the first PyPI upload.
Why this release
PyPI's PEP 715 enforcement rejected the v0.1.0 and v0.1.1 wheels with 400 Can't have direct dependency: loki @ git+https://github.com/ecmwf-ifs/loki@0.3.7. ECMWF Loki is not published on PyPI under that name (the PyPI loki is an unrelated astronomy package), and PEP 715 forbids git+https://… URLs in Requires-Dist.
What changed
-
Loki is no longer a declared dependency. Users install it manually in a second step:
pip install fortranspire pip install "loki @ git+https://github.com/ecmwf-ifs/loki@0.3.7"The parser already falls back to a regex frontend when Loki is missing, so the package imports cleanly without it.
analyzeis just more accurate when Loki is available. -
Local development uses PEP 735 dependency groups. Run
uv sync --group lokito pull Loki in for local work; this metadata is not part of the PyPI release. -
README + installation docs rewritten with the new two-step install and an explanatory callout on why Loki is separate.
Install
pip install fortranspire==0.1.2
pip install "loki @ git+https://github.com/ecmwf-ifs/loki@0.3.7"Or with extras:
pip install "fortranspire[gpu]==0.1.2" # Phase 1 transformations
pip install "fortranspire[mcp]==0.1.2" # MCP HTTP/SSE server
pip install "fortranspire[all]==0.1.2" # everything except docs/testsSee the changelog for full details.