Lockfile → Watchlist Transformer avatar

Lockfile → Watchlist Transformer

Pricing

from $1.00 / 1,000 watchlist rows

Go to Apify Store
Lockfile → Watchlist Transformer

Lockfile → Watchlist Transformer

Parse-only transform of Brewfile, package.json, requirements.txt, or Cargo.toml into watchlist rows mapped to Collin delta monitors (Homebrew / npm) or suggested PyPI/crates destinations. PPE event: watchlist-row. Stateless — no LAST_SEEN.

Pricing

from $1.00 / 1,000 watchlist rows

Rating

0.0

(0)

Developer

Collin Reynolds

Collin Reynolds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Parse a Brewfile, package.json, requirements.txt, or Cargo.toml into normalized watchlist rows ready to feed Collin’s live delta monitors (Homebrew / npm) — or carry a clear PyPI / crates suggestion when no live Actor exists yet.

Status: Publishing under standing auth (B). Hygiene complete (real exampleRunInput / INPUT.example.json, schemas avoid reserved dataset fields title/description, tests green).

Pricing (pay per event — document now, Console later):

EventSuggested priceNotes
watchlist-row (primary)$0.001 per emitted rowStateless transform; charge per useful row
Actor startplatform small event (~$0.00005)—

No LAST_SEEN baseline — every successful parse emits rows (PPE-friendly for agent/MCP one-shots).

Why this exists

  • Agents / n8n / MCP runners already have lockfiles, not curated Store inputs
  • Upsells owned inventory: suggestedActor points at live collinjreynolds/*-delta-monitor names
  • Pure local parse = ToS-safe, $0 infra, standby/MCP friendly

Input

FieldRequiredDescription
lockfileTextyesRaw Brewfile / package.json / requirements.txt / Cargo.toml text
formatyesbrewfile | package-json | requirements-txt | cargo-toml
targetActornoOptional filter/hint (e.g. collinjreynolds/homebrew-version-delta-monitor)
includeDevDependenciesnoInclude dev/optional/peer / Cargo dev+build deps (default true)

Example / exampleRunInput (Brewfile — not helloWorld)

Canonical publish-day input: ./INPUT.example.json (= .actor/example_run_input.json).

{
"lockfileText": "brew \"wget\"\nbrew \"git\"\nbrew \"jq\"\ncask \"iterm2\"\ncask \"visual-studio-code\"\n",
"format": "brewfile",
"includeDevDependencies": true
}

Example (package.json)

{
"lockfileText": "{\"dependencies\":{\"lodash\":\"^4.17.21\",\"axios\":\"^1.7.0\"}}",
"format": "package-json",
"includeDevDependencies": true
}

Output

Each dataset item:

FieldMeaning
ecosystemhomebrew | npm | pypi | crates
namePackage / formula / cask / crate
kinde.g. formula, cask, dependency, devDependency, requirement, crate
constraintVersion pin/range from the file when present
suggestedActorLive Store name or “not live yet” note
suggestedInputSibling-shaped fragment (formulae / casks / packages / crates)
noteExtra guidance for PyPI/crates
source_formatEcho of input format

suggestedActor map (accurate as of scaffold)

EcosystemsuggestedActor
Homebrew formulae/caskscollinjreynolds/homebrew-version-delta-monitor (LIVE)
npm packagescollinjreynolds/npm-package-version-delta-monitor (LIVE)
PyPI requirementspypi-package-version-delta-monitor (Store-ready local scaffold; not published under collinjreynolds yet)
crates.iocrates-io-version-delta-monitor (Store-ready local scaffold; not published under collinjreynolds yet)

Related live portfolio (not auto-mapped from these lockfiles):
github-releases-delta-monitor, docker-hub-tag-digest-delta-monitor, gitlab-releases-delta-monitor.

suggestedInput shapes match sibling inputs, e.g.:

  • Homebrew formula → { "formulae": ["wget"] }
  • Homebrew cask → { "casks": ["iterm2"] }
  • npm → { "packages": ["lodash"] }

A KV TRANSFORM_SUMMARY also stores an aggregated sibling input blob for the whole run.

Local development

cd /workspace/revenue-ops/apify-actors/lockfile-to-watchlist-transformer
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt pytest
pytest -q
python scripts/run_offline_demo.py

ToS / scope

Parse-only. Never executes installs. No third-party fetches in v1. See ./AGREEMENT.md.

Store / Console

  • Publish checklist: exampleRunInput = Brewfile text (not helloWorld); PPE watchlist-row $0.001; LIMITED_PERMISSIONS; categories DEVELOPER_TOOLS/AI; memory 512; timeout 300.