Science and Data Analysis

43 projects

This category covers numerical and scientific computing in Go: linear algebra, statistics, optimization, plotting, dataframes, signal processing, graph theory and domain libraries for biology and physics. Go has no single equivalent of the Python scientific stack, but a few mature projects cover the core needs, and Go's speed and easy deployment make it a good fit for data tools and services.

Gonum is the foundation, with packages for matrices and linear algebra, statistics, optimization, graphs and floating-point routines, and gonum/plot draws charts from the same data types. montanaflynn/stats offers common statistics functions in a single small package, and gosl provides linear algebra, FFT and numerical methods. For dataframes, dataframe-go has been quiet since 2022 and gota, listed under data structures, is archived, so Go lacks an actively maintained pandas equivalent here. go-dsp covers signal processing, paulmach/orb handles 2D geometry and GeoJSON, Poly supports synthetic biology and taxonkit works with NCBI taxonomy.

Start with Gonum for anything numerical; its APIs are verbose but correct and maintained. Use gonum/plot or generate charts in the browser for visualization. For exploratory analysis, many teams still use Python or R and move finished pipelines to Go for production, where single binaries and predictable performance pay off.

gonum

Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more.

gonum.org/v1/gonumGo 1.25+ 3 dependenciesv0.17.0updated 8d ago

8.5k

statsby montanaflynn

Statistics package with common functions missing from the Golang standard library.

github.com/montanaflynn/statsGo 1.17+ No dependencies v0.14.0updated 8d ago

3k

gonum/plotby gonum

Gonum/plot provides an API for building and drawing plots in Go.

gonum.org/v1/plotGo 1.25+ 9 dependenciesv0.16.0updated 6mo ago

3k

goslby cpmech

Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more.

github.com/cpmech/goslGo 1.17+ No dependencies v1.2.15updated 8d ago

1.9k

streamtoolsby nytlabs

General purpose, graphical tool for dealing with streams of data.

updated 3y ago

1.3k

dataframe-goby rocketlaunchr

Dataframes for machine-learning and statistics (similar to pandas).

github.com/rocketlaunchr/dataframe-goGo 1.15+ 24 dependenciesupdated 4y ago

1.3k

orbby paulmach

2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support.

github.com/paulmach/orbGo 1.18+ 3 dependenciesv0.14.0updated 1d ago

1.1k

go-dspby mjibson

Digital Signal Processing for Go.

github.com/madelynnblue/go-dspGo 1.25+ No dependencies v1.0.0updated 9mo ago

913

chartby vdobler

Simple Chart Plotting library for Go. Supports many graphs types.

github.com/vdobler/chart4 dependenciesupdated 5y ago

774

graphby yourbasic

Library of basic graph algorithms.

1.0.5updated 3y ago

752

goraphby gyuho

Pure Go graph theory library(data structure, algorithm visualization).

v2.0updated 4y ago

746

Polyby bebop

A Go package for engineering organisms.

github.com/bebop/polyGo 1.21+ 10 dependenciesupdated 3mo ago

736

taxonkitby shenwei356

A practical and efficient NCBI taxonomy toolkit; supports querying lineage, reformatting, filtering, and creating custom taxdump files.

github.com/shenwei356/taxonkitGo 1.25+ 12 dependenciesv0.20.0updated 12d ago

483

ewmaby VividCortex

Exponentially-weighted moving averages.

github.com/VividCortex/ewmaGo 1.12+ No dependencies v1.2.0updated 2y ago

447

calendarheatmapby nikolaydubina

Calendar heatmap in plain Go inspired by Github contribution activity.

v1.7.2archived

410

go-hep

A set of libraries and tools for performing High Energy Physics analyses with ease.

v0.37.0archived

254

TextRankby DavidBelicza

TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support.

github.com/DavidBelicza/TextRank/v2Go 1.15+ 1 dependencyv2.2.0updated 2mo ago

224

sparseby james-bowman

Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries.

github.com/james-bowman/sparseGo 1.14+ 2 dependenciesupdated 8mo ago

170

gographby hmdsefi

A golang generic graph library that provides mathematical graph-theory and algorithms.

