apd
hep
apd | hep | |
---|---|---|
7 | 6 | |
601 | 229 | |
1.2% | 1.3% | |
3.8 | 7.9 | |
about 2 months ago | 5 days ago | |
Go | Go | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
apd
-
What libraries are missing?
https://github.com/cockroachdb/apd is currently the best implementation in the ecosystem (performance, correctness). Have you already evaluated it?
-
Lack of Decimal Support
FWIW I think cockroachdb/apd is the best third party option. While building bojanz/currency I've evaluated and benchmarked the others and found them either less maintained, slower, or both.
-
Small Fixed-Point Decimals library
I have a package for handling currency amounts and calculations that is based on cockroachdb/apd, in my opinion the best arbitrary-precision decimal implementation in Go right now. So, I can offer a bit of insight.
- cockroachdb/apd v3.0.0
-
Library recommendation -- money calculations, more accurate handling of floats
The best decimal package is still cockroachdb/apd. I wrap it in bojanz/currency for money handling.
-
What libraries from other languages do you wish were ported over into go?
https://github.com/cockroachdb/apd remains the best decimal library for Go (ericlagergren/decimal is faster but unmaintained).
-
currency - Currency amounts and formatting for Go
Note: In benchmarks ericlagergren/decimal was noticeably faster than cockroachdb/apd, but it has known bugs when used with go mod, so I decided to wait and go with cockroachdb/apd for now. The Amount struct wraps the decimal implementation completely, making it easy to do the swap later without breaking BC.
hep
-
From Python to NumPy
Go is quite a bit cleaner than Python and its concurrency/parallelism primitives can be well suited to scientific workloads.
You may want to have a look at Gonum (https://www.gonum.org), and the Go HEP package developed by CERN (https://go-hep.org).
I was also surprised to see DSP and pretty sophisticated packages, although I never used them: https://awesome-go.com/science-and-data-analysis
And of course Go has Jupyter integration, it's almost like running a script thanks to its fast compilation time.
-
Go for science?
Have a look at go-hep https://go-hep.org/
- heuristics for d/l and seeking into http-served files
- Do you care about having a numerical/scientific ecosystem?
-
What libraries from other languages do you wish were ported over into go?
ROOT https://root.cern/ , altough https://go-hep.org/ does a great deal!
-
Charting library or pure go headless browser
https://github.com/go-hep/hep/tree/master/hplot#1d-histogram-with-y-error-bars-no-lines
What are some alternatives?
decimal - Arbitrary-precision fixed-point decimal numbers in Go
gonum - Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more
decimal - A high-performance, arbitrary-precision, floating-point decimal library.
root - The official repository for ROOT: analyzing, storing and visualizing big data, scientifically
go-plotly - The goal of the go-plotly package is to provide a pleasant Go interface for creating figure specifications which are displayed by the plotly.js JavaScript graphing library.
readahead - Asynchronous read-ahead for Go readers
currency - Currency handling for Go.
ews-managed-api
centrifuge - Real-time messaging library for Go. The simplest way to add feature-rich and scalable WebSocket support to your application. The core of Centrifugo server.
dchart - dchart makes charts using deck markup