Python collect CLI for signal-oriented collection lanes
Project description
Signals Engine
Python collect CLI for signal-oriented collection lanes.
Install
pip install signals-engine
signals-engine --help
python3.11 -m signals_engine.cli --help
Usage
signals-engine collect --lane x-feed --date 2026-04-06
signals-engine diagnose --lane x-feed
signals-engine collect --lane reddit-watch --date 2026-04-11 --config ~/.signal-engine/config/lanes.yaml
X auth setup
x-feed and x-following now prefer browser-session auth. Start a dedicated Chrome profile with CDP enabled, log into X once in that profile, then point the lane config at the running browser session.
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remote-debugging-port=9222 \
--user-data-dir=$HOME/.signal-engine/chrome-profile
lanes:
x-feed:
source:
auth:
mode: browser-session
cdp_url: http://127.0.0.1:9222
target_url: https://x.com
limit: 100
timeout_seconds: 30
x-following:
source:
auth:
mode: browser-session
cdp_url: http://127.0.0.1:9222
limit: 200
timeout_seconds: 30
Legacy cookie-file auth is still supported when explicitly selected:
lanes:
x-feed:
source:
auth:
mode: cookie-file
cookie_file: ~/.signal-engine/x-cookies.json
In browser-session mode, Signal Engine does not export or manage X session cookies. It connects to the live Chrome session over CDP, extracts ct0 from the page context, and performs GraphQL requests inside the browser with credentials: 'include'.
Supported lanes
- x-feed
- x-following
- github-watch
- claude-code-watch
- openclaw-watch
- codex-watch
- reddit-watch
- github-trending-weekly
- product-hunt-watch
- polymarket-watch
Example reddit-watch config
reddit-watch is scoped to AI coding / agent workflow discussions. It is not intended to pull generic Reddit news or broad tech chatter.
lanes:
reddit-watch:
enabled: true
queries:
- Claude Code workflows
- Codex agent
- OpenClaw
- AI coding agents
lookback_days: 30
max_threads: 5
max_per_query: 3
subreddits:
- ClaudeAI
- LocalLLaMA
- PromptEngineering
- artificial
Example polymarket-watch config
polymarket-watch is a Polymarket-backed prediction-market lane scoped to market expectation / probability signals around AI model race, coding AI, benchmarks, and company expectations. It is not a workflow-detail or full-text research lane.
lanes:
polymarket-watch:
source:
max_pages: 2
timeout: 15
max_per_query: 3
queries:
- topic: model-race
query: best AI model
- topic: coding-ai
query: coding AI
- topic: benchmark
query: AI benchmark
- topic: company-expectation
query: OpenAI Anthropic Google
v1 scope
- collect-only runtime
- signal markdown / index / state outputs
- thin run.json manifest
- first migration target: x-feed
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
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 signals_engine-0.3.0.tar.gz.
File metadata
- Download URL: signals_engine-0.3.0.tar.gz
- Upload date:
- Size: 77.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5996345748eaaaf1d021f4830b192915c506bfd32b0e3bb17cb4499a14e90868
|
|
| MD5 |
d8a70a6de664e07f6635c862f4328b44
|
|
| BLAKE2b-256 |
4d71b8cff5c1b930c282030e0cb3ed443a35ea428634c90721922eb085b32b66
|
File details
Details for the file signals_engine-0.3.0-py3-none-any.whl.
File metadata
- Download URL: signals_engine-0.3.0-py3-none-any.whl
- Upload date:
- Size: 81.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b50697d7fec99fc3d794803b5f66886b20e00f1e16330ecff85d8cb4aad6c0f
|
|
| MD5 |
06cc1033c515d293509ecd3f3275d554
|
|
| BLAKE2b-256 |
f209b750d9d257cc3ac1bcaa3d495e6ce94498faaaa1b24d004caf69dc9f0240
|