Adds a Go binding (`bindings/go`) over the C ABI hub — the second language stecker after C#. ## What's here - **`bindings/go`** — a cgo binding exposing all 514 indicators as idiomatic Go types with `New<Indicator>` constructors and `Update`/`Batch`/`Reset`/`Close` methods. The wrappers in `indicators_gen.go` are generated from `bindings/c/include/wickra.h` (same archetype taxonomy as the C# generator: scalar/batch, multi-output, bars, profile, profile-values, array-input). Opaque handles are freed by `Close()` with a `runtime.SetFinalizer` backstop; pointer arguments are caller-owned, panics never cross the boundary. - **`examples/go`** — the full example suite mirroring C/C#: streaming, backtest, multi_timeframe, parallel_assets (goroutine fan-out), three strategies, and `fetch_btcusdt`/`live_binance`. - **CI** — a `go` job builds the C ABI library, stages it, and runs `gofmt`/`go vet`/`go test` plus the offline examples on Linux, macOS and Windows. - **Docs** — Go added to the README languages table, project layout, building/testing, CONTRIBUTING binding table + regenerate note, ARCHITECTURE, examples index, issue/PR templates, the About-description template, and the other binding READMEs. ## Linking / distribution The binding links the prebuilt C ABI library via cgo (`libwickra.so`/`.dylib`/`wickra.dll` staged under `bindings/go/lib`, gitignored). The native libraries are already shipped per target triple by the existing `c-abi-build` release job; distribution is via the subdirectory module tag `bindings/go/vX.Y.Z` (gated), so `release.yml` needs no new publish job. No Rust crate or `Cargo.toml` change — the Go module is standalone and additive. Not for merge yet (gated, per request).
37 lines
881 B
Markdown
37 lines
881 B
Markdown
---
|
|
name: Question / usage help
|
|
about: Ask how to do something with Wickra. For open-ended discussion prefer GitHub Discussions.
|
|
title: "[Question] <short description>"
|
|
labels: ["question"]
|
|
assignees: []
|
|
---
|
|
|
|
> [!NOTE]
|
|
> If this is open-ended ("which indicator should I use for X?") please
|
|
> use **Discussions** instead — issues are for actionable items.
|
|
|
|
## What are you trying to do?
|
|
|
|
<!-- The end goal, not the API call. -->
|
|
|
|
## What have you tried?
|
|
|
|
<!--
|
|
Code, docs you've read, search terms that didn't help.
|
|
Show that you've spent a few minutes before asking.
|
|
-->
|
|
|
|
```python
|
|
import wickra as ta
|
|
...
|
|
```
|
|
|
|
## What's confusing or blocking you?
|
|
|
|
<!-- Specific question. "Why does X return NaN for the first N points?" beats "doesn't work". -->
|
|
|
|
## Environment (Only if relevant)
|
|
|
|
- Wickra version: `e.g. 0.4.2`
|
|
- Binding: `Rust / Python / Node / Wasm / C ABI / C# (.NET) / Go`
|