Skip to content

Replace Notion roadmap backend with GitHub - #26

Open
lukasmasuch wants to merge 1 commit into
streamlit:masterfrom
lukasmasuch:lukasmasuch/install-streamlit-env
Open

Replace Notion roadmap backend with GitHub#26
lukasmasuch wants to merge 1 commit into
streamlit:masterfrom
lukasmasuch:lukasmasuch/install-streamlit-env

Conversation

@lukasmasuch

Copy link
Copy Markdown

Summary

  • replace the Notion backend with GitHub milestones, issues, and open non-draft change:spec pull requests
  • use the generated open-issues CSV for optional issue summaries, with four-hour background caching and authenticated GitHub API requests
  • rebuild roadmap entries with native Streamlit containers, status badges, label-driven Material icons, compact GitHub links, and section anchors
  • lazily load closed milestone issues in a cached past-releases expander and link the official release notes
  • document the uv environment setup and GitHub token configuration

Testing

  • uvx ruff format --check github_roadmap.py roadmap_icons.py streamlit_app.py tests
  • uvx ruff check github_roadmap.py roadmap_icons.py streamlit_app.py tests
  • .venv/bin/python -m unittest discover -s tests -v
  • Streamlit AppTest with the past-releases expander both collapsed and opened

Copilot AI lite review requested due to automatic review settings August 23, 2026 16:17

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates the roadmap app’s data source from Notion to GitHub, building the UI from GitHub milestones/issues and open non-draft change:spec PRs, with optional issue summaries loaded from a generated CSV.

Changes:

  • Add a GitHub-backed roadmap loader (github_roadmap.py) with pagination, filtering, and optional CSV summaries.
  • Rebuild the Streamlit UI to render releases/planned/specs with containers, badges, icons, and lazy past-release loading.
  • Add label→Material icon mapping plus unit tests; update docs and dependencies accordingly.

Reviewed changes

Copilot reviewed 6 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
github_roadmap.py Implements GitHub API client, roadmap assembly, and CSV summary loading.
streamlit_app.py Replaces Notion UI with GitHub-backed rendering, caching, and lazy past releases.
roadmap_icons.py Adds deterministic label→Material icon mapping with fallbacks.
tests/test_github_roadmap.py Adds unit tests covering pagination, filtering, roadmap construction, and summaries.
tests/test_roadmap_icons.py Adds unit tests for icon mapping behavior and coverage.
tests/__init__.py Test package marker.
requirements.txt Drops Notion client and adds Requests for GitHub/CSV fetching.
README.md Updates documentation for GitHub data model and local setup with uv + token.
.gitignore Ignores environment-specific agent skill symlinks.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread github_roadmap.py
Comment on lines +18 to +21
ISSUE_SUMMARIES_URL = (
"https://raw.githubusercontent.com/streamlit/st-issues/refs/heads/main/"
"static/github_issues_open_cleaned_all_summarized.csv"
)
Comment thread github_roadmap.py
Comment on lines +325 to +331
request_session = session or requests.Session()
try:
response = request_session.get(
ISSUE_SUMMARIES_URL,
headers={"User-Agent": "streamlit-roadmap"},
timeout=REQUEST_TIMEOUT,
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants