One data-driven core
terminal-core folds market events into an O(1) AppState and turns panels into view-models — values, series, colours — never renderer commands. The logic lives in one place.
A streaming trading terminal on the Wickra core — live charts, order-book, tape and 455 indicators — with a native TUI and a Web front-end as two renderers over the same logic.
Pre-release
Nothing is published yet. The terminal depends on wickra-exchange as a git dependency and cargo publish rejects those, so the first release waits on that crate reaching crates.io. The install commands below are what they will be; until then, build from source.
A Config names the sources to activate and the panel layout. The terminal folds each source's feed into an O(1) state and renders the panels as view-models.
{
"sources": [{ "Synth": { "seed": 1 } }],
"layout": {
"panels": [{ "kind": "Chart", "rect": { "x": 0, "y": 0, "w": 100, "h": 100 } }]
}
}Because the config is data, the same terminal crosses the C ABI and WASM unchanged, and the same frame comes back byte-for-byte in every language.
The same terminal core from every language — native Rust, Python, Node.js and WASM, plus a C ABI for C, C++, C#, Go, Java and R.
pip install wickra-terminalBuild a terminal from a config, subscribe a symbol, then pull frames. The command API returns the same bytes in every binding — the Web renderer is just another consumer of these frames.
import json
from wickra_terminal import Terminal
config = json.dumps({
"sources": [{"Synth": {"seed": 1}}],
"layout": {"panels": [{"kind": "Chart", "rect": {"x": 0, "y": 0, "w": 100, "h": 100}}]},
})
term = Terminal(config)
term.command(json.dumps({"type": "Subscribe", "source": 0, "symbol": "BTC/USDT"}))
raw = ""
for _ in range(20):
raw = term.command(json.dumps({"type": "Tick"}))
print(json.loads(raw)["panels"][0])Wickra Terminal is part of the Wickra ecosystem. Its panels are driven by wickra-core's indicators over wickra-exchange's typed feeds — the same two libraries wickra-backtest computes on, which is why the terminal shows exactly the numbers a backtest or a live strategy would see. It does not depend on the backtester itself; the shared core is what makes the numbers agree.
Wickra Terminal is a software library, not a trading system, and gives no financial advice — use at your own risk.