Skip to content

feat: require Python 3.14 (STL release) + unconditional video + EPUB scoping#2138

Open
skilfoy wants to merge 8 commits into
Graphify-Labs:v8from
skilfoy:feat/stl-3.14
Open

feat: require Python 3.14 (STL release) + unconditional video + EPUB scoping#2138
skilfoy wants to merge 8 commits into
Graphify-Labs:v8from
skilfoy:feat/stl-3.14

Conversation

@skilfoy

@skilfoy skilfoy commented Jul 23, 2026

Copy link
Copy Markdown

Summary

  • Bumps minimum Python to 3.14 (the "STL release")
  • Makes [video] extra unconditional (faster-whisper no longer gated behind python_version >= '3.11')
  • Removes all python_version conditionals and legacy 3.10/3.11/3.13 shims
  • Updates Ruff, Pyright, and CI matrix
  • Adds proper classifiers
  • Cleans README version references
  • Adds docs/epub-scoping.md with full plan for dedicated semantic EPUB ingestion (separate follow-up PR)

Full test suite on 3.14.3: 3449 passed, 165 skipped, 6 unrelated pre-existing failures (ollama + install_references tests).

Targeted PPTX/transcribe/extract tests: all green on 3.14.3.

Motivation

Python 3.10 reaches EOL in October 2026. This gets us to a modern baseline with unconditional high-quality local video transcription — critical for treating video archives as first-class citizens in the knowledge graph.

Changes

  • requires-python = ">=3.14"
  • Video extra and all extra cleaned
  • CI now only tests 3.14
  • etc. (see commits)

Testing

  • Verified running on CPython 3.14.3
  • Ruff clean
  • Full suite + targeted green (modulo known unrelated noise)

This is a breaking change for anyone still on <3.14.

Next: dedicated EPUB semantic ingestion PR (scoping doc included here).

skilfoy added 4 commits July 23, 2026 03:18
Add first-class PowerPoint ingestion that preserves slide structure, notes,
charts, diagrams, images, audio/video, and attachments without python-pptx.

Hardens converter caches (limits + artifact integrity), transcript cache
keys (content/model/prompt), incremental liveness, and agent transcription
workflows. Closes the gap tracked by Graphify-Labs#1573 and supersedes the thinner
text-only approach in Graphify-Labs#1821.
- Bumps requires-python to >=3.14
- Makes [video] extra unconditional (faster-whisper always available)
- Removes all python_version markers (tomli, leiden, svg, video)
- Updates Ruff target-version and Pyright pythonVersion
- Collapses CI matrix to ["3.14"]
- Cleans legacy 3.10/3.11 comments

Unconditional local video transcription for graph knowledge bases.
Running clean on 3.14.3.

STL release, baby.
…UB scoping doc

- Classifiers for 3.14
- Updated table + leiden description for STL release
- docs/epub-scoping.md (full semantic, safety-first, separate-PR plan)
Copilot AI review requested due to automatic review settings July 23, 2026 17:20

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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

skilfoy added 4 commits July 23, 2026 12:28
- New graphify/epub.py with safe ZIP + defusedxml OPF/spine parsing
- Chapter text extraction, crude media discovery (images/audio/video)
- Manifest + sidecar output
- Wired into detect.py (special case like PPTX, .epub in OFFICE_EXTENSIONS)
- Unconditional video support benefits apply (3.14+)
- Smoke-tested import and basic structure

Follow-up will add more robust XHTML parsing, better media href resolution,
adversarial tests, and full provenance matching PPTX quality.

Part of STL 3.14 work + EPUB semantic extraction.
- Use stdlib HTMLParser for better text/title/media extraction from XHTML
- Proper relative href resolution
- OPF metadata (title, creator, language) in manifest
- Per-chapter titles + richer Markdown
- Improved manifest with chapter details and source_part
- Expanded tests with multiple synthetic EPUB fixtures (order, titles, media routing, errors)
- Added EPUB cleanup call in detect.py
- All targeted tests (epub + presentation) green on 3.14.3

Bumped converter to v2.
- Bump defaults: claude-sonnet-5, gpt-5.6-mini, gemini-3.5-flash (and equivalents)
- Raise default _MAX_IMAGE_BYTES to 32MB, add GRAPHIFY_MAX_IMAGE_MB
- Make _MAX_IMAGES_PER_CHUNK auto-configured by backend + token_budget (env override only)
- Update README (env table, vision section, recommendations)
- Refresh skill.md and test compatibility
- Clean stale 4.x/4o references

This aligns skill mode (Hermes etc.) and headless with current models and better vision handling for images/PPTX/EPUB.
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