Python API
按分类查找构建器、客户端和配置方法;签名直接来自源码。
从 metricraft 导入公共入口。QueryBuilder 负责不可变构建,DatabaseClient 负责 I/O,所有配置也都在同一个包中。
Python 类型提示
MetriCraft 0.3.0 包含内联类型提示和供类型检查器、编辑器使用的 py.typed 标记。
链式调用、Python 运算符以及带方言标记的方法返回 QueryBuilder,build() 返回 str。客户端调用返回 MetricsQueryResult 或对应元数据结果,异步等待后的类型也相同。安装包 CI 会验证这些约定,并确保 mypy 和 Pyright 拒绝无效参数类型。
签名使用以下公共输入形式(对应共享类型别名):
| 类型 | 可接受的 Python 值 |
|---|---|
Number | int 或 float(运行时拒绝布尔值) |
ScalarInput | 数字或 QueryBuilder 表达式 |
StringInput | 字符串或字符串值表达式 |
QueryInput | 数字、字符串或 QueryBuilder 表达式 |
Window | 时长字符串或时长表达式 |
BuildMode | QueryMode,或字面量 "promql" / "metricsql" |
MatchInput | 选择器字符串、QueryBuilder,或包含两者的序列,例如列表、元组 |
Python 注解检查参数形式并保留链式返回类型。表达式种类、允许的值、方言和功能开关仍由 Rust 验证。例如,作为标量参数的 QueryBuilder 必须在所选语言中表示标量。HTTP 适配器的输入使用只读映射,解析后的响应值为 object,使用前应缩小类型,详见传输契约。诊断信息等其他动态数据仍可能包含 Any 值。
阅读参考手册
参考手册按分类组织。签名、参数名、默认值和声明链接直接来自 Python 源码;每个方法还包含用途、参数类型、允许值和返回约定。新增方法或参数缺少说明时,文档构建会失败。
请区分 SDK 校验和后端语义。例如,分位数通常在 [0, 1] 内,但后端可能定义范围之外的结果;参考手册不会把所有建议范围都描述为本地强制校验。所有构建器组合都返回新的共享表达式;客户端请求执行 I/O,配置对象则有各自的可变性约定。
vm_only 表示仅限 MetricsQL,prom_only 表示仅限 PromQL,prom_experimental 要求显式启用 Prometheus 实验功能。没有标记并不保证每一种参数形式都适用于两种语言:Rust 会在构建时检查完整表达式。参见语言支持。
主要入口
| 入口 | 用途 |
|---|---|
QueryBuilder | 工厂方法、不可变组合与 .build(mode) |
DatabaseClient | 查询、元数据和 VictoriaMetrics 写入请求 |
PrometheusConfig | 标准 Prometheus 端点 |
VMSingleConfig | VictoriaMetrics 单机端点 |
VMClusterConfig | VictoriaMetrics 集群端点与租户选择 |
HttpClientOptions | 超时、请求头与自定义传输 |
register_config, get_config, set_default_instance | 可选的命名配置注册表 |
MetricsQueryResult, MetricsInsertData, TimeValue | 客户端结果、写入数据与时间约定 |
连贯示例见构建指南和客户端指南。在 GitHub 阅读时,也可以查看构建器源码与客户端源码。
选择 API 分类
从指标、标签、标量、字符串和函数调用开始构建。
11 个方法选择器与过滤 ↗通过标签匹配器选择时间序列,并组合 MetricsQL 选择器分支。
7 个方法聚合与分组 ↗跨序列计算聚合结果,设置分组标签、分位数和输出限制。
42 个方法运算符与匹配 ↗组合算术、比较和集合运算,并设置向量匹配规则。
38 个方法时间与范围 ↗设置回看窗口、子查询、偏移、固定求值时间和时间函数。
17 个方法时间窗口计算 ↗在每条序列的回看窗口内计算速率、变化量和统计值。
35 个方法MetricsQL 窗口扩展 ↗使用 MetricsQL 特有的窗口统计、阈值计算和组合 rollup。
50 个方法函数 ↗使用数学函数、直方图函数、排序和时间转换。
55 个方法标签操作 ↗设置、复制、移动、过滤或转换结果标签。
19 个方法MetricsQL 转换 ↗处理查询区间内的缺失值、异常值、累计统计和序列转换。
40 个方法模板与作用域 ↗通过 MetricsQL WITH 绑定、名称引用和函数模板复用表达式。
4 个方法构建与诊断 ↗渲染查询、限制输出预算,并检查原生表达式图。
6 个方法HTTP 客户端 ↗执行即时查询、范围查询、元数据请求和 VictoriaMetrics 写入。
24 个方法连接与传输配置 ↗配置后端地址、集群租户、超时、请求头和自定义传输。
35 个方法跨分类查找方法
QueryBuilder
__init__创建表达式abs函数absent函数absent_over_time时间窗口计算acos函数acosh函数add运算符与匹配aggr_over_timeMetricsQL 窗口扩展aggregate聚合与分组alias标签操作analyze构建与诊断anchored时间与范围and_运算符与匹配any聚合与分组ascent_over_timeMetricsQL 窗口扩展asin函数asinh函数at时间与范围atan函数atan2运算符与匹配atanh函数avg聚合与分组avg_over_time时间窗口计算between运算符与匹配bitmap_andMetricsQL 转换bitmap_orMetricsQL 转换bitmap_xorMetricsQL 转换bool运算符与匹配bottomk聚合与分组bottomk_avg聚合与分组bottomk_last聚合与分组bottomk_max聚合与分组bottomk_median聚合与分组bottomk_min聚合与分组buckets_limitMetricsQL 转换build创建表达式by聚合与分组ceil函数changes时间窗口计算changes_prometheusMetricsQL 窗口扩展clamp函数clamp_max函数clamp_min函数cos函数cosh函数count聚合与分组count_eq_over_timeMetricsQL 窗口扩展count_gt_over_timeMetricsQL 窗口扩展count_le_over_timeMetricsQL 窗口扩展count_ne_over_timeMetricsQL 窗口扩展count_over_time时间窗口计算count_values聚合与分组count_values_over_timeMetricsQL 窗口扩展day_of_month函数day_of_week函数day_of_year函数days_in_month函数debug构建与诊断debug_positions构建与诊断decreases_over_timeMetricsQL 窗口扩展default运算符与匹配default_rollupMetricsQL 窗口扩展deg函数delta时间窗口计算delta_prometheusMetricsQL 窗口扩展deriv时间窗口计算deriv_fastMetricsQL 窗口扩展descent_over_timeMetricsQL 窗口扩展distinct聚合与分组distinct_over_timeMetricsQL 窗口扩展div运算符与匹配double_exponential_smoothing时间窗口计算drop_common_labels标签操作drop_empty_seriesMetricsQL 转换duration_over_timeMetricsQL 窗口扩展end时间与范围eq运算符与匹配eq_any运算符与匹配exp函数fill运算符与匹配fill_left运算符与匹配fill_right运算符与匹配filter选择器与过滤first_over_time时间窗口计算floor函数from_duration创建表达式from_end时间与范围from_labels创建表达式from_metric创建表达式from_now时间与范围from_numeric_literal创建表达式from_scalar创建表达式from_start时间与范围from_string创建表达式from_time时间与范围from_tuple创建表达式function创建表达式ge运算符与匹配geomean聚合与分组geomean_over_timeMetricsQL 窗口扩展group聚合与分组group_left运算符与匹配group_left_all运算符与匹配group_right运算符与匹配group_right_all运算符与匹配gt运算符与匹配histogram聚合与分组histogram_avg函数histogram_count函数histogram_fraction函数histogram_over_timeMetricsQL 窗口扩展histogram_quantile函数histogram_quantilesMetricsQL 转换histogram_shareMetricsQL 转换histogram_stddev函数histogram_stdvar函数histogram_sum函数hoeffding_bound_lowerMetricsQL 窗口扩展hoeffding_bound_upperMetricsQL 窗口扩展holt_winters时间窗口计算hour函数idelta时间窗口计算iderivMetricsQL 窗口扩展if_运算符与匹配ifnot运算符与匹配ignoring运算符与匹配increase时间窗口计算increase_prometheusMetricsQL 窗口扩展increase_pureMetricsQL 窗口扩展increases_over_timeMetricsQL 窗口扩展info函数integrateMetricsQL 窗口扩展interpolateMetricsQL 转换irate时间窗口计算keep_last_valueMetricsQL 转换keep_metric_names标签操作keep_next_valueMetricsQL 转换label_copy标签操作label_del标签操作label_graphite_group标签操作label_join标签操作label_keep标签操作label_lowercase标签操作label_map标签操作label_match标签操作label_mismatch标签操作label_move标签操作label_replace标签操作label_set标签操作label_transform标签操作label_uppercase标签操作label_value标签操作labels_equal标签操作lagMetricsQL 窗口扩展last_over_time时间窗口计算le运算符与匹配lifetimeMetricsQL 窗口扩展limit聚合与分组limit_offsetMetricsQL 转换limit_ratio聚合与分组limitk聚合与分组ln函数log10函数log2函数lt运算符与匹配mad聚合与分组mad_over_time时间窗口计算max聚合与分组max_of函数max_over_time时间窗口计算median聚合与分组median_over_time时间窗口计算min聚合与分组min_of函数min_over_time时间窗口计算minute函数mod运算符与匹配mode聚合与分组mode_over_time时间窗口计算month函数moving_average时间窗口计算mul运算符与匹配ne运算符与匹配ne_all运算符与匹配negative运算符与匹配now时间与范围offset时间与范围on运算符与匹配or_运算符与匹配or_selector选择器与过滤outlier_iqr_over_timeMetricsQL 窗口扩展outliers_iqr聚合与分组outliers_mad聚合与分组outliersk聚合与分组parenthesize运算符与匹配positive运算符与匹配pow运算符与匹配predict_linear时间窗口计算present_over_time时间窗口计算prometheus_bucketsMetricsQL 转换quantile聚合与分组quantile_over_time时间窗口计算quantiles聚合与分组quantiles_over_timeMetricsQL 窗口扩展query_range时间与范围rad函数randMetricsQL 转换rand_exponentialMetricsQL 转换rand_normalMetricsQL 转换range时间与范围range_avgMetricsQL 转换range_firstMetricsQL 转换range_lastMetricsQL 转换range_linear_regressionMetricsQL 转换range_madMetricsQL 转换range_maxMetricsQL 转换range_medianMetricsQL 转换range_minMetricsQL 转换range_normalizeMetricsQL 转换range_over_timeMetricsQL 窗口扩展range_quantileMetricsQL 转换range_stddevMetricsQL 转换range_stdvarMetricsQL 转换range_sumMetricsQL 转换range_trim_outliersMetricsQL 转换range_trim_spikesMetricsQL 转换range_trim_zscoreMetricsQL 转换range_zscoreMetricsQL 转换rate时间窗口计算rate_over_sum时间窗口计算rate_prometheusMetricsQL 窗口扩展reference模板与作用域remove_resetsMetricsQL 转换resets时间窗口计算rollup时间窗口计算rollup_candlestickMetricsQL 窗口扩展rollup_deltaMetricsQL 窗口扩展rollup_derivMetricsQL 窗口扩展rollup_increaseMetricsQL 窗口扩展rollup_rate时间窗口计算rollup_scrape_intervalMetricsQL 窗口扩展round函数ruMetricsQL 转换running_avgMetricsQL 转换running_maxMetricsQL 转换running_minMetricsQL 转换running_sumMetricsQL 转换scalar函数scrape_intervalMetricsQL 窗口扩展sgn函数share聚合与分组share_eq_over_timeMetricsQL 窗口扩展share_gt_over_timeMetricsQL 窗口扩展share_le_over_timeMetricsQL 窗口扩展sin函数sinh函数smooth_exponential函数smoothed时间与范围sort函数sort_by_label函数sort_by_label_desc函数sort_by_label_numeric函数sort_by_label_numeric_desc函数sort_desc函数sqrt函数stale_samples_over_timeMetricsQL 窗口扩展start时间与范围start_timestamp时间与范围stddev聚合与分组stddev_over_time时间窗口计算stdvar聚合与分组stdvar_over_time时间窗口计算step时间与范围sub运算符与匹配subquery时间与范围sum聚合与分组sum2聚合与分组sum2_over_timeMetricsQL 窗口扩展sum_eq_over_timeMetricsQL 窗口扩展sum_gt_over_timeMetricsQL 窗口扩展sum_le_over_timeMetricsQL 窗口扩展sum_over_time时间窗口计算tan函数tanh函数template模板与作用域template_call模板与作用域tfirst_over_timeMetricsQL 窗口扩展time时间与范围timestamp函数timestamp_with_nameMetricsQL 窗口扩展timezone_offsetMetricsQL 转换tlast_change_over_timeMetricsQL 窗口扩展tlast_over_timeMetricsQL 窗口扩展tmax_over_timeMetricsQL 窗口扩展tmin_over_timeMetricsQL 窗口扩展to_debug_json构建与诊断topk聚合与分组topk_avg聚合与分组topk_last聚合与分组topk_max聚合与分组topk_median聚合与分组topk_min聚合与分组trim_lower运算符与匹配trim_upper运算符与匹配ts_of_first_over_time时间窗口计算ts_of_last_over_time时间窗口计算ts_of_max_over_time时间窗口计算ts_of_min_over_time时间窗口计算ttfMetricsQL 转换union运算符与匹配unless运算符与匹配validate构建与诊断vector创建表达式visualize_positions构建与诊断where选择器与过滤where_eq选择器与过滤where_ne选择器与过滤where_not_regex选择器与过滤where_regex选择器与过滤with_模板与作用域without聚合与分组year函数zscore聚合与分组zscore_over_time时间窗口计算
DatabaseClient
__init__HTTP 客户端acloseHTTP 客户端async_clientHTTP 客户端clientHTTP 客户端closeHTTP 客户端closedHTTP 客户端get_connection_infoHTTP 客户端healthHTTP 客户端health_asyncHTTP 客户端insertHTTP 客户端insert_asyncHTTP 客户端insert_base_urlHTTP 客户端label_valuesHTTP 客户端label_values_asyncHTTP 客户端labelsHTTP 客户端labels_asyncHTTP 客户端queryHTTP 客户端query_asyncHTTP 客户端query_rangeHTTP 客户端query_range_asyncHTTP 客户端select_base_urlHTTP 客户端seriesHTTP 客户端series_asyncHTTP 客户端storage_base_urlHTTP 客户端