DepTime

io.github.cschmertz由 GitHub 帳號 cschmertz 發布v0.1.8更新於 Nov 7, 2026

What changed in a Python library, in which release, and what replaces it. Answered locally.

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

本機 MCP 伺服器,讓程式設計助理查出某個 Python 套件改了什麼、在哪個版本改的、該用什麼取代。

可以做什麼
  • 解析錯誤堆疊:找出套件、符號與造成破壞性變更的版本,並提供替代方案與可回復的版本
  • 查詢某個符號在各版本間的歷史,避免憑記憶使用 API
  • 依指定版本預先檢查符號與關鍵字參數是否可用
  • 比對兩個版本,或比對某個日期以來的所有變更,可限定為實際用到的符號
  • 列出已建立索引的套件,每個答案都附上證據與信心程度
適用情境
當助理在快速演進的 Python 套件上遇到 ImportError、AttributeError 或非預期的關鍵字參數時,或在規劃升級、想了解模型訓練截止之後有哪些變更時使用。
執行需求
透過 uvx 以 stdio 在本機執行(需要 uv)。首次啟動會從 GitHub Releases 下載預先建好的索引,之後每天最多檢查一次更新;設定 DEPTIME_OFFLINE=1 可完全離線。DEPTIME_HOME 指定索引存放位置(預設 ~/.cache/deptime)。不需要帳號或 API 金鑰。
安裝前請注意
專案仍在 alpha 階段,索引只涵蓋部分快速變動的套件,未涵蓋時會明確說明而不猜測。預設會連線 GitHub 下載與更新索引,若要完全離線請設定 DEPTIME_OFFLINE=1。首次啟動時 uvx 安裝相依套件可能逾時,尤其在 macOS x86_64 上需要編譯 cryptography。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 DepTime,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[DepTime]

An API time machine for Python libraries, built for coding agents.

When an agent hits ImportError, AttributeError or "unexpected keyword argument" in a fast-moving library, one call to DepTime says what changed, in which release, and what to use instead. Answers are computed from static diffs of every indexed release, not from docs or model memory.

Free, open source (MIT), and local: your code and errors never leave your machine.

[How DepTime works. Built nightly on GitHub: new PyPI releases are read statically and diffed release to release; packages are never imported or run. The only thing that crosses to your machine is one file, index.sqlite.xz. Answered on your machine: deptime mcp answers your agent locally, and your code and errors stay there.]

Every night, GitHub Actions reads each new release's public API with griffe, which parses the source without running it, diffs it against the previous release, and publishes the result as one file, index.sqlite.xz, on this repo's Releases. On your machine, deptime mcp checks that file's sha256 and schema before swapping it in, then answers every question locally in milliseconds. The full design is in docs/04-architecture.md, and the decisions are in docs/adr/.

text
TypeError: Client.__init__() got an unexpected keyword argument 'proxies'
json
{  "symbol": "httpx.Client.__init__(proxies)",  "issue": "param_removed",  "installed_version": "0.28.1",  "last_version_with": "0.27.2",  "first_version_without": "0.28.0",  "deprecated_in": "0.26.0",  "replacements": [    {"target": "proxy", "confidence": 0.8, "source": "deprecation_message"},    {"target": "mounts", "confidence": 0.79, "source": "deprecation_message"}  ],  "pin_to_restore": "httpx<=0.27.2",  "confidence": "high"}

That's the real explain_error answer from the published index, trimmed. The full answer also quotes the deprecation message DepTime found in httpx's own source, and adds a one-sentence explanation for your agent to pass on.

Status: alpha. The prebuilt index is rebuilt twice a day. Known gaps are tracked in BACKLOG.md.

How well it works

Each check's right answers were written down before DepTime first ran on it (bench/). Judge DepTime by the first run: the fixes since then were designed from its misses, so the later numbers are flattering.

CheckCasesFirst runNow
Right package, name and breaking release for a traceback from a GitHub issue, on the holdout of 2026-11-0735, after every fix so far88.6%88.6%
Code that still works after an upgrade, flagged as broken by check_symbols (lower is better)3,600 uses from 292 upgrades of real projects, labelled by running them3.8%3.8%
The same, by diff_versions(used_symbols=...)2,399 it answers0.3%0.3%
Code that breaks, flagged by check_symbols / diff_versions130 uses97.7% / 76.9%97.7% / 76.9%
Right package, name and breaking release for a traceback from a GitHub issue32 collected 2026-11-0568.8%96.9%
The same, on a holdout fixed in advance from TimeMachine-bench2972.4%96.6%
Error kind and package read from the traceback: scripts, pytest, chained exceptions, ExceptionGroup, IPython, Python 3.10–3.14736, holdout fixed in advance93.8%93.8%
Replacement hints at confidence ≥ 0.75 that are righthints for 50 documented migrations11 of 1142 of 45
Documented migrations that get a right hint at ≥ 0.75501142 (32 without hand-checked hints from migration guides)
Names that exist at runtime but read as absent2,428 sampled at runtime from 10 dynamic packages5.1%1.2%

