Add README banner image#239
Conversation
Composite banner stitched from four sim projection JPGs already in docs/images/ (SIMBA, THESAN, FLAMINGO, TNG100) with a cream "scida" title and tagline overlay. Generator script in scripts/ rebuilds the banner from the source projections. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a3960c0a4d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| @@ -1,5 +1,7 @@ | |||
| # scida | |||
|
|
|||
|  | |||
There was a problem hiding this comment.
Use an absolute URL for the README banner image
This adds a relative image path (docs/images/banner.png) to README.md, but the project metadata publishes this file as the PyPI long description (pyproject.toml sets readme = "README.md"), where relative image paths are not resolved against the GitHub repo. As a result, the banner renders as a broken image on PyPI for every release unless the link is rewritten to an absolute GitHub/raw URL (or processed during packaging).
Useful? React with 👍 / 👎.
pyproject.toml ships README.md as the PyPI long description, and PyPI does not resolve relative image paths against the source repo, so the banner would 404 on the PyPI project page. Switching to an absolute raw.githubusercontent.com URL renders correctly on both PyPI and GitHub. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
README.md, stitched from the four sim projection JPGs already indocs/images/(SIMBA / THESAN / FLAMINGO / TNG100) with a creamscidatitle and tagline overlay.scripts/generate_banner.py, the Pillow-based generator that rebuilds the banner from the source projections. Font resolution goes throughmatplotlib.font_manager, so no venv-specific paths are baked in.*.pngignore rule.Test plan
uv run python scripts/generate_banner.pyregenerates the banner identically (deterministic — no randomness in the pipeline).🤖 Generated with Claude Code