{"id":17053912,"url":"https://github.com/vertexclique/proq","last_synced_at":"2025-04-12T16:50:41.794Z","repository":{"id":62443020,"uuid":"229831314","full_name":"vertexclique/proq","owner":"vertexclique","description":"Idiomatic Async Prometheus Query (PromQL) Client for Rust.","archived":false,"fork":false,"pushed_at":"2020-05-08T09:36:04.000Z","size":199,"stargazers_count":20,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T11:11:18.584Z","etag":null,"topics":["async-client","metric-aggregation","metrics-gathering","prometheus","promql","rust-lang"],"latest_commit_sha":null,"homepage":"https://docs.rs/proq","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vertexclique.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-23T22:26:17.000Z","updated_at":"2024-01-04T16:40:47.000Z","dependencies_parsed_at":"2022-11-01T22:16:25.105Z","dependency_job_id":null,"html_url":"https://github.com/vertexclique/proq","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertexclique%2Fproq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertexclique%2Fproq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertexclique%2Fproq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vertexclique%2Fproq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vertexclique","download_url":"https://codeload.github.com/vertexclique/proq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248601218,"owners_count":21131607,"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":["async-client","metric-aggregation","metrics-gathering","prometheus","promql","rust-lang"],"created_at":"2024-10-14T10:13:37.213Z","updated_at":"2025-04-12T16:50:41.768Z","avatar_url":"https://github.com/vertexclique.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/vertexclique/proq/raw/master/img/proq.png\" width=\"200\" height=\"200\"/\u003e\n\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n \u003cstrong\u003e\n   Proq – Idiomatic Async Prometheus Query (PromQL) Client for Rust.\n \u003c/strong\u003e\n\u003chr\u003e\n\n[![Build Status](https://github.com/vertexclique/proq/workflows/CI/badge.svg)](https://github.com/vertexclique/proq/actions)\n[![Latest Version](https://img.shields.io/crates/v/proq.svg)](https://crates.io/crates/proq)\n[![Rust Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/proq/)\n\u003c/div\u003e\n\nThis crate provides async client for Prometheus Query API.\nAll queries can be written with PromQL notation.\nTimeout and protocol configuration can be passed at the client initiation time.\n\n#### Adding as dependency\n```toml\n[dependencies]\nproq = \"0.1\"\n```\n\n#### Basic Usage\n```rust\nuse proq::prelude::*;\nuse std::time::Duration;\n\nfn main() {\n    let client = ProqClient::new(\n        \"localhost:9090\",\n        Some(Duration::from_secs(5)),\n    ).unwrap();\n\n    futures::executor::block_on(async {\n        let end = Utc::now();\n        let start = Some(end - chrono::Duration::minutes(1));\n        let step = Some(Duration::from_secs_f64(1.5));\n\n        let rangeq = client.range_query(\"up\", start, Some(end), step).await;\n    });\n}\n```\n\nFor more information please head to the [Documentation](https://docs.rs/proq/).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvertexclique%2Fproq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvertexclique%2Fproq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvertexclique%2Fproq/lists"}