github.com/hmdsefi/gographGo 1.26+ No dependencies v0.9.1updated 1d ago

142

go-estimateby milosgajdos

State estimation and filtering algorithms in Go.

github.com/milosgajdos/go-estimateGo 1.22+ 5 dependenciesv0.1.0updated 7mo ago

123

pagerankby alixaxel

Weighted PageRank algorithm implemented in Go.

updated 5y ago

87

jsonl-graphby nikolaydubina

Tool to manipulate JSONL graphs with graphviz support.

github.com/nikolaydubina/jsonl-graphGo 1.17+ 1 dependencyv1.2.3updated 2mo ago

80

insyraby HazelnutParadise

Data analysis library with statistics, visualization, Parquet support, and Python integration.

github.com/HazelnutParadise/insyraGo 1.26+ 33 dependenciesv0.3.5updated today

59

geomby skelterjohn

2D geometry for golang.

updated 8y ago

55

evalerby soniah

Simple floating point arithmetic expression evaluator.

updated 8y ago

50

decimalby db47h

Package decimal implements arbitrary-precision decimal floating-point arithmetic.

github.com/db47h/decimalGo 1.14+ No dependencies updated 4y ago

45

triangolatteby tchayen

2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs.

updated 5y ago

38

goentby kzahedi

GO Implementation of Entropy Measures.

updated 7y ago

36

hdf5by scigolib

Pure Go implementation of the HDF5 file format for scientific data storage and exchange.

github.com/scigolib/hdf5Go 1.25+ 1 dependencyv0.14.2updated 12d ago

32

piecewiselinearby sgreben

Tiny linear interpolation library.

github.com/sgreben/piecewiselinearGo 1.15+ No dependencies v1.2.0updated 2y ago

28

simdby tphakala

Native Go vector and SIMD operations on slices with multi-architecture assembly acceleration.

github.com/tphakala/simdGo 1.25+ 3 dependenciesv1.14.0updated 14d ago

28

godesimby soypat

Extended/multivariable ODE solver framework for event-based simulations with simple API.

github.com/soypat/godesimGo 1.15+ 2 dependenciesupdated 4y ago

23

GoStatsby OGFris

GoStats is an Open Source GoLang library for math statistics mostly used in Machine Learning domains, it covers most of the Statistical measures functions.

updated 7y ago

22

odeby ChristopherRabotin

Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions.

1.0.0updated 9y ago

22

topkby keilerkonzept

Sliding-window and regular top-K sketches, based on the HeavyKeeper algorithm.

github.com/keilerkonzept/topkGo 1.23+ 3 dependenciesv1.1.4updated 1y ago

21

PiHexby claygod

Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi.

github.com/claygod/PiHexGo 1.16+ No dependencies updated 6mo ago

20

bradleyterryby seanhagen

Provides a Bradley-Terry Model for pairwise comparisons.

github.com/seanhagen/bradleyterryNo dependencies updated 7y ago

12

matlabby scigolib

Pure Go library for reading and writing MATLAB.mat files (v5-v7.3) without CGO.

github.com/scigolib/matlabGo 1.25+ 2 dependenciesv0.3.16updated 12d ago

12

rootfindingby khezen

Root-finding algorithms library for finding roots of quadratic functions.

github.com/khezen/rootfindingGo 1.14+ No dependencies v1.0.1updated 6y ago

12

go-gtby ThePaw

Graph theory algorithms written in "Go" language.

updated 11y ago

11

MatProInterface.goby MatProGo-dev

MatProInterface.go is an open source package for defining mathematical programs (e.g., convex optimization problems) in Go.

github.com/MatProGo-dev/MatProInterface.goGo 1.23+ 2 dependenciesv0.4.0updated 8mo ago

3

entitydebsby ndabAP

A social science tool to programmatically analyze entities in non-fictional texts with a built-in dependency parser.

github.com/ndabAP/entitydebsGo 1.25+ 8 dependenciesv1.0.1updated 12mo ago

2

matrixby Arceus-7

A clean, generic, zero-dependency matrix math package for Go with support for arithmetic, decompositions, and linear system solving.

github.com

Esc

Type to search every entry. ↑↓ to move, Enter to open.