{"id":13474926,"url":"https://github.com/grafana/augurs","last_synced_at":"2026-02-24T11:06:22.002Z","repository":{"id":195627455,"uuid":"647966617","full_name":"grafana/augurs","owner":"grafana","description":"Time series analysis for Rust, with bindings to Python and Javascript","archived":false,"fork":false,"pushed_at":"2025-05-12T07:12:32.000Z","size":6051,"stargazers_count":504,"open_issues_count":18,"forks_count":21,"subscribers_count":116,"default_branch":"main","last_synced_at":"2025-05-12T08:25:16.324Z","etag":null,"topics":["hacktoberfest","rust","time-series","time-series-analysis"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grafana.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-05-31T23:15:30.000Z","updated_at":"2025-05-12T07:05:25.000Z","dependencies_parsed_at":"2023-09-19T01:25:23.550Z","dependency_job_id":"506b1a0a-3d46-4b8a-a499-1aa024690b71","html_url":"https://github.com/grafana/augurs","commit_stats":{"total_commits":129,"total_committers":5,"mean_commits":25.8,"dds":"0.26356589147286824","last_synced_commit":"d46c95419168e45ec28b0182e1fa04d386b913ce"},"previous_names":["grafana/augurs"],"tags_count":246,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Faugurs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Faugurs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Faugurs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Faugurs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grafana","download_url":"https://codeload.github.com/grafana/augurs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253701503,"owners_count":21949832,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","rust","time-series","time-series-analysis"],"created_at":"2024-07-31T16:01:16.014Z","updated_at":"2026-02-24T11:06:21.973Z","avatar_url":"https://github.com/grafana.png","language":"Rust","funding_links":[],"categories":["Rust","Data Science"],"sub_categories":["Machine Learning"],"readme":"# augurs - a time series toolkit for Rust\n\n[![Python](https://github.com/grafana/augurs/actions/workflows/python.yml/badge.svg)](https://github.com/grafana/augurs/actions/workflows/python.yml)\n[![Rust](https://github.com/grafana/augurs/actions/workflows/rust.yml/badge.svg)](https://github.com/grafana/augurs/actions/workflows/rust.yml)\n[![docs.rs](https://docs.rs/augurs-core/badge.svg)](https://docs.rs/augurs-core)\n[![crates.io](https://img.shields.io/crates/v/augurs-core.svg)](https://crates.io/crates/augurs-core)\n[![libs.tech recommends](https://libs.tech/project/647966617/badge.svg)](https://libs.tech/project/647966617/augurs)\n\nThis repository contains `augurs`, a time series toolkit built in Rust.\nIt aims to provide some useful primitives for working with time series,\nas well as the main functionality: heavily optimized models for forecasting,\noutlier detection, clustering, seasonality detection, changepoint detection\nand more. Most algorithms are based on existing R or Python implementations.\n\nAs well as the core Rust library, augurs will provide bindings to other\nlanguages such as Python and Javascript (via WASM).\n\n[Check out the demo][demo] to see what augurs can do!\n\n\u003e [!IMPORTANT]\n\u003e Please note that this is not an official Grafana project, so\n\u003e maintenance may be a bit slower than usual. It's still early days too\n\u003e so expect some rough edges and changes to APIs!\n\n## Crate descriptions\n\n| Name                     | Purpose                                                                      |\n| ------------------------ | ---------------------------------------------------------------------------- |\n| [`augurs`]               | Wrapper crate exposing functionality of all main crates behind feature flags |\n| [`augurs-changepoint`][] | Changepoint detection for time series                                        |\n| [`augurs-clustering`][]  | Time series clustering algorithms                                            |\n| [`augurs-core`][]        | Common structs and traits                                                    |\n| [`augurs-dtw`][]         | Dynamic Time Warping (DTW)                                                   |\n| [`augurs-ets`][]         | Automatic exponential smoothing models                                       |\n| [`augurs-mstl`][]        | Multiple Seasonal Trend Decomposition using LOESS (MSTL)                     |\n| [`augurs-outlier`][]     | Outlier detection for time series                                            |\n| [`augurs-prophet`][]     | The Prophet time series forecasting algorithm                                |\n| [`augurs-seasons`][]     | Seasonality detection using periodograms                                     |\n| [`augurs-testing`][]     | Testing data and, eventually, evaluation harness for implementations         |\n| [`js/*`][js-libs]        | WASM bindings to augurs                                                      |\n| [`pyaugurs`][]           | Python bindings to augurs                                                    |\n\n## Developing\n\nThis project uses [`just`] as a command runner; this will need to be installed separately.\nSee the [`justfile`](./justfile) for more information.\n\nSome of the tasks require [`bacon`], which will also need to be installed separately.\n\n## Releasing\n\nReleases are made using `release-plz`: a PR should be automatically created for each release, and merging will perform the release and publish automatically.\n\n### Releasing the `augurs` Python library\n\nThe 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).\n\nE.g.:\n\n```bash\ngit tag pyaugurs-v0.3.0 -m \"Release pyaugurs v0.3.0\"\ngit push --tags\n```\n\n### Releasing the `augurs` npm library\n\nThe `augurs` npm library must also be published manually. This can be done using `just publish-augurs-js`; note you'll need to login with npm first.\n\n```bash\nnpm login\n# Log in online, etc...\njust publish-augurs-js\n```\n\n## License\n\nDual-licensed to be compatible with the Rust project.\nLicensed under the Apache License, Version 2.0 `\u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e` or the MIT license `\u003chttp://opensource.org/licenses/MIT\u003e`, at your option.\n\n[`augurs`]: https://crates.io/crates/augurs\n[`augurs-changepoint`]: https://crates.io/crates/augurs-changepoint\n[`augurs-clustering`]: https://crates.io/crates/augurs-clustering\n[`augurs-core`]: https://crates.io/crates/augurs-core\n[`augurs-dtw`]: https://crates.io/crates/augurs-dtw\n[`augurs-ets`]: https://crates.io/crates/augurs-ets\n[`augurs-mstl`]: https://crates.io/crates/augurs-mstl\n[`augurs-outlier`]: https://crates.io/crates/augurs-outlier\n[`augurs-prophet`]: https://crates.io/crates/augurs-prophet\n[`augurs-seasons`]: https://crates.io/crates/augurs-seasons\n[`augurs-testing`]: https://crates.io/crates/augurs-testing\n[js-libs]: https://github.com/grafana/augurs/tree/main/js\n[`pyaugurs`]: https://crates.io/crates/pyaugurs\n[`just`]: https://just.systems/man/en/\n[`bacon`]: https://dystroy.org/bacon\n[demo]: https://demo.augu.rs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafana%2Faugurs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrafana%2Faugurs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafana%2Faugurs/lists"}