[go: nahoru, domu]

Skip to content
/ augurs Public

A (WIP) time series framework for Rust, with bindings to Python and Javascript

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

grafana/augurs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

augurs - a time series framework for Rust

Python Rust docs.rs crates.io

This repository contains augurs, a time series framework built in Rust. It aims to provide some useful primitives for working with time series, as well as the main functionality: heavily optimized forecasting models based on existing R or Python implementations.

As well as the core Rust library, augurs will provide bindings to other languages such as Python and Javascript (via WASM).

Status: please note that this repository is very much in progress. APIs are subject to change, and functionality may not be fully implemented.

Crate descriptions

Name Purpose Status
augurs-changepoint Changepoint detection for time series alpha - API is flexible right now
augurs-core Common structs and traits alpha - API is flexible right now
augurs-ets Automatic exponential smoothing models alpha - non-seasonal models working and tested against statsforecast
augurs-mstl Multiple Seasonal Trend Decomposition using LOESS (MSTL) beta - working and tested against R
augurs-outlier Outlier detection for time series alpha - API is flexible right now
augurs-seasons Seasonality detection using periodograms alpha - working and tested against Python in limited scenarios
augurs-testing Testing data and, eventually, evaluation harness for implementations alpha - just data right now
augurs-js WASM bindings to augurs alpha - untested, should work though
pyaugurs Python bindings to augurs alpha - untested, should work though

Releasing

Releases are made using release-plz: a PR should be automatically created for each release, and merging will perform the release and publish automatically.

Releasing the augurs Python library

The first exception to the release-plz flow is the augurs Python library, which is only released when a new tag beginning with pyaugurs is pushed. This must be done manually for now (ideally soon after the release-plz PR is merged).

E.g.:

git tag pyaugurs-v0.3.0 -m "Release pyaugurs v0.3.0"
git push --tags

Releasing the augurs npm library

The augurs npm library must also be published manually. This can be done using just publish-npm; note you'll need to login with npm first.

npm login
# Log in online, etc...
just publish-npm

License

Dual-licensed to be compatible with the Rust project. Licensed under the Apache License, Version 2.0 <http://www.apache.org/licenses/LICENSE-2.0> or the MIT license <http://opensource.org/licenses/MIT>, at your option.

About

A (WIP) time series framework for Rust, with bindings to Python and Javascript

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages