Skip to content

v0.1.2 — PyPI-ready (Loki dep externalized)

Choose a tag to compare

@maurinl26 maurinl26 released this 22 Jun 08:37

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. analyze is just more accurate when Loki is available.

  • Local development uses PEP 735 dependency groups. Run uv sync --group loki to 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/tests

See the changelog for full details.