Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Making SLOs with Prometheus manageable, accessible, and easy to use for everyone!
| Date | Stars |
|---|---|
| 2026-07-24 | 1533 |
| 2026-07-25 | 1533 |
| 2026-07-28 | 1533 |
| 2026-07-30 | 1533 |
| 2026-08-06 | 1533 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
15.0
growth rate 0.00%/day
<p align="center">
<img src="ui/src/logo.svg" alt="Pyrra: SLOs with Prometheus" height="75">
</p>
<p align="center">Making SLOs with Prometheus manageable, accessible, and easy to use for everyone!
</p>
<p align="center"><img src="docs/screenshot-readme.png" width=700 alt="Screenshot of Pyrra"></p>
<p align="center"><a href="https://github.com/pyrra-dev/pyrra/tree/main/examples/grafana">Dashboards</a> to visualize SLOs in Grafana:</p>
<p align="center"><img src="examples/grafana/detail.png" width=700 alt="Pyrra Grafana dashboard"></p>
<p align="center">Watch the 5min lightning talk at Prometheus Day 2022:</p>
<p align="center">
<a href="https://www.youtube.com/watch?v=8Ox0M6HIE3w">
<img src="docs/youtube.jpg" width=700 alt="PrometheusDay 2022: Lightning Talk Pyrra">
</a>
</p>
## Features
- Support for Kubernetes, Docker, and reading from the filesystem
- Alerting: Generates 4 Multi Burn Rate Alerts with different severity
- Page listing all Service Level Objectives
- Search through names and labels
- Sorted by remaining error budget to see the worst ones quickly
- All columns sortable
- View and hide individual columns
- Clicking on labels to filter SLOs that contain the label
- Tool-tips when hovering for extra context
- Page with details for a Service Level Objective
- Objective, Availability, Error Budget highlighted as 3 most important numbers
- Graph to see how the error budget develops over time
- Time range picker to change graphs
- Switch between absolute and relative chart scales
- Request, Errors, Duration (RED) graphs for the underlying service
- Multi Burn Rate Alerts overview table
- Caching of Prometheus query results
- Thanos: Disabling of partial responses and downsampling to 5m and 1h
- connect-go and connect-web generate protobuf APIs
- Grafana dashboard via `--generic-rules` generation
## Feedback & Support
If you have any feedback, please open a discussion in the GitHub Discussions of this project.
We would love to learn what you think!
## Demo
Check out our live demo on [demo.pyrra.dev](https://demo.pyrra.dev)!
Grafana dashboards are available as demo on [demo.pyrra.dev/grafana](https://demo.pyrra.dev/grafana/d/ccssRIenz/pyrra-detail?orgId=1&refresh=10s&from=now-7d&to=now)!
Feel free to give it a try there!
## How It Works
There are three components of Pyrra, all of which work through a single binary:
- The UI displays SLOs, error budgets, burn rates, etc.
- The API delivers information about SLOs from a backend (like Kubernetes) to the UI.
- A backend watches for new SLO objects and then creates Prometheus recording rules for each.
- For Kubernetes, there is a Kubernetes Operator available
- For everything else, there is a filesystem-based Operator available
For the backend/operator to do its work, an SLO object has to be provided in
YAML-format:
```yaml
apiVersion: pyrra.dev/v1alpha1
kind: ServiceLevelObjective
metadata:
name: pyrra-api-errors
namespace: monitoring
labels:
prometheus: k8s
role: alert-rules
pyrra.dev/team: operations # Any labels prefixed with 'pyrra.dev/' will be propagated as Prometheus labels, while stripping the prefix.
spec:
target: "99"
window: 2w
description: Pyrra's API requests and response errors over time grouped by route.
indicator:
ratio:
errors:
metric: http_requests_total{job="pyrra",code=~"5.."}
total:
metric: http_requests_total{job="pyrra"}
grouping:
- route
```
Depending on your mode of operation, this information is provided through an
object in Kubernetes, or read from a static file.
In order to calculate error budget burn rates, Pyrra will then proceed to create
[Prometheus recording rules](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules)
for each SLO.
The following rules would be created for the above example:
```
http_requests:increase2w
http_requests:burnrate3m
http_requests:burnrate15mExcerpt of 13,869 characters
Read on GitHubMatthias Loibl · @polarsignals · Germany
1.2k
700
349
142
19
12
8
8
7
Arthur Silva Sens · @grafana · Brazil
6
5
5
4
4
Alfonso Subiotto Marqués · Polar Signals
4
4
3
3
Claude · @anthropics
3
3
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:bb748ae0f93d6dfd, topic:monitoring
matched fp:bb748ae0f93d6dfd, topic:kubernetes