Convert documents to Markdown (MarkItDown), package with Repomix, and serve a Streamlit UI for copyable LLM context.
Project description
Context Packager
Convert documents to Markdown (MarkItDown), package into a single LLM-ready context (Repomix), and use a sleek Streamlit UI to copy/download.
1. Quick start (uv)
macOS/Linux (full extras)
sh -c 'command -v uv >/dev/null 2>&1 || (curl -LsSf https://astral.sh/uv/install.sh | sh); PATH="$HOME/.local/bin:$PATH" uvx --python 3.12 --refresh --from "git+https://github.com/ruizmr/resume-context-builder.git@main?extra=full" resume-ui'
Windows (full extras)
powershell -NoProfile -ExecutionPolicy Bypass -Command "if (-not (Get-Command uv -EA SilentlyContinue)) { iwr https://astral.sh/uv/install.ps1 -UseBasicParsing | iex }; $env:Path = \"$env:USERPROFILE\.local\bin;$env:Path\"; uvx --python 3.12 --refresh --from 'git+https://github.com/ruizmr/resume-context-builder.git@main?extra=full' resume-ui"
Use the sidebar to upload files or point to a folder. Download/copy packaged chunks. Check "Include in knowledge base" to persist chunks and use the built-in search.
For smoother live reload and file watching, the full extras include Watchdog.
KB persistence defaults to a local SQLite file at ~/.context-packager-state/context.db. To use a shared DB, set CONTEXT_DB_URL before launching, for example on Linux/macOS:
export CONTEXT_DB_URL="sqlite:////absolute/path/to/context.db"
resume-ui
2. Install a shortcut (one-time)
Creates a persistent resume-ui command on your PATH.
macOS/Linux (full extras)
sh -c 'command -v uv >/dev/null 2>&1 || (curl -LsSf https://astral.sh/uv/install.sh | sh); PATH="$HOME/.local/bin:$PATH" uv tool install --python 3.12 --force "git+https://github.com/ruizmr/resume-context-builder.git?extra=full" && echo "Installed. Next time just run: resume-ui"'
Windows (full extras)
powershell -NoProfile -ExecutionPolicy Bypass -Command "if (-not (Get-Command uv -EA SilentlyContinue)) { iwr https://astral.sh/uv/install.ps1 -UseBasicParsing | iex }; $env:Path = \"$env:USERPROFILE\.local\bin;$env:Path\"; uv tool install --python 3.12 --force \"git+https://github.com/ruizmr/resume-context-builder.git?extra=full\"; Write-Host 'Installed. Next time just run: resume-ui'"
Next runs after install:
resume-ui
Available commands after install:
# Launch UI (Home + Manage knowledge)
resume-ui
# Convert to Markdown then upsert to KB (cron-friendly)
context-ingest "/path/to/input_dir" "/path/to/markdown_out_dir"
# Upsert existing Markdown into KB
context-upsert "/path/to/markdown_out_dir"
# Scheduler (persistent)
# Add a job that ingests every hour
context-scheduler add hourly_ingest "/path/to/input_dir" --md-out "/path/to/markdown_out_dir" --interval 60
# Or cron syntax
context-scheduler add nightly_ingest "/path/to/input_dir" --md-out "/path/to/markdown_out_dir" --cron "0 2 * * *"
# List jobs
context-scheduler list
# Remove job
context-scheduler remove hourly_ingest
# Start scheduler (blocking)
context-scheduler start
One-shot (no install):
# UI
sh -c 'command -v uv >/dev/null 2>&1 || (curl -LsSf https://astral.sh/uv/install.sh | sh); PATH="$HOME/.local/bin:$PATH" uvx --python 3.12 --refresh --from "git+https://github.com/ruizmr/resume-context-builder.git@main?extra=full" resume-ui'
# Ingest (convert + upsert)
sh -c 'command -v uv >/dev/null 2>&1 || (curl -LsSf https://astral.sh/uv/install.sh | sh); PATH="$HOME/.local/bin:$PATH" uvx --python 3.12 --refresh --from "git+https://github.com/ruizmr/resume-context-builder.git@main?extra=full" context-ingest "/path/to/input_dir" "/path/to/markdown_out_dir"'
Database configuration:
# SQLite (default)
# ~/.context-packager-state/context.db
# Postgres
export CONTEXT_DB_URL='postgresql+psycopg://user:pass@host:5432/dbname'
resume-ui
3. Troubleshooting PATH
- macOS/Linux: ensure
~/.local/binis on PATH (e.g., addexport PATH="$HOME/.local/bin:$PATH"to your shell rc). - Windows: ensure
%USERPROFILE%\.local\binis on PATH, then open a new terminal.
If resume-ui is not found right after install
- Quick fix (macOS/Linux):
source "$HOME/.local/bin/env" || { echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc; }
- Run via absolute path once:
"$HOME/.local/bin/resume-ui"
- Windows PowerShell:
& "$env:USERPROFILE\.local\bin\resume-ui.exe"
4. Reset/nuke cached install (uv)
If you’re not seeing the latest UI changes:
# Remove cached venvs and archives
uv cache prune
# Remove previously installed tool shim (optional)
uv tool uninstall resume-ui || true
# Reinstall and pin to main
sh -c 'command -v uv >/dev/null 2>&1 || (curl -LsSf https://astral.sh/uv/install.sh | sh); PATH="$HOME/.local/bin:$PATH" uvx --python 3.12 --refresh --from "git+https://github.com/ruizmr/resume-context-builder.git@main?extra=full" resume-ui'
5. Scheduler visibility and continuous sync
- Jobs added via UI or
context-scheduler addare mirrored in a lightweightjobstable for display. - Every execution (scheduled or one-off) creates a
job_runsrecord with:- status: queued, running, success, failed, cancelled
- progress: 0-100, processed/total files, chunks upserted
- recent log tail and last message
- In the UI Manage knowledge tab:
- Add job with Daily/Weekly/Monthly/Interval/Cron.
- Run now for ad-hoc runs.
- View recent runs with progress and cancel running jobs.
Environment notes:
- Set
CONTEXT_DB_URLto persist job/run history in a shared DB. - APScheduler jobs are still stored in
apscheduler_jobstable viaSQLAlchemyJobStorefor durability.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file context_packager-0.2.0.tar.gz.
File metadata
- Download URL: context_packager-0.2.0.tar.gz
- Upload date:
- Size: 41.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b68c2214bef12c7e2c796f8cae46570ec94cbf626bc25250b768eed7758d6b4c
|
|
| MD5 |
ccf4155b9ff2c615dedc342fc51c99ea
|
|
| BLAKE2b-256 |
2a6e72939ab0913b3bc070a8a6bac6b72d8f5d69256d9d4c6de8f64938ca40f2
|
File details
Details for the file context_packager-0.2.0-py3-none-any.whl.
File metadata
- Download URL: context_packager-0.2.0-py3-none-any.whl
- Upload date:
- Size: 43.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3335352ef917e7a9873c92baf640eb6fb3a81c93b0be8619a1d7b78d8455bbd8
|
|
| MD5 |
8e44c2ce81bb6fc842d4e83aac8243b4
|
|
| BLAKE2b-256 |
8bc01c9f214a6d19e4ac9e875028dd2b432a211bf5224e43c83f3cd0fc5ad59e
|