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
Release files for signals-engine 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| signals_engine-0.3.0.tar.gz | 77.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| signals_engine-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 159.3 kB
Release files / signals_engine-0.3.0.tar.gz
| Download URL | signals_engine-0.3.0.tar.gz |
|---|---|
| Size | 77.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5996345748eaaaf1d021f4830b192915c506bfd32b0e3bb17cb4499a14e90868
|
|
BLAKE2b-256 checksum How to use checksums |
4d71b8cff5c1b930c282030e0cb3ed443a35ea428634c90721922eb085b32b66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / signals_engine-0.3.0-py3-none-any.whl
| Download URL | signals_engine-0.3.0-py3-none-any.whl |
|---|---|
| Size | 81.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4b50697d7fec99fc3d794803b5f66886b20e00f1e16330ecff85d8cb4aad6c0f
|
|
BLAKE2b-256 checksum How to use checksums |
f209b750d9d257cc3ac1bcaa3d495e6ce94498faaaa1b24d004caf69dc9f0240
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|