23d636fd97
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).
1.3 KiB
1.3 KiB
Support
Thanks for using Wickra! Here is where to get help, depending on what you need.
Documentation first
Most questions are answered in the documentation:
- Docs site: https://docs.wickra.org — quickstarts for Rust, Python, Node.js, WebAssembly, C, C# and Go, a per-indicator reference, warmup periods, the data layer, and an FAQ.
- README: https://github.com/wickra-lib/wickra#readme — installation and a quick overview.
- API docs (Rust): https://docs.rs/wickra.
Questions and help
- Ask a question with the question issue template.
- Browse existing issues — your question may already be answered.
Bugs and feature requests
- Bugs: use the bug-report issue template.
- Feature requests / new indicators: use the feature-request template.
Security issues
Please do not report security vulnerabilities through public issues. Follow
the process in SECURITY.md (private GitHub advisory or email).
Support expectations
Wickra is maintained by a single maintainer on a best-effort basis. Issues are triaged and acknowledged as time allows; there is no commercial support or SLA. Clear, reproducible reports get help fastest.