Across all 237 real tracebacks in the benchmark, including the ones fixes were designed from, DepTime names the right package, name and release for 97.9%, and a right replacement is among its first three for 66.7%. CI re-scores them and both holdouts on every code change and every published index, and fails on a drop of more than 2 points (or a false-positive rate up by more than 1).

Install

Requires uv.

bash
# Claude Code. Cursor, Codex, VS Code and Claude Desktop take the same# command (uvx deptime mcp) in their MCP config.claude mcp add deptime -- uvx deptime mcp

On first launch DepTime downloads its prebuilt index (one file from this repo's GitHub Releases) in the background, then checks for a newer one at most once a day. Set DEPTIME_OFFLINE=1 to never touch the network. Each index carries a signed record of the CI run that built it; deptime index pull --verify checks it (SECURITY.md).

Claude Code users can also install the plugin in integrations/claude-code with /plugin marketplace add cschmertz/deptime, then /plugin install deptime@deptime. It adds a skill and a local hook that suggests DepTime when a Python version-change error appears in a command's output.

First launch timing out? uvx installs DepTime the first time a client starts it. On macOS with an x86_64 uv (an Intel Mac, or Intel Homebrew on Apple silicon), one dependency, cryptography, has no prebuilt wheel and is compiled, which can take longer than a client waits for a server to start. Run uvx deptime --help once beforehand.

Client compatibility

Checked 2026-11-05 with deptime 0.1.4 (details):

ClientResult
Claude Code 2.1.318✅
Codex CLI 0.166.0✅
MCP Python SDK clients 1.0–1.30 and TypeScript SDK clients 1.0–1.32 (protocols 2024-11-05 to 2025-11-25), over stdio and against deptime serve✅
Cursor, VS Code, Claude Desktopnot checked yet; they take the same uvx deptime mcp command

Tools

ToolUse it when
explain_error(traceback, installed_versions?, pip_freeze?)An import or call into a library just failed
symbol_history(package, path)Before trusting an API you remember
check_symbols(package, version, symbols[{path, kwargs}])Pre-flight check of the symbols and kwargs you're about to use
diff_versions(package, from_version | date, to_version?, used_symbols?)Upgrading, or "what changed since my training cutoff?"
coverage()What's indexed (53 fast-moving packages: AI/agent stack + libraries with known breaking changes; list)

Every answer carries evidence and a confidence level. If a package isn't covered, DepTime says so instead of guessing. The contracts are in docs/03-product-spec.md.

CLI

bash
uvx deptime explain --installed httpx==0.28.1 < traceback.txtuvx deptime history httpx Client.__init__uvx deptime check httpx 0.28.1 'httpx.Client:proxies,proxy'uvx deptime diff httpx 0.27.2 0.28.1uvx deptime diff pydantic 2024-06-01              # everything since a dateuvx deptime index status | pull

Hosting (optional)

Local mode covers coding agents. For web clients that only accept a URL, run deptime serve (MCP at /mcp, JSON at /v1/*) on any container host. The repo includes a Dockerfile and fly.toml, and the server applies anonymous rate limits. See docs/05-self-hosting.md.

Prior art and credits

  • griffe does the static analysis.
  • since-cutoff diffs your pinned dependencies against a model's training cutoff, locally and on demand. DepTime differs by shipping a prebuilt cross-version index and starting from a traceback.
  • Context7 and Ref serve version-specific docs. DepTime answers symbol-level "when and what replaced it" questions.

Contributing

The most useful contributions are wrong-answer reports, which become benchmark cases. See CONTRIBUTING.md. Development setup:

bash
uv sync && uv run pytest# build a small local index from real PyPI wheelsuv run deptime ingest httpx --versions 0.27.2 0.28.1

Docs

Product spec · Architecture · Self-hosting · Risks & spikes · Privacy & security · Changelog

License

MIT

來源:README.md,提交 03b52ce

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:軟體包安裝失敗。

版本歷史

5
  1. v0.1.8最新Nov 7, 2026
  2. v0.1.6Nov 6, 2026
  3. v0.1.5Nov 6, 2026
  4. v0.1.4Nov 3, 2026
  5. v0.1.3Oct 29, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分