CLI toolkit for scanning TPAs
Project description
deprecat
Developer tooling that scans Python codebases for third-party API (TPA) usage, and returns verified patch suggestions. Built for the Gemini 3 Hackathon.
Quickstart
uv venv && source .venv/bin/activateuv sync --devcp docs/config/.env.sample .envand insert your Google AI Studio credentials.deprecat doctordeprecat init— guided setup to choose monitored packages and scan cadencedeprecat packages— inspect dependencies detected frompyproject.tomland highlight the monitored subsetdeprecat scan . --packages sentry-sdk,slack_sdk— produce a timestamped index under.deprecat/indexes/for the packages you care aboutdeprecat show -t— list available scan timestampsdeprecat analyze --endpoint http://127.0.0.1:8080— send the latest scan to the backend mock and view suggestionsdeprecat serve --reload— run the local FastAPI backend (for development/testing)
CLI
deprecat doctor— verifies Python version, detects.env, checks Google AI Studio credentials, and ensures.deprecat/logsplus.deprecat/checkpointsare writable. Outputs a summary table and stores the run in.deprecat/logs/doctor.log.deprecat init— interactive setup for choosing monitored TPAs and scan frequency; writes.deprecat/config.json.deprecat config [path]— display the stored configuration or tweak via--packages/--frequency.deprecat packages [path]— list dependencies discovered frompyproject.toml/requirementsand flag which ones are monitored.deprecat analyze [path]— send the selected snapshot to the backend (--endpointoverride) and render returned suggestions.deprecat scan [path]— walks a Python repo, collects import usage, and writes a timestamped index JSON under.deprecat/indexes/. Use--packages pkg1,pkg2(or set them in.deprecat/config.json) to limit scans to the TPAs you monitor.deprecat show [path]— displays the most recent index snapshot (--timestamp <ts>for specific snapshots,-t/--timestampsto list all timestamps,--limit N/--allto control output size).deprecat serve— start the mocked FastAPI backend (defaults tohttp://127.0.0.1:8080) so the CLI can call/analyze.
Future commands (review, schedule) will follow the same deprecat <command> pattern once implemented.
Configuration
deprecat initis the quickest way to bootstrap.deprecat/config.json.- Prefer editing the config via
deprecat config --packages pkg1,pkg2 --frequency 7when scripting. - A sample skeleton lives in
docs/config/config.sample.json. - Runtime artifacts (logs, checkpoints, temporary folders) remain under
.deprecat/so deleting that directory resets state.
Backend Service
- The mocked FastAPI backend lives at
src/deprecat/backends/server.pywith/healthand/analyzeendpoints. - Run
deprecat serve-backend --reloadwhile developing to expose the API locally. The CLI will targethttp://127.0.0.1:8000by default until the real remote service is wired up.
Project Layout
src/deprecat/ # CLI, scanner, backend clients, scheduler
assets/samples/ # Mock manifests + payloads
.deprecat/ # Logs and checkpoints (git-ignored)
tests/ # Pytest suites mirroring source layout
docs/ # Architecture notes, UI flows, config samples
Contributing
- Follow the workflow in
AGENTS.mdfor coding standards, testing, and checkpoint hand-offs. - Every feature addition must create a checkpoint under
.deprecat/checkpoints/<timestamp>-<feature>/with diffs, verification output, and TODOs for the next agent.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
deprecat_agent-0.1.3.tar.gz
(51.5 kB
view details)
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 deprecat_agent-0.1.3.tar.gz.
File metadata
- Download URL: deprecat_agent-0.1.3.tar.gz
- Upload date:
- Size: 51.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98c4bcf2559ecf4a300ea4549967e2b181976d7d4fd4d8d8e5a83473e077f7cc
|
|
| MD5 |
1c9e2a6186600a319da2484457c19296
|
|
| BLAKE2b-256 |
244fdfb35810727572219633a1f8b7c5cbe406e77d725ebe5a15d7355d731788
|
File details
Details for the file deprecat_agent-0.1.3-py3-none-any.whl.
File metadata
- Download URL: deprecat_agent-0.1.3-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce12e7c3ba35d61384fc10958c42bf5fbe208b62831a3d6cd08a5f62f0027787
|
|
| MD5 |
2dbf3a4177f5ac944e1e8fdf4746e47c
|
|
| BLAKE2b-256 |
c8da2708e8dce19693158b54e8a48a03c47d8d1d5f86e0cf364d41e06dbed522
|