roboflow-workflows 0.2.3rc2__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- roboflow_workflows-0.2.4/PKG-INFO +134 -0
- roboflow_workflows-0.2.4/pyproject.toml +76 -0
- roboflow_workflows-0.2.4/roboflow_workflows/configuration.py +377 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/_zone_geometry.py +234 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/data_aggregator/v1.py +517 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/detection_event_log/v1.py +502 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/detection_event_log/v1_tensor.py +506 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/line_counter/v1.py +227 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/line_counter/v1_tensor.py +245 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/line_counter/v2.py +274 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/line_counter/v2_tensor.py +304 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/overlap/v1.py +197 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/overlap/v1_tensor.py +210 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/path_deviation/v1.py +276 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/path_deviation/v1_tensor.py +295 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/path_deviation/v2.py +288 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/path_deviation/v2_tensor.py +308 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/time_in_zone/v1.py +296 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/time_in_zone/v1_tensor.py +324 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/time_in_zone/v2.py +303 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/time_in_zone/v2_tensor.py +331 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/time_in_zone/v3.py +408 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/time_in_zone/v3_tensor.py +434 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/velocity/v1.py +313 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/analytics/velocity/v1_tensor.py +416 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/cache/cache_get/v1.py +190 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/cache/cache_set/v1.py +201 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/cache/common.py +25 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/auto_rotate_on_edges/v1.py +440 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/background_subtraction/v1.py +183 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/camera_focus/v1.py +269 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/camera_focus/v2.py +1086 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/contours/v1.py +220 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/contrast_enhancement/v1.py +311 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/contrast_equalization/v1.py +196 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/convert_grayscale/v1.py +148 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/detections_nearest_neighbor/v1.py +459 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/distance_measurement/v1.py +487 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/distance_measurement/v1_tensor.py +535 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/dominant_color/v1.py +225 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/image_blur/v1.py +225 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/image_preprocessing/v1.py +307 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/mask_area_measurement/v1.py +200 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/mask_area_measurement/v1_tensor.py +220 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/mask_edge_snap/v1.py +597 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/mask_edge_snap/v1_tensor.py +644 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/morphological_transformation/v1.py +249 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/morphological_transformation/v2.py +221 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/motion_detection/v1.py +403 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/motion_detection/v1_tensor.py +446 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/pixel_color_count/v1.py +225 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/sift/v1.py +189 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/sift_comparison/v1.py +176 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/sift_comparison/v2.py +388 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/size_measurement/v1.py +326 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/size_measurement/v1_tensor.py +333 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/template_matching/v1.py +256 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/template_matching/v1_tensor.py +288 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/classical_cv/threshold/v1.py +290 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/common/deserializers.py +714 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/common/keypoints.py +116 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/common/rle_compact.py +87 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/common/tensor_native.py +1181 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/common/utils.py +823 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/common/workload_presets.py +224 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/flow_control/continue_if/v1.py +244 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/flow_control/delta_filter/v1.py +156 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/flow_control/inner_workflow/v1.py +412 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/flow_control/rate_limiter/v1.py +196 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/flow_control/switch_case/v1.py +200 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/csv/v1.py +234 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/current_time/v1.py +177 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/expression/v1.py +259 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/first_non_empty_or_default/v1.py +162 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/json_parser/v1.py +222 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/property_definition/v1.py +177 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/string_template/v1.py +289 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/vlm_as_classifier/v1.py +349 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/vlm_as_classifier/v1_tensor.py +409 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/vlm_as_classifier/v2.py +357 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/vlm_as_classifier/v2_tensor.py +415 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/vlm_as_detector/v1.py +408 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/vlm_as_detector/v1_tensor.py +589 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/vlm_as_detector/v2.py +648 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/formatters/vlm_as_detector/v2_tensor.py +1004 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/buffer/v1.py +178 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/detections_classes_replacement/v1.py +460 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/detections_classes_replacement/v1_tensor.py +611 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/detections_consensus/v1.py +754 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/detections_consensus/v1_tensor.py +1197 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/detections_difference/v1.py +354 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/detections_difference/v1_tensor.py +415 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/detections_list_rollup/v1.py +1061 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/detections_list_rollup/v1_tensor.py +1330 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/detections_stitch/v1.py +324 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/detections_stitch/v1_tensor.py +1308 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/dimension_collapse/v1.py +145 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/frame_delay/v1.py +292 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/frame_delay/v1_tensor.py +169 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/image_stack/v1.py +279 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/overlap_analysis/v1.py +231 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/fusion/overlap_analysis/v1_tensor.py +416 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/loader.py +2018 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/math/cosine_similarity/v1.py +143 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/math/cosine_similarity/v1_tensor.py +150 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/anthropic_claude/model_capabilities.py +165 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/anthropic_claude/v1.py +742 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/anthropic_claude/v2.py +871 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/anthropic_claude/v3.py +1033 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/anthropic_claude/v4.py +1214 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/anthropic_claude/v5.py +1308 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/clip/v1.py +269 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/clip/v1_tensor.py +276 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/clip_comparison/v1.py +250 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/clip_comparison/v1_tensor.py +272 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/clip_comparison/v2.py +321 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/clip_comparison/v2_tensor.py +354 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/cog_vlm/v1.py +231 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/cosmos3/v1.py +294 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/depth_estimation/v1.py +321 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/depth_estimation/v1_tensor.py +356 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/easy_ocr/v1.py +315 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/easy_ocr/v1_tensor.py +378 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/florence2/v1.py +726 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/florence2/v2.py +117 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/gaze/v1.py +188 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/glm_ocr/v1.py +438 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_gemini/v1.py +778 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_gemini/v2.py +922 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_gemini/v3.py +1073 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_gemini/v4.py +1108 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_gemini/v5.py +1168 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_gemini/v6.py +1228 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_gemma/v1.py +686 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_gemma/v2.py +281 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_gemma/v3.py +328 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_gemma/v4.py +376 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_vision_ocr/v1.py +332 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/google_vision_ocr/v1_tensor.py +367 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/kimi_openrouter/v1.py +686 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/kimi_openrouter/v2.py +283 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/kimi_openrouter/v3.py +335 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/llama_vision/v1.py +683 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/llama_vision/v2.py +284 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/lmm/v1.py +496 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/lmm_classifier/v1.py +336 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/meta_vlm/v1.py +649 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/meta_vlm/v2.py +718 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/meta_vlm/v3.py +774 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/moondream2/v1.py +303 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/moondream2/v1_tensor.py +295 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/ocr/v1.py +241 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/ocr/v1_tensor.py +264 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/openai/v1.py +369 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/openai/v2.py +621 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/openai/v3.py +735 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/openai/v4.py +1015 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/openai/v5.py +1422 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/openai/v6.py +1467 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/openai/v7.py +1857 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/openai_compatible/v1.py +502 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/openrouter/v1.py +301 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/openrouter/v2.py +358 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/openrouter/v3.py +474 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/perception_encoder/v1.py +284 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/perception_encoder/v1_tensor.py +298 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/pp_ocr/v1.py +270 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/pp_ocr/v1_tensor.py +348 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/qwen/v1.py +309 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/qwen3_5_openrouter/v1.py +698 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/qwen3_5vl/v1.py +358 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/qwen3_5vl/v2.py +305 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/qwen3_6_openrouter/v1.py +695 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/qwen3vl/v1.py +306 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/qwen_vlm/v1.py +1016 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/qwen_vlm/v2.py +1415 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/qwen_vlm/v3.py +1469 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/qwen_vlm/v4.py +1535 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/seg_preview/v1.py +393 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/seg_preview/v1_tensor.py +402 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything2/v1.py +592 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything2/v1_tensor.py +683 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything2_video/v1.py +488 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything2_video/v1_tensor.py +461 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3/v1.py +644 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3/v1_tensor.py +711 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3/v2.py +733 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3/v2_tensor.py +850 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3/v3.py +991 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3/v3_tensor.py +640 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3_3d/v1.py +337 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3_3d/v1_tensor.py +341 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3_interactive/v1.py +653 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3_interactive/v1_tensor.py +919 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3_video/v1.py +727 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/segment_anything3_video/v1_tensor.py +810 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/smolvlm/v1.py +276 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/spacexai/v1.py +1015 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/spacexai/v2.py +1067 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/spacexai/v3.py +1131 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/stability_ai/image_gen/v1.py +224 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/stability_ai/inpainting/v1.py +264 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/stability_ai/inpainting/v1_tensor.py +271 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/stability_ai/outpainting/v1.py +313 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/yolo_world/v1.py +321 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/yolo_world/v1_tensor.py +191 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/zai_vlm/v1.py +761 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/foundation/zai_vlm/v2.py +823 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/action_recognition/v1.py +695 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/embedding/v1.py +221 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/embedding/v1_tensor.py +140 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v1.py +413 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v1_tensor.py +716 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v2.py +418 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v2_tensor.py +716 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v3.py +816 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v3_tensor.py +757 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v4.py +456 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v4_tensor.py +744 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v1.py +389 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v1_tensor.py +648 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v2.py +393 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v2_tensor.py +650 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v3.py +432 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v3_tensor.py +683 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v1.py +286 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v1_tensor.py +486 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v2.py +294 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v2_tensor.py +492 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v3.py +338 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v3_tensor.py +535 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v1.py +289 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v1_tensor.py +468 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v2.py +292 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v2_tensor.py +469 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v3.py +337 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v3_tensor.py +508 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/object_detection/v1.py +369 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/object_detection/v1_tensor.py +455 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/object_detection/v2.py +373 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/object_detection/v2_tensor.py +455 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/object_detection/v3.py +415 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/object_detection/v3_tensor.py +494 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/semantic_segmentation/v1.py +336 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/semantic_segmentation/v1_tensor.py +658 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/semantic_segmentation/v2.py +397 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/semantic_segmentation/v2_tensor.py +717 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/third_party/barcode_detection/v1.py +154 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/third_party/barcode_detection/v1_tensor.py +180 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/third_party/qr_code_detection/v1.py +162 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/third_party/qr_code_detection/v1_tensor.py +182 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/workload_presets.py +140 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sampling/identify_changes/v1.py +412 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sampling/identify_changes/v1_tensor.py +429 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sampling/identify_outliers/v1.py +287 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sampling/identify_outliers/v1_tensor.py +289 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/secrets_providers/environment_secrets_store/v1.py +176 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/email_notification/v1.py +543 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/email_notification/v2.py +1125 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/local_file/v1.py +465 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/onvif_movement/v1.py +1012 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/onvif_movement/v1_tensor.py +1049 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/s3/v1.py +504 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/slack/notification/v1.py +454 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/twilio/sms/v1.py +473 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/twilio/sms/v2.py +835 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/webhook/v1.py +662 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/botsort/v1.py +369 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/botsort/v1_tensor.py +370 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/bytetrack/v1.py +232 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/bytetrack/v1_tensor.py +239 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/ocsort/v1.py +248 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/ocsort/v1_tensor.py +248 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/sort/v1.py +219 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/sort/v1_tensor.py +226 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/absolute_static_crop/v1.py +189 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/absolute_static_crop/v1_tensor.py +205 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/bounding_rect/v1.py +195 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/bounding_rect/v1_tensor.py +268 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/byte_tracker/v1.py +223 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/byte_tracker/v1_tensor.py +306 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/byte_tracker/v2.py +243 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/byte_tracker/v2_tensor.py +326 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/byte_tracker/v3.py +308 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/byte_tracker/v3_tensor.py +404 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/camera_calibration/v1.py +304 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detection_offset/v1.py +232 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detection_offset/v1_tensor.py +336 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detections_combine/v1.py +142 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detections_combine/v1_tensor.py +360 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detections_filter/v1.py +198 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detections_merge/v1.py +199 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detections_merge/v1_tensor.py +284 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detections_transformation/v1.py +284 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/dynamic_crop/v1.py +335 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/dynamic_crop/v1_tensor.py +622 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/dynamic_zones/v1.py +406 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/dynamic_zones/v1_tensor.py +482 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/geotag_detection/v1.py +313 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/geotag_detection/v1_tensor.py +346 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/image_slicer/v1.py +255 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/image_slicer/v2.py +307 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/per_class_confidence_filter/v1.py +183 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/per_class_confidence_filter/v1_tensor.py +228 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/perspective_correction/v1.py +900 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/perspective_correction/v1_tensor.py +1387 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/qr_code_generator/v1.py +424 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/relative_static_crop/v1.py +192 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/stabilize_detections/v1.py +361 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/stabilize_detections/v1_tensor.py +548 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/stitch_images/v1.py +288 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/stitch_ocr_detections/v1.py +358 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/stitch_ocr_detections/v1_tensor.py +422 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/stitch_ocr_detections/v2.py +900 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/stitch_ocr_detections/v2_tensor.py +974 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/track_class_lock/v1.py +521 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/background_color/v1.py +185 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/background_color/v1_tensor.py +191 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/blur/v1.py +166 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/blur/v1_tensor.py +172 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/bounding_box/v1.py +197 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/bounding_box/v1_tensor.py +547 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/circle/v1.py +184 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/circle/v1_tensor.py +196 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/classification_label/v1.py +586 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/classification_label/v1_tensor.py +683 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/color/v1.py +188 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/color/v1_tensor.py +200 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/common/annotators/blur.py +134 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/corner/v1.py +196 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/corner/v1_tensor.py +208 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/crop/v1.py +227 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/crop/v1_tensor.py +235 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/dot/v1.py +218 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/dot/v1_tensor.py +226 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/ellipse/v1.py +208 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/ellipse/v1_tensor.py +220 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/grid/v1.py +295 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/halo/v1.py +217 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/halo/v1_tensor.py +225 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/halo/v2.py +217 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/halo/v2_tensor.py +225 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/heatmap/v1.py +370 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/heatmap/v1_tensor.py +382 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/icon/v1.py +415 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/icon/v1_tensor.py +424 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/keypoint/v1.py +432 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/keypoint/v1_tensor.py +326 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/label/v1.py +307 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/label/v1_tensor.py +1210 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/label/v2.py +295 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/label/v2_tensor.py +169 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/line_zone/v1.py +232 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/mask/v1.py +206 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/mask/v1_tensor.py +653 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/model_comparison/v1.py +246 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/model_comparison/v1_tensor.py +255 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/pixelate/v1.py +156 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/pixelate/v1_tensor.py +166 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/polygon/v1.py +205 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/polygon/v1_tensor.py +210 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/polygon/v2.py +204 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/polygon/v2_tensor.py +209 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/polygon_zone/v1.py +200 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/reference_path/v1.py +175 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/rich_label/v1.py +392 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/rich_label/v1_tensor.py +173 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/text_display/v1.py +502 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/trace/v1.py +271 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/trace/v1_tensor.py +279 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/triangle/v1.py +234 -0
- roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/triangle/v1_tensor.py +242 -0
- roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/PLC_modbus/v1.py +244 -0
- roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/PLCethernetIP/v1.py +270 -0
- roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/event_writer/v1.py +795 -0
- roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/kafka_consumer/v1.py +1145 -0
- roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/kafka_producer/v1.py +862 -0
- roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/microsoft_sql_server/v1.py +498 -0
- roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/mqtt_reader/v1.py +1030 -0
- roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/mqtt_writer/v1.py +642 -0
- roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/opc_writer/v1.py +1634 -0
- roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/plc/v1.py +663 -0
- roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/postgresql/v1.py +728 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/entities/workload.py +849 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/introspection/restriction_environment.py +133 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/introspection/workload.py +132 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/introspection/workload_entities.py +311 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/compiler/core.py +367 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/compiler/entities.py +300 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/compiler/graph_constructor.py +2064 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/compiler/utils.py +194 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/core.py +703 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/dynamic_blocks/block_assembler.py +720 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/dynamic_blocks/block_scaffolding.py +682 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/dynamic_blocks/representation_boundary.py +1488 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/executor/core.py +693 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/executor/utils.py +163 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/inner_workflow/dynamic_blocks_collection.py +157 -0
- roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/introspection/workload.py +708 -0
- roboflow_workflows-0.2.4/roboflow_workflows/prototypes/block.py +900 -0
- roboflow_workflows-0.2.4/roboflow_workflows/prototypes/model_registration.py +31 -0
- roboflow_workflows-0.2.4/roboflow_workflows/prototypes/models_provider.py +342 -0
- roboflow_workflows-0.2.4/roboflow_workflows/prototypes/platform_errors.py +92 -0
- roboflow_workflows-0.2.4/roboflow_workflows.egg-info/PKG-INFO +134 -0
- roboflow_workflows-0.2.4/roboflow_workflows.egg-info/SOURCES.txt +858 -0
- roboflow_workflows-0.2.4/roboflow_workflows.egg-info/requires.txt +55 -0
- roboflow_workflows-0.2.3rc2/PKG-INFO +0 -133
- roboflow_workflows-0.2.3rc2/pyproject.toml +0 -75
- roboflow_workflows-0.2.3rc2/roboflow_workflows/configuration.py +0 -352
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/_zone_geometry.py +0 -234
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/data_aggregator/v1.py +0 -493
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/detection_event_log/v1.py +0 -478
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/detection_event_log/v1_tensor.py +0 -482
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/line_counter/v1.py +0 -203
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/line_counter/v1_tensor.py +0 -221
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/line_counter/v2.py +0 -250
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/line_counter/v2_tensor.py +0 -280
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/overlap/v1.py +0 -178
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/overlap/v1_tensor.py +0 -191
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/path_deviation/v1.py +0 -252
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/path_deviation/v1_tensor.py +0 -271
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/path_deviation/v2.py +0 -264
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/path_deviation/v2_tensor.py +0 -284
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/time_in_zone/v1.py +0 -272
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/time_in_zone/v1_tensor.py +0 -300
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/time_in_zone/v2.py +0 -279
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/time_in_zone/v2_tensor.py +0 -307
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/time_in_zone/v3.py +0 -384
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/time_in_zone/v3_tensor.py +0 -410
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/velocity/v1.py +0 -289
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/analytics/velocity/v1_tensor.py +0 -392
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/cache/cache_get/v1.py +0 -169
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/cache/cache_set/v1.py +0 -180
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/cache/common.py +0 -24
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/auto_rotate_on_edges/v1.py +0 -421
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/background_subtraction/v1.py +0 -159
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/camera_focus/v1.py +0 -243
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/camera_focus/v2.py +0 -1048
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/contours/v1.py +0 -195
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/contrast_enhancement/v1.py +0 -292
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/contrast_equalization/v1.py +0 -177
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/convert_grayscale/v1.py +0 -129
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/detections_nearest_neighbor/v1.py +0 -440
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/distance_measurement/v1.py +0 -468
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/distance_measurement/v1_tensor.py +0 -516
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/dominant_color/v1.py +0 -206
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/image_blur/v1.py +0 -206
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/image_preprocessing/v1.py +0 -286
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/mask_area_measurement/v1.py +0 -181
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/mask_area_measurement/v1_tensor.py +0 -201
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/mask_edge_snap/v1.py +0 -578
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/mask_edge_snap/v1_tensor.py +0 -625
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/morphological_transformation/v1.py +0 -230
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/morphological_transformation/v2.py +0 -202
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/motion_detection/v1.py +0 -379
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/motion_detection/v1_tensor.py +0 -422
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/pixel_color_count/v1.py +0 -206
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/sift/v1.py +0 -170
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/sift_comparison/v1.py +0 -157
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/sift_comparison/v2.py +0 -346
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/size_measurement/v1.py +0 -307
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/size_measurement/v1_tensor.py +0 -314
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/template_matching/v1.py +0 -236
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/template_matching/v1_tensor.py +0 -269
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/classical_cv/threshold/v1.py +0 -271
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/common/deserializers.py +0 -714
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/common/keypoints.py +0 -60
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/common/rle_compact.py +0 -236
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/common/tensor_native.py +0 -1060
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/common/utils.py +0 -768
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/flow_control/continue_if/v1.py +0 -165
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/flow_control/delta_filter/v1.py +0 -132
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/flow_control/inner_workflow/v1.py +0 -377
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/flow_control/rate_limiter/v1.py +0 -160
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/flow_control/switch_case/v1.py +0 -181
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/csv/v1.py +0 -215
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/current_time/v1.py +0 -158
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/expression/v1.py +0 -240
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/first_non_empty_or_default/v1.py +0 -143
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/json_parser/v1.py +0 -203
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/property_definition/v1.py +0 -158
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/string_template/v1.py +0 -270
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/vlm_as_classifier/v1.py +0 -330
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/vlm_as_classifier/v1_tensor.py +0 -390
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/vlm_as_classifier/v2.py +0 -338
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/vlm_as_classifier/v2_tensor.py +0 -396
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/vlm_as_detector/v1.py +0 -389
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/vlm_as_detector/v1_tensor.py +0 -570
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/vlm_as_detector/v2.py +0 -629
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/formatters/vlm_as_detector/v2_tensor.py +0 -985
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/buffer/v1.py +0 -154
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/detections_classes_replacement/v1.py +0 -441
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/detections_classes_replacement/v1_tensor.py +0 -592
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/detections_consensus/v1.py +0 -735
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/detections_consensus/v1_tensor.py +0 -1178
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/detections_difference/v1.py +0 -335
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/detections_difference/v1_tensor.py +0 -396
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/detections_list_rollup/v1.py +0 -1042
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/detections_list_rollup/v1_tensor.py +0 -1305
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/detections_stitch/v1.py +0 -305
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/detections_stitch/v1_tensor.py +0 -1168
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/dimension_collapse/v1.py +0 -126
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/frame_delay/v1.py +0 -268
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/frame_delay/v1_tensor.py +0 -141
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/image_stack/v1.py +0 -248
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/overlap_analysis/v1.py +0 -212
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/fusion/overlap_analysis/v1_tensor.py +0 -397
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/loader.py +0 -2009
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/math/cosine_similarity/v1.py +0 -124
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/math/cosine_similarity/v1_tensor.py +0 -131
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/anthropic_claude/model_capabilities.py +0 -165
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/anthropic_claude/v1.py +0 -723
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/anthropic_claude/v2.py +0 -852
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/anthropic_claude/v3.py +0 -1014
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/anthropic_claude/v4.py +0 -1195
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/anthropic_claude/v5.py +0 -1278
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/clip/v1.py +0 -250
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/clip/v1_tensor.py +0 -257
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/clip_comparison/v1.py +0 -233
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/clip_comparison/v1_tensor.py +0 -255
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/clip_comparison/v2.py +0 -302
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/clip_comparison/v2_tensor.py +0 -335
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/cog_vlm/v1.py +0 -190
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/cosmos3/v1.py +0 -263
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/depth_estimation/v1.py +0 -290
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/depth_estimation/v1_tensor.py +0 -325
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/easy_ocr/v1.py +0 -300
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/easy_ocr/v1_tensor.py +0 -363
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/florence2/v1.py +0 -695
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/florence2/v2.py +0 -92
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/gaze/v1.py +0 -147
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/glm_ocr/v1.py +0 -407
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_gemini/v1.py +0 -759
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_gemini/v2.py +0 -903
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_gemini/v3.py +0 -1054
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_gemini/v4.py +0 -1089
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_gemini/v5.py +0 -1149
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_gemini/v6.py +0 -1209
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_gemma/v1.py +0 -667
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_gemma/v2.py +0 -262
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_gemma/v3.py +0 -309
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_gemma/v4.py +0 -357
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_vision_ocr/v1.py +0 -307
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/google_vision_ocr/v1_tensor.py +0 -342
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/kimi_openrouter/v1.py +0 -667
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/kimi_openrouter/v2.py +0 -264
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/kimi_openrouter/v3.py +0 -316
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/llama_vision/v1.py +0 -664
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/llama_vision/v2.py +0 -265
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/lmm/v1.py +0 -454
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/lmm_classifier/v1.py +0 -294
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/meta_vlm/v1.py +0 -630
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/meta_vlm/v2.py +0 -699
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/meta_vlm/v3.py +0 -755
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/moondream2/v1.py +0 -272
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/moondream2/v1_tensor.py +0 -264
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/ocr/v1.py +0 -226
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/ocr/v1_tensor.py +0 -249
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/openai/v1.py +0 -350
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/openai/v2.py +0 -602
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/openai/v3.py +0 -716
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/openai/v4.py +0 -996
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/openai/v5.py +0 -1403
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/openai/v6.py +0 -1448
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/openai/v7.py +0 -1832
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/openai_compatible/v1.py +0 -483
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/openrouter/v1.py +0 -282
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/openrouter/v2.py +0 -339
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/openrouter/v3.py +0 -455
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/perception_encoder/v1.py +0 -253
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/perception_encoder/v1_tensor.py +0 -267
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/pp_ocr/v1.py +0 -255
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/pp_ocr/v1_tensor.py +0 -333
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/qwen/v1.py +0 -278
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/qwen3_5_openrouter/v1.py +0 -679
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/qwen3_5vl/v1.py +0 -327
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/qwen3_5vl/v2.py +0 -274
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/qwen3_6_openrouter/v1.py +0 -676
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/qwen3vl/v1.py +0 -275
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/qwen_vlm/v1.py +0 -995
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/qwen_vlm/v2.py +0 -1394
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/qwen_vlm/v3.py +0 -1448
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/qwen_vlm/v4.py +0 -1514
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/seg_preview/v1.py +0 -357
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/seg_preview/v1_tensor.py +0 -366
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything2/v1.py +0 -561
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything2/v1_tensor.py +0 -652
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything2_video/v1.py +0 -414
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything2_video/v1_tensor.py +0 -383
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3/v1.py +0 -591
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3/v1_tensor.py +0 -658
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3/v2.py +0 -680
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3/v2_tensor.py +0 -797
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3/v3.py +0 -938
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3/v3_tensor.py +0 -587
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3_3d/v1.py +0 -306
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3_3d/v1_tensor.py +0 -310
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3_interactive/v1.py +0 -622
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3_interactive/v1_tensor.py +0 -888
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3_video/v1.py +0 -648
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/segment_anything3_video/v1_tensor.py +0 -727
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/smolvlm/v1.py +0 -245
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/spacexai/v1.py +0 -996
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/spacexai/v2.py +0 -1048
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/spacexai/v3.py +0 -1112
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/stability_ai/image_gen/v1.py +0 -205
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/stability_ai/inpainting/v1.py +0 -238
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/stability_ai/inpainting/v1_tensor.py +0 -245
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/stability_ai/outpainting/v1.py +0 -288
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/yolo_world/v1.py +0 -297
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/yolo_world/v1_tensor.py +0 -167
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/zai_vlm/v1.py +0 -742
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/foundation/zai_vlm/v2.py +0 -804
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/action_recognition/v1.py +0 -617
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v1.py +0 -398
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v1_tensor.py +0 -701
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v2.py +0 -403
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v2_tensor.py +0 -701
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v3.py +0 -801
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v3_tensor.py +0 -742
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v4.py +0 -441
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/instance_segmentation/v4_tensor.py +0 -729
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v1.py +0 -374
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v1_tensor.py +0 -639
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v2.py +0 -378
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v2_tensor.py +0 -641
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v3.py +0 -417
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/keypoint_detection/v3_tensor.py +0 -674
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v1.py +0 -271
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v1_tensor.py +0 -471
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v2.py +0 -279
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v2_tensor.py +0 -477
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v3.py +0 -323
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_class_classification/v3_tensor.py +0 -520
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v1.py +0 -274
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v1_tensor.py +0 -453
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v2.py +0 -277
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v2_tensor.py +0 -454
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v3.py +0 -322
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_label_classification/v3_tensor.py +0 -493
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/object_detection/v1.py +0 -354
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/object_detection/v1_tensor.py +0 -440
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/object_detection/v2.py +0 -358
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/object_detection/v2_tensor.py +0 -440
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/object_detection/v3.py +0 -400
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/object_detection/v3_tensor.py +0 -479
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/semantic_segmentation/v1.py +0 -321
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/semantic_segmentation/v1_tensor.py +0 -643
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/semantic_segmentation/v2.py +0 -382
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/semantic_segmentation/v2_tensor.py +0 -702
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/third_party/barcode_detection/v1.py +0 -132
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/third_party/barcode_detection/v1_tensor.py +0 -158
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/third_party/qr_code_detection/v1.py +0 -140
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/third_party/qr_code_detection/v1_tensor.py +0 -160
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sampling/identify_changes/v1.py +0 -388
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sampling/identify_changes/v1_tensor.py +0 -405
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sampling/identify_outliers/v1.py +0 -263
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sampling/identify_outliers/v1_tensor.py +0 -265
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/secrets_providers/environment_secrets_store/v1.py +0 -145
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/email_notification/v1.py +0 -507
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/email_notification/v2.py +0 -1089
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/local_file/v1.py +0 -432
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/onvif_movement/v1.py +0 -990
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/onvif_movement/v1_tensor.py +0 -1028
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/s3/v1.py +0 -464
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/slack/notification/v1.py +0 -418
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/twilio/sms/v1.py +0 -437
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/twilio/sms/v2.py +0 -799
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/webhook/v1.py +0 -626
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/botsort/v1.py +0 -326
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/botsort/v1_tensor.py +0 -327
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/bytetrack/v1.py +0 -208
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/bytetrack/v1_tensor.py +0 -215
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/ocsort/v1.py +0 -224
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/ocsort/v1_tensor.py +0 -224
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/sort/v1.py +0 -195
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/sort/v1_tensor.py +0 -202
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/absolute_static_crop/v1.py +0 -170
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/absolute_static_crop/v1_tensor.py +0 -186
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/bounding_rect/v1.py +0 -176
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/bounding_rect/v1_tensor.py +0 -249
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/byte_tracker/v1.py +0 -199
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/byte_tracker/v1_tensor.py +0 -282
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/byte_tracker/v2.py +0 -219
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/byte_tracker/v2_tensor.py +0 -302
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/byte_tracker/v3.py +0 -284
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/byte_tracker/v3_tensor.py +0 -380
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/camera_calibration/v1.py +0 -285
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detection_offset/v1.py +0 -213
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detection_offset/v1_tensor.py +0 -317
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detections_combine/v1.py +0 -123
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detections_combine/v1_tensor.py +0 -341
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detections_filter/v1.py +0 -179
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detections_merge/v1.py +0 -180
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detections_merge/v1_tensor.py +0 -265
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detections_transformation/v1.py +0 -265
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/dynamic_crop/v1.py +0 -316
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/dynamic_crop/v1_tensor.py +0 -603
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/dynamic_zones/v1.py +0 -387
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/dynamic_zones/v1_tensor.py +0 -463
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/geotag_detection/v1.py +0 -294
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/geotag_detection/v1_tensor.py +0 -327
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/image_slicer/v1.py +0 -236
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/image_slicer/v2.py +0 -288
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/per_class_confidence_filter/v1.py +0 -164
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/per_class_confidence_filter/v1_tensor.py +0 -209
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/perspective_correction/v1.py +0 -881
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/perspective_correction/v1_tensor.py +0 -1368
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/qr_code_generator/v1.py +0 -405
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/relative_static_crop/v1.py +0 -173
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/stabilize_detections/v1.py +0 -337
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/stabilize_detections/v1_tensor.py +0 -524
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/stitch_images/v1.py +0 -269
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/stitch_ocr_detections/v1.py +0 -339
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/stitch_ocr_detections/v1_tensor.py +0 -403
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/stitch_ocr_detections/v2.py +0 -881
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/stitch_ocr_detections/v2_tensor.py +0 -955
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/track_class_lock/v1.py +0 -497
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/background_color/v1.py +0 -163
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/background_color/v1_tensor.py +0 -169
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/blur/v1.py +0 -130
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/blur/v1_tensor.py +0 -140
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/bounding_box/v1.py +0 -175
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/bounding_box/v1_tensor.py +0 -525
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/circle/v1.py +0 -162
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/circle/v1_tensor.py +0 -174
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/classification_label/v1.py +0 -564
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/classification_label/v1_tensor.py +0 -661
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/color/v1.py +0 -166
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/color/v1_tensor.py +0 -178
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/corner/v1.py +0 -174
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/corner/v1_tensor.py +0 -186
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/crop/v1.py +0 -205
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/crop/v1_tensor.py +0 -213
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/dot/v1.py +0 -196
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/dot/v1_tensor.py +0 -204
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/ellipse/v1.py +0 -186
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/ellipse/v1_tensor.py +0 -198
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/grid/v1.py +0 -276
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/halo/v1.py +0 -195
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/halo/v1_tensor.py +0 -203
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/halo/v2.py +0 -195
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/halo/v2_tensor.py +0 -203
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/heatmap/v1.py +0 -339
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/heatmap/v1_tensor.py +0 -351
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/icon/v1.py +0 -393
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/icon/v1_tensor.py +0 -402
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/keypoint/v1.py +0 -327
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/keypoint/v1_tensor.py +0 -304
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/label/v1.py +0 -285
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/label/v1_tensor.py +0 -1188
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/label/v2.py +0 -273
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/label/v2_tensor.py +0 -147
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/line_zone/v1.py +0 -210
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/mask/v1.py +0 -185
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/mask/v1_tensor.py +0 -631
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/model_comparison/v1.py +0 -224
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/model_comparison/v1_tensor.py +0 -233
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/pixelate/v1.py +0 -134
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/pixelate/v1_tensor.py +0 -144
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/polygon/v1.py +0 -183
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/polygon/v1_tensor.py +0 -188
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/polygon/v2.py +0 -182
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/polygon/v2_tensor.py +0 -187
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/polygon_zone/v1.py +0 -178
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/reference_path/v1.py +0 -156
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/rich_label/v1.py +0 -370
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/rich_label/v1_tensor.py +0 -151
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/text_display/v1.py +0 -483
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/trace/v1.py +0 -240
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/trace/v1_tensor.py +0 -248
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/triangle/v1.py +0 -212
- roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/triangle/v1_tensor.py +0 -220
- roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/PLC_modbus/v1.py +0 -200
- roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/PLCethernetIP/v1.py +0 -226
- roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/event_writer/v1.py +0 -725
- roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/kafka_consumer/v1.py +0 -1067
- roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/kafka_producer/v1.py +0 -783
- roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/microsoft_sql_server/v1.py +0 -428
- roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/mqtt_reader/v1.py +0 -975
- roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/mqtt_writer/v1.py +0 -623
- roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/opc_writer/v1.py +0 -1558
- roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/plc/v1.py +0 -572
- roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/postgresql/v1.py +0 -630
- roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/compiler/core.py +0 -284
- roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/compiler/entities.py +0 -279
- roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/compiler/graph_constructor.py +0 -2035
- roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/compiler/utils.py +0 -167
- roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/core.py +0 -684
- roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/dynamic_blocks/block_assembler.py +0 -550
- roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/dynamic_blocks/block_scaffolding.py +0 -601
- roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/dynamic_blocks/representation_boundary.py +0 -1464
- roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/executor/core.py +0 -649
- roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/executor/utils.py +0 -136
- roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/inner_workflow/dynamic_blocks_collection.py +0 -143
- roboflow_workflows-0.2.3rc2/roboflow_workflows/http_contract/describe.py +0 -163
- roboflow_workflows-0.2.3rc2/roboflow_workflows/http_contract/entities.py +0 -344
- roboflow_workflows-0.2.3rc2/roboflow_workflows/http_contract/errors.py +0 -173
- roboflow_workflows-0.2.3rc2/roboflow_workflows/prototypes/block.py +0 -594
- roboflow_workflows-0.2.3rc2/roboflow_workflows/prototypes/models_provider.py +0 -310
- roboflow_workflows-0.2.3rc2/roboflow_workflows/prototypes/platform_errors.py +0 -74
- roboflow_workflows-0.2.3rc2/roboflow_workflows.egg-info/PKG-INFO +0 -133
- roboflow_workflows-0.2.3rc2/roboflow_workflows.egg-info/SOURCES.txt +0 -850
- roboflow_workflows-0.2.3rc2/roboflow_workflows.egg-info/requires.txt +0 -50
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/LICENSE +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/README.md +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/_compat_names.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/analytics/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/analytics/data_aggregator/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/analytics/detection_event_log/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/analytics/line_counter/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/analytics/overlap/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/analytics/path_deviation/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/analytics/time_in_zone/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/analytics/velocity/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/cache/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/cache/cache_get/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/cache/cache_set/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/cache/memory_cache.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/auto_rotate_on_edges/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/background_subtraction/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/camera_focus/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/contours/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/contrast_enhancement/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/contrast_enhancement/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/contrast_equalization/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/contrast_equalization/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/convert_grayscale/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/convert_grayscale/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/detections_nearest_neighbor/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/detections_nearest_neighbor/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/distance_measurement/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/dominant_color/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/dominant_color/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/image_blur/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/image_blur/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/image_preprocessing/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/image_preprocessing/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/mask_area_measurement/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/mask_edge_snap/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/morphological_transformation/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/motion_detection/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/pixel_color_count/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/pixel_color_count/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/sift/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/sift_comparison/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/size_measurement/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/template_matching/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/threshold/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/classical_cv/threshold/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/deserializers_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/entities.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/inference_response_entities.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/openrouter.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/operators.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/entities/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/entities/enums.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/entities/introspection.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/entities/operations.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/entities/types.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/errors.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/evaluation_engine/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/evaluation_engine/core.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/evaluation_engine/detection/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/evaluation_engine/detection/geometry.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/introspection/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/introspection/core.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/booleans/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/booleans/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/classification_results/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/classification_results/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/core.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/detection/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/detection/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/detections/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/detections/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/dictionaries/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/dictionaries/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/frame_metadata/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/frame_metadata/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/generic/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/generic/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/images/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/images/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/numbers/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/numbers/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/sequences/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/sequences/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/strings/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/strings/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/timestamps/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/timestamps/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/query_language/operations/utils.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/reasoning.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/segmentation_entities.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/serializers.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/serializers_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/token_usage.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/utils_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/vlm_decoding/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/vlm_decoding/classification.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/vlm_decoding/detection_formats.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/vlm_decoding/detections.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/vlm_decoding/json_extraction.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/vlm_decoding/outputs.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/vlm_decoding/segmentation.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/vlm_decoding/tensor_native.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/vlm_decoding/utils.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/vlm_json.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/common/vlms.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/flow_control/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/flow_control/continue_if/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/flow_control/delta_filter/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/flow_control/inner_workflow/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/flow_control/rate_limiter/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/flow_control/switch_case/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/csv/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/current_time/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/expression/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/first_non_empty_or_default/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/json_parser/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/property_definition/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/string_template/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/vlm_as_classifier/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/vlm_as_detector/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/vlm_as_detector/anthropic_detection_parsing.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/vlm_as_detector/gemini_detection_parsing.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/vlm_as_detector/muse_detection_parsing.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/vlm_as_detector/openai_detection_parsing.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/vlm_as_detector/qwen_detection_parsing.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/formatters/vlm_as_detector/spacexai_detection_parsing.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/fusion/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/fusion/buffer/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/fusion/detections_classes_replacement/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/fusion/detections_consensus/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/fusion/detections_difference/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/fusion/detections_list_rollup/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/fusion/detections_stitch/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/fusion/dimension_collapse/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/fusion/frame_delay/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/fusion/image_stack/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/fusion/overlap_analysis/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/math/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/math/cosine_similarity/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/anthropic_claude/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/clip/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/clip_comparison/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/cog_vlm/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/cosmos3/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/depth_estimation/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/easy_ocr/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/flex/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/flex/inpainting/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/florence2/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/florence2/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/florence2/v2_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/gaze/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/glm_ocr/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/google_gemini/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/google_gemma/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/google_vision_ocr/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/kimi_openrouter/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/llama_vision/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/lmm/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/lmm_classifier/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/meta_vlm/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/moondream2/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/ocr/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/openai/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/openai_compatible/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/openrouter/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/perception_encoder/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/pp_ocr/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/qwen/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/qwen3_5_openrouter/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/qwen3_5vl/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/qwen3_5vl/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/qwen3_5vl/v2_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/qwen3_6_openrouter/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/qwen3vl/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/qwen3vl/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/qwen_vlm/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/seg_preview/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/segment_anything2/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/segment_anything2_video/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/segment_anything3/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/segment_anything3_3d/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/segment_anything3_interactive/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/segment_anything3_video/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/segment_anything_common/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/segment_anything_common/prompts.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/segment_anything_common/streaming_video.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/segment_anything_common/streaming_video_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/segment_anything_common/visual_prompt.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/smolvlm/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/smolvlm/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/spacexai/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/stability_ai/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/stability_ai/image_gen/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/stability_ai/inpainting/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/stability_ai/outpainting/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/yolo_world/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/foundation/zai_vlm/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/roboflow/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/roboflow/action_recognition/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/roboflow/action_recognition/entities.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/models/roboflow/action_recognition/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/instance_segmentation → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/embedding}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/keypoint_detection → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/instance_segmentation}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_class_classification → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/keypoint_detection}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/multi_label_classification → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_class_classification}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/object_detection → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/multi_label_classification}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/roboflow/semantic_segmentation → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/object_detection}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/third_party → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/roboflow/semantic_segmentation}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/third_party/barcode_detection → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/third_party}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/models/third_party/qr_code_detection → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/third_party/barcode_detection}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sampling → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/models/third_party/qr_code_detection}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sampling/identify_changes → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sampling}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sampling/identify_outliers → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sampling/identify_changes}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/secrets_providers → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sampling/identify_outliers}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/secrets_providers/environment_secrets_store → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/secrets_providers}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/secrets_providers/environment_secrets_store}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/email_notification → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/local_file → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/email_notification}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/onvif_movement → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/local_file}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/sinks/noop.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/s3 → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/onvif_movement}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/slack → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/s3}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/slack/notification → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/slack}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/twilio → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/slack/notification}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/twilio/sms → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/twilio}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/sinks/webhook → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/twilio/sms}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/sinks/webhook}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/botsort → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/trackers/_base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/trackers/_base_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/bytetrack → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/botsort}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/ocsort → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/bytetrack}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/trackers/sort → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/ocsort}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/trackers/sort}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/absolute_static_crop → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/bounding_rect → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/absolute_static_crop}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/byte_tracker → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/bounding_rect}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/camera_calibration → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/byte_tracker}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detection_offset → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/camera_calibration}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detections_combine → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detection_offset}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detections_filter → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detections_combine}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detections_merge → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detections_filter}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/detections_transformation → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detections_merge}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/dynamic_crop → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/detections_transformation}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/dynamic_zones → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/dynamic_crop}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/geotag_detection → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/dynamic_zones}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/image_slicer → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/geotag_detection}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/per_class_confidence_filter → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/image_slicer}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/perspective_correction → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/per_class_confidence_filter}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/qr_code_generator → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/perspective_correction}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/relative_static_crop → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/qr_code_generator}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/stabilize_detections → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/relative_static_crop}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/stitch_images → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/stabilize_detections}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/stitch_ocr_detections → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/stitch_images}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/transformations/track_class_lock → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/stitch_ocr_detections}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/transformations/track_class_lock}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/transformations/track_class_lock/v1_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/background_color → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/blur → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/background_color}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/bounding_box → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/blur}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/circle → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/bounding_box}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/classification_label → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/circle}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/color → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/classification_label}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/common → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/color}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/common/annotators → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/common}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/corner → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/common/annotators}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/annotators/background_color.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/annotators/halo.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/annotators/model_comparison.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/annotators/polygon.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/base_colorable.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/base_colorable_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/base_tensor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/README.md +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/anonymous_pro/AnonymousPro-Regular.ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/anonymous_pro/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/courier_prime/CourierPrime-Regular.ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/courier_prime/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/fira_code/FiraCode[wght].ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/fira_code/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/geist/Geist-Regular.ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/geist/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/geist_mono/GeistMono-Regular.ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/geist_mono/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/ibm_plex_mono/IBMPlexMono-Regular.ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/ibm_plex_mono/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/inconsolata/Inconsolata[wdth,wght].ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/inconsolata/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/inter/Inter[opsz,wght].ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/inter/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/jetbrains_mono/JetBrainsMono[wght].ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/jetbrains_mono/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/lato/Lato-Regular.ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/lato/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/montserrat/Montserrat[wght].ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/montserrat/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/noto_sans/NotoSans-Regular.ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/noto_sans/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/nunito_sans/NunitoSans[YTLC,opsz,wdth,wght].ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/nunito_sans/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/open_sans/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/open_sans/OpenSans[wdth,wght].ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/pt_mono/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/pt_mono/PTM55FT.ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/roboto/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/roboto/Roboto[wdth,wght].ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/roboto_mono/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/roboto_mono/RobotoMono[wght].ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/source_code_pro/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/source_code_pro/SourceCodePro[wght].ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/space_mono/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/space_mono/SpaceMono-Regular.ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/work_sans/OFL.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/assets/work_sans/WorkSans[wght].ttf +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/downloader.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/registry.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/fonts/schema.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/label_text.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/common/utils.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/crop → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/corner}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/dot → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/crop}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/ellipse → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/dot}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/grid → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/ellipse}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/halo → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/grid}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/heatmap → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/halo}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/icon → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/heatmap}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/keypoint → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/icon}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/label → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/keypoint}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/line_zone → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/label}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/mask → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/line_zone}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/model_comparison → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/mask}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/pixelate → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/model_comparison}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/polygon → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/pixelate}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/polygon_zone → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/polygon}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/reference_path → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/polygon_zone}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/rich_label → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/reference_path}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/text_display → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/rich_label}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/trace → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/text_display}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/core_steps/visualizations/text_display/utils.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/core_steps/visualizations/triangle → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/trace}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks → roboflow_workflows-0.2.4/roboflow_workflows/core_steps/visualizations/triangle}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/PLC_modbus → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/enterprise_blocks/loader.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/PLCethernetIP → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/PLC_modbus}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/PLCethernetIP}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/event_writer → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/kafka_consumer → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/event_writer}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/enterprise_blocks/sinks/kafka_common.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/kafka_producer → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/kafka_consumer}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/microsoft_sql_server → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/kafka_producer}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/mqtt_reader → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/microsoft_sql_server}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/enterprise_blocks/sinks/mqtt_common.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/mqtt_writer → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/mqtt_reader}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/opc_writer → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/mqtt_writer}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/plc → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/opc_writer}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/enterprise_blocks/sinks/postgresql → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/plc}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/enterprise_blocks/sinks/plc/client.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/enterprise_blocks/sinks/plc/direct.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine → roboflow_workflows-0.2.4/roboflow_workflows/enterprise_blocks/sinks/postgresql}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/environment.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/errors.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/entities → roboflow_workflows-0.2.4/roboflow_workflows/execution_engine}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/constants.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/core.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/introspection → roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/entities}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/entities/base.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/entities/engine.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/entities/tensor_native_types.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/entities/types.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/profiling → roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/introspection}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/introspection/blocks_loader.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/introspection/connections_discovery.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/introspection/entities.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/introspection/schema_parser.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/introspection/selectors_parser.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/introspection/utils.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1 → roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/profiling}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/profiling/core.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/compiler → roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/debugger → roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/compiler}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/compiler/cache.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/compiler/graph_traversal.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/compiler/reference_type_checker.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/compiler/steps_initialiser.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/compiler/syntactic_parser.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/compiler/validator.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/dynamic_blocks → roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/debugger}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/debugger/core.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/executor → roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/dynamic_blocks}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/dynamic_blocks/block_duration.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/dynamic_blocks/debug_logs.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/dynamic_blocks/entities.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/dynamic_blocks/error_utils.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/dynamic_blocks/modal_executor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/dynamic_blocks/workflow_debug.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/entities.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/executor/execution_data_manager → roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/executor}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/execution_engine/v1/introspection → roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/executor/execution_data_manager}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/executor/execution_data_manager/branching_manager.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/executor/execution_data_manager/dynamic_batches_manager.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/executor/execution_data_manager/execution_cache.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/executor/execution_data_manager/manager.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/executor/execution_data_manager/step_input_assembler.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/executor/flow_coordinator.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/executor/output_constructor.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/executor/runtime_input_assembler.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/executor/runtime_input_validator.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/inner_workflow/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/inner_workflow/compiler_bridge.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/inner_workflow/composition.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/inner_workflow/constants.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/inner_workflow/errors.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/inner_workflow/inline.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/inner_workflow/reference_resolution.py +0 -0
- {roboflow_workflows-0.2.3rc2/roboflow_workflows/http_contract → roboflow_workflows-0.2.4/roboflow_workflows/execution_engine/v1/introspection}/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/introspection/inputs_discovery.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/introspection/kinds_schemas.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/introspection/kinds_schemas_register.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/introspection/outputs_discovery.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/introspection/types_discovery.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/execution_engine/v1/step_error_handlers.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/offline.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/prototypes/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/prototypes/background_tasks.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/prototypes/cache.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/prototypes/image_codec.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/prototypes/observer.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/prototypes/platform_client.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/prototypes/workspace_resolver.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/utils/__init__.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/utils/action_recognition.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/utils/image_encoding.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/utils/images.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/utils/in_memory_cache.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/utils/lru_cache.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/utils/text.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/utils/url_input.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows/warnings.py +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows.egg-info/dependency_links.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/roboflow_workflows.egg-info/top_level.txt +0 -0
- {roboflow_workflows-0.2.3rc2 → roboflow_workflows-0.2.4}/setup.cfg +0 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: roboflow-workflows
|
|
3
|
+
Version: 0.2.4
|
|
4
|
+
Summary: Roboflow Workflows execution engine and block library
|
|
5
|
+
License: LICENSE.core (Apache 2.0) applies to all files in this repository
|
|
6
|
+
except for files in or under any directory that contains a superseding
|
|
7
|
+
license file (such as the models located in `inference/models/`
|
|
8
|
+
which are governed by their own individual licenses and
|
|
9
|
+
the files and folders in the `inference/enterprise/` and `inference_cli/lib/enterprise/` directories which are
|
|
10
|
+
governed by the Roboflow Enterprise License located at
|
|
11
|
+
`inference/enterprise/LICENSE.txt`).
|
|
12
|
+
Requires-Python: <3.14,>=3.10
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: pydantic<2.12.0,>=2.8.0
|
|
16
|
+
Requires-Dist: typing-extensions<=4.15.0,>=4.8.0
|
|
17
|
+
Requires-Dist: networkx<4.0.0,>=3.0.0
|
|
18
|
+
Requires-Dist: packaging~=24.0
|
|
19
|
+
Requires-Dist: numpy<2.4,>=1.26
|
|
20
|
+
Requires-Dist: supervision<0.31.0,>=0.30.6
|
|
21
|
+
Requires-Dist: opencv-python<4.13.0,>=4.8.1.78
|
|
22
|
+
Requires-Dist: pillow<13.0.0,>=12.3.0
|
|
23
|
+
Requires-Dist: shapely<2.1.0,>=2.0.4
|
|
24
|
+
Requires-Dist: scikit-image<=0.25.2,>=0.19.0
|
|
25
|
+
Requires-Dist: pycocotools<2.1.0,>=2.0.10
|
|
26
|
+
Requires-Dist: pybase64~=1.0.0
|
|
27
|
+
Requires-Dist: filelock<=4.0.0,>=3.20.3
|
|
28
|
+
Requires-Dist: requests<3.0.0,>=2.33.0
|
|
29
|
+
Requires-Dist: urllib3<3.0.0,>=2.7.0
|
|
30
|
+
Requires-Dist: torch<3.0.0,>=2.0.1
|
|
31
|
+
Requires-Dist: torchvision
|
|
32
|
+
Requires-Dist: inference-models>=0.37.1
|
|
33
|
+
Requires-Dist: inference-sdk>=1.7.0
|
|
34
|
+
Requires-Dist: msgpack
|
|
35
|
+
Requires-Dist: websocket-client~=1.9.0
|
|
36
|
+
Requires-Dist: openai<2.0.0,>=1.17.0
|
|
37
|
+
Requires-Dist: anthropic~=0.49.0
|
|
38
|
+
Requires-Dist: boto3<=1.41.5,>=1.40.0
|
|
39
|
+
Requires-Dist: botocore<=1.41.5,>=1.40.0
|
|
40
|
+
Requires-Dist: httpx~=0.28.1
|
|
41
|
+
Requires-Dist: pandas<3.0.0,>=2.2.3
|
|
42
|
+
Requires-Dist: matplotlib
|
|
43
|
+
Requires-Dist: qrcode~=8.0.0
|
|
44
|
+
Requires-Dist: zxing-cpp~=2.2.0; python_version < "3.13"
|
|
45
|
+
Requires-Dist: zxing-cpp==2.3.0; python_version >= "3.13"
|
|
46
|
+
Requires-Dist: trackers~=2.4.0
|
|
47
|
+
Requires-Dist: onvif-zeep-async==2.0.0
|
|
48
|
+
Requires-Dist: zeep<5.0,>=4.0
|
|
49
|
+
Requires-Dist: simple-pid~=2.0.1
|
|
50
|
+
Requires-Dist: slack-sdk~=3.33.4
|
|
51
|
+
Requires-Dist: twilio~=9.3.7
|
|
52
|
+
Provides-Extra: enterprise
|
|
53
|
+
Requires-Dist: asyncua~=1.1.5; extra == "enterprise"
|
|
54
|
+
Requires-Dist: paho-mqtt~=1.6.1; extra == "enterprise"
|
|
55
|
+
Requires-Dist: pylogix==1.0.5; extra == "enterprise"
|
|
56
|
+
Requires-Dist: pymodbus<=3.8.3,>=3.6.9; extra == "enterprise"
|
|
57
|
+
Requires-Dist: psycopg[binary]<4,>=3.2; extra == "enterprise"
|
|
58
|
+
Requires-Dist: confluent-kafka<3,>=2.5; extra == "enterprise"
|
|
59
|
+
Requires-Dist: aws-msk-iam-sasl-signer-python<2,>=1.0.2; extra == "enterprise"
|
|
60
|
+
Requires-Dist: fastapi<0.142,>=0.134; extra == "enterprise"
|
|
61
|
+
Provides-Extra: test
|
|
62
|
+
Requires-Dist: pytest<10.0.0,>=9.0.3; extra == "test"
|
|
63
|
+
Requires-Dist: requests-mock~=1.12.1; extra == "test"
|
|
64
|
+
Dynamic: license-file
|
|
65
|
+
|
|
66
|
+
# roboflow-workflows
|
|
67
|
+
|
|
68
|
+
Roboflow Workflows execution engine and block library.
|
|
69
|
+
|
|
70
|
+
`roboflow-workflows` is the Python distribution for the Workflows engine that
|
|
71
|
+
powers [Roboflow Inference](https://github.com/roboflow/inference). It can be
|
|
72
|
+
installed independently for use in standalone pipelines or embedded in the
|
|
73
|
+
full Inference server.
|
|
74
|
+
|
|
75
|
+
## Changelog and versions
|
|
76
|
+
|
|
77
|
+
[CHANGELOG.md](CHANGELOG.md) records package changes, including an Execution
|
|
78
|
+
engine subsection for compile/run behavior changes. Each release records its
|
|
79
|
+
bundled engine version, starting with package `0.2.2`. The package version
|
|
80
|
+
identifies the distribution; the separate engine version controls workflow and
|
|
81
|
+
block compatibility. Block-only releases can leave the engine version unchanged.
|
|
82
|
+
|
|
83
|
+
Earlier engine changes and migration examples remain in the
|
|
84
|
+
[historical engine changelog](https://docs.roboflow.com/workflows/developer-guide/developer-guide/execution-engine-changelog).
|
|
85
|
+
|
|
86
|
+
## Installation
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
pip install roboflow-workflows
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Optional extras:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
pip install "roboflow-workflows[enterprise]" # enterprise sink blocks
|
|
96
|
+
pip install "roboflow-workflows[test]" # test-only dependencies
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Local development (from this repository)
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Provision font assets (required by visualization blocks).
|
|
103
|
+
python workflows/build_scripts/download_fonts.py
|
|
104
|
+
|
|
105
|
+
# Install the package in editable mode with test + enterprise deps.
|
|
106
|
+
pip install -e './workflows[test,enterprise]'
|
|
107
|
+
|
|
108
|
+
# Run package unit and isolation tests.
|
|
109
|
+
cd workflows
|
|
110
|
+
python -m pytest tests/unit_tests tests/isolation
|
|
111
|
+
|
|
112
|
+
# Build a wheel from the same project directory (fonts already provisioned).
|
|
113
|
+
uv lock --check
|
|
114
|
+
uv build --out-dir ../dist
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
For editing `roboflow_workflows` source while running the full Inference
|
|
118
|
+
server, install both projects together from the repository root:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
pip install -e ./inference_models -e './workflows[test,enterprise]' -e .
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
The dev images also support mounting `workflows/roboflow_workflows` at
|
|
125
|
+
`/app/roboflow_workflows`, alongside the existing `/app/inference` mount.
|
|
126
|
+
Provision local fonts first, since a bind mount replaces bundled image files.
|
|
127
|
+
|
|
128
|
+
## Font assets
|
|
129
|
+
|
|
130
|
+
Visualization blocks require pre-provisioned font files. Font binaries are
|
|
131
|
+
downloaded by `workflows/build_scripts/download_fonts.py` (or
|
|
132
|
+
`make download_fonts` at the repository root) and are gitignored. They are
|
|
133
|
+
embedded as package-data in the published wheel so that offline environments
|
|
134
|
+
work without a checkout.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "roboflow-workflows"
|
|
3
|
+
version = "0.2.4"
|
|
4
|
+
description = "Roboflow Workflows execution engine and block library"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = {file = "LICENSE"}
|
|
7
|
+
requires-python = ">=3.10,<3.14"
|
|
8
|
+
dependencies = [
|
|
9
|
+
"pydantic>=2.8.0,<2.12.0",
|
|
10
|
+
"typing-extensions>=4.8.0,<=4.15.0",
|
|
11
|
+
"networkx>=3.0.0,<4.0.0",
|
|
12
|
+
"packaging~=24.0",
|
|
13
|
+
"numpy>=1.26,<2.4",
|
|
14
|
+
"supervision>=0.30.6,<0.31.0",
|
|
15
|
+
"opencv-python>=4.8.1.78,<4.13.0",
|
|
16
|
+
"pillow>=12.3.0,<13.0.0",
|
|
17
|
+
"shapely>=2.0.4,<2.1.0",
|
|
18
|
+
"scikit-image>=0.19.0,<=0.25.2",
|
|
19
|
+
"pycocotools>=2.0.10,<2.1.0",
|
|
20
|
+
"pybase64~=1.0.0",
|
|
21
|
+
"filelock>=3.20.3,<=4.0.0",
|
|
22
|
+
"requests>=2.33.0,<3.0.0",
|
|
23
|
+
"urllib3>=2.7.0,<3.0.0",
|
|
24
|
+
"torch>=2.0.1,<3.0.0",
|
|
25
|
+
"torchvision",
|
|
26
|
+
"inference-models>=0.37.1",
|
|
27
|
+
"inference-sdk>=1.7.0",
|
|
28
|
+
"msgpack",
|
|
29
|
+
"websocket-client~=1.9.0",
|
|
30
|
+
"openai>=1.17.0,<2.0.0",
|
|
31
|
+
"anthropic~=0.49.0",
|
|
32
|
+
"boto3>=1.40.0,<=1.41.5",
|
|
33
|
+
"botocore>=1.40.0,<=1.41.5",
|
|
34
|
+
"httpx~=0.28.1",
|
|
35
|
+
"pandas>=2.2.3,<3.0.0",
|
|
36
|
+
"matplotlib",
|
|
37
|
+
"qrcode~=8.0.0",
|
|
38
|
+
"zxing-cpp~=2.2.0; python_version < '3.13'",
|
|
39
|
+
"zxing-cpp==2.3.0; python_version >= '3.13'",
|
|
40
|
+
"trackers~=2.4.0",
|
|
41
|
+
"onvif-zeep-async==2.0.0",
|
|
42
|
+
"zeep>=4.0,<5.0",
|
|
43
|
+
"simple-pid~=2.0.1",
|
|
44
|
+
"slack-sdk~=3.33.4",
|
|
45
|
+
"twilio~=9.3.7",
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
[project.optional-dependencies]
|
|
49
|
+
enterprise = [
|
|
50
|
+
"asyncua~=1.1.5",
|
|
51
|
+
"paho-mqtt~=1.6.1",
|
|
52
|
+
"pylogix==1.0.5",
|
|
53
|
+
"pymodbus>=3.6.9,<=3.8.3",
|
|
54
|
+
"psycopg[binary]>=3.2,<4",
|
|
55
|
+
"confluent-kafka>=2.5,<3",
|
|
56
|
+
"aws-msk-iam-sasl-signer-python>=1.0.2,<2",
|
|
57
|
+
"fastapi>=0.134,<0.142",
|
|
58
|
+
]
|
|
59
|
+
test = [
|
|
60
|
+
"pytest>=9.0.3,<10.0.0",
|
|
61
|
+
"requests-mock~=1.12.1",
|
|
62
|
+
]
|
|
63
|
+
|
|
64
|
+
[build-system]
|
|
65
|
+
requires = ["setuptools>=83.0.0", "wheel"]
|
|
66
|
+
build-backend = "setuptools.build_meta"
|
|
67
|
+
|
|
68
|
+
[tool.setuptools.packages.find]
|
|
69
|
+
include = ["roboflow_workflows*"]
|
|
70
|
+
exclude = ["tests*", "build_scripts*", "scripts*"]
|
|
71
|
+
|
|
72
|
+
[tool.setuptools.package-data]
|
|
73
|
+
roboflow_workflows = [
|
|
74
|
+
"core_steps/visualizations/common/fonts/assets/*/*",
|
|
75
|
+
"core_steps/visualizations/common/fonts/README.md",
|
|
76
|
+
]
|
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
"""Injected configuration for `inference/core/workflows`.
|
|
2
|
+
|
|
3
|
+
Every value the module used to take from `inference.core.env` is a field of
|
|
4
|
+
`WorkflowsConfiguration`, which the host builds from its own already-resolved
|
|
5
|
+
settings and installs once per process with `configure_process`.
|
|
6
|
+
|
|
7
|
+
The configuration is PROCESS-WIDE in its entirety. Every configuration value
|
|
8
|
+
is read from a module constant frozen at import - `core_steps/loader.py`
|
|
9
|
+
branches on the tensor flag while it is being imported, `offline.py:34` reads
|
|
10
|
+
`SECURE_GATEWAY`, `block_assembler.py:100` reads the custom-Python
|
|
11
|
+
authorization flag - so there is no field a second, differing configuration
|
|
12
|
+
could change after the fact. `ensure_process_configuration_matches` therefore
|
|
13
|
+
refuses ANY difference rather than accepting a value nothing would honour.
|
|
14
|
+
|
|
15
|
+
Per-engine variance lives where it already did: the named init parameters
|
|
16
|
+
`workflows_core.{step_execution_mode, api_key, disable_sinks,
|
|
17
|
+
allow_access_to_file_system, allowed_write_directory,
|
|
18
|
+
allow_access_to_environmental_variables}`, resolved by
|
|
19
|
+
`steps_initialiser.retrieve_init_parameter_values`.
|
|
20
|
+
|
|
21
|
+
`default_configuration()` is the STANDALONE fallback, not the production path.
|
|
22
|
+
Its values are the ones `inference/core/env.py` resolves for an EMPTY
|
|
23
|
+
environment. Every normalisation `env.py` performs - `str2bool`, `.lower()`,
|
|
24
|
+
the `OFFLINE_MODE` / `SECURE_GATEWAY` rewrites, the `PROJECT`-dependent hosted
|
|
25
|
+
URLs, the api-key-transport validation - stays in `env.py`; the host builder
|
|
26
|
+
copies the RESOLVED attributes. `resolve_image_tensor_device` is the single
|
|
27
|
+
copied piece of logic and is pinned by a differential test against `env.py`.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
import threading
|
|
31
|
+
from dataclasses import dataclass, field, fields, is_dataclass
|
|
32
|
+
from typing import Any, List, Optional, Tuple
|
|
33
|
+
|
|
34
|
+
from roboflow_workflows.errors import WorkflowEnvironmentConfigurationError
|
|
35
|
+
|
|
36
|
+
# The values `inference/core/env.py` accepts for
|
|
37
|
+
# `WORKFLOWS_CUSTOM_PYTHON_EXECUTION_MODE`, after its `.strip().lower()`.
|
|
38
|
+
CUSTOM_PYTHON_EXECUTION_MODES = ("local", "modal")
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
@dataclass(frozen=True)
|
|
42
|
+
class EngineConfiguration:
|
|
43
|
+
"""Engine-level values, copied from the host's resolved settings.
|
|
44
|
+
|
|
45
|
+
Raises:
|
|
46
|
+
WorkflowEnvironmentConfigurationError: If `custom_python_execution_mode`
|
|
47
|
+
is not exactly one of `CUSTOM_PYTHON_EXECUTION_MODES`. The value is
|
|
48
|
+
not normalised here: a host passes the value it already resolved.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
step_execution_mode: str = "local"
|
|
52
|
+
async_future_result_timeout: float = 60.0
|
|
53
|
+
max_inner_workflow_depth: int = 4
|
|
54
|
+
max_inner_workflow_count: int = 32
|
|
55
|
+
allow_custom_python_execution: bool = True
|
|
56
|
+
custom_python_execution_mode: str = "local"
|
|
57
|
+
allow_blocks_accessing_local_storage: bool = True
|
|
58
|
+
allow_blocks_accessing_environmental_variables: bool = True
|
|
59
|
+
blocks_write_directory: Optional[str] = None
|
|
60
|
+
# Tuples, not lists: the configuration is frozen and compared by value. The
|
|
61
|
+
# facade re-materialises the `list` the call sites see today.
|
|
62
|
+
disabled_block_types: Tuple[str, ...] = ()
|
|
63
|
+
disabled_block_patterns: Tuple[str, ...] = ()
|
|
64
|
+
allow_webhook_sink_to_non_global_addresses: bool = True
|
|
65
|
+
# PostgreSQL sink policy. Optional[Tuple] mirrors env.py's None-vs-set
|
|
66
|
+
# distinction (empty env var / unset). The sink reconstructs a `set`.
|
|
67
|
+
allow_postgresql_sink_to_non_global_addresses: bool = True
|
|
68
|
+
postgresql_sink_blacklisted_addresses: Optional[Tuple[str, ...]] = None
|
|
69
|
+
postgresql_sink_whitelisted_addresses: Optional[Tuple[str, ...]] = None
|
|
70
|
+
# Kafka sinks bootstrap-server policy. Optional[Tuple] mirrors env.py's
|
|
71
|
+
# None-vs-list distinction; the facade rebuilds the ORDERED list.
|
|
72
|
+
allow_kafka_sinks_user_provided_bootstrap_servers: bool = True
|
|
73
|
+
kafka_sinks_whitelisted_bootstrap_servers: Optional[Tuple[str, ...]] = None
|
|
74
|
+
# MQTT blocks broker-address policy, same shape as the Kafka pair: the
|
|
75
|
+
# facade rebuilds the ORDERED list and the first entry is the operator's
|
|
76
|
+
# broker when user-provided hosts are not allowed.
|
|
77
|
+
allow_mqtt_blocks_user_provided_host: bool = True
|
|
78
|
+
mqtt_blocks_whitelisted_hosts: Optional[Tuple[str, ...]] = None
|
|
79
|
+
|
|
80
|
+
def __post_init__(self) -> None:
|
|
81
|
+
# Consumers compare against "modal" only, so any other value would
|
|
82
|
+
# silently run custom Python locally.
|
|
83
|
+
if self.custom_python_execution_mode not in CUSTOM_PYTHON_EXECUTION_MODES:
|
|
84
|
+
raise WorkflowEnvironmentConfigurationError(
|
|
85
|
+
public_message=(
|
|
86
|
+
"`engine.custom_python_execution_mode` must be one of "
|
|
87
|
+
f"{list(CUSTOM_PYTHON_EXECUTION_MODES)}, got "
|
|
88
|
+
f"{self.custom_python_execution_mode!r}."
|
|
89
|
+
),
|
|
90
|
+
context="workflow_configuration | engine_configuration",
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
@dataclass(frozen=True)
|
|
95
|
+
class TensorConfiguration:
|
|
96
|
+
"""Selects which block classes `core_steps/loader.py` imports and how
|
|
97
|
+
`WorkflowImageData` stores pixels. Block loading is process-global and
|
|
98
|
+
cached (`blocks_loader.py:252`), so these can never be per-engine."""
|
|
99
|
+
|
|
100
|
+
representation_enabled: bool = False
|
|
101
|
+
# `torch.device` when the flag is on and torch is importable, else None.
|
|
102
|
+
# Typed `Any` so this module never imports torch (an OPTIONAL dependency).
|
|
103
|
+
image_tensor_device: Optional[Any] = None
|
|
104
|
+
visualisation_validate_owners: bool = False
|
|
105
|
+
sam_video_mask_representation: str = "rle"
|
|
106
|
+
enforce_dense_instance_masks: bool = False
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
@dataclass(frozen=True)
|
|
110
|
+
class RemoteExecutionConfiguration:
|
|
111
|
+
api_target: str = "hosted"
|
|
112
|
+
api_key_transport: str = "both"
|
|
113
|
+
local_inference_api_url: str = "http://127.0.0.1:9001"
|
|
114
|
+
hosted_detect_url: str = "https://detect.roboflow.com"
|
|
115
|
+
hosted_classification_url: str = "https://classify.roboflow.com"
|
|
116
|
+
hosted_instance_segmentation_url: str = "https://outline.roboflow.com"
|
|
117
|
+
hosted_semantic_segmentation_url: str = "https://segment.roboflow.com"
|
|
118
|
+
hosted_core_model_url: str = "https://infer.roboflow.com"
|
|
119
|
+
max_step_batch_size: int = 1
|
|
120
|
+
max_step_concurrent_requests: int = 8
|
|
121
|
+
inner_workflow_remote_target: str = "https://serverless.roboflow.com"
|
|
122
|
+
inner_workflow_remote_dispatch_request_timeout: float = 300.0
|
|
123
|
+
openai_compatible_allowed_base_urls: Tuple[str, ...] = ("*",)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
@dataclass(frozen=True)
|
|
127
|
+
class PlatformConfiguration:
|
|
128
|
+
api_base_url: str = "https://api.roboflow.com"
|
|
129
|
+
offline_mode: bool = False
|
|
130
|
+
secure_gateway: Optional[str] = None
|
|
131
|
+
gcp_serverless: bool = False
|
|
132
|
+
# LAMBDA runtime flag, mirrors inference.core.env.LAMBDA. Used by the
|
|
133
|
+
# PostgreSQL sink hosted-runtime gate together with gcp_serverless.
|
|
134
|
+
lambda_runtime: bool = False
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
@dataclass(frozen=True)
|
|
138
|
+
class FontsConfiguration:
|
|
139
|
+
allow_download: bool = True
|
|
140
|
+
model_cache_dir: str = "/tmp/cache"
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
@dataclass(frozen=True)
|
|
144
|
+
class ModelsConfiguration:
|
|
145
|
+
lmm_enabled: bool = False
|
|
146
|
+
vlm_segmentation_max_polygon_vertices: int = 500
|
|
147
|
+
clip_version_id: str = "ViT-B-16"
|
|
148
|
+
core_model_sam2_enabled: bool = True
|
|
149
|
+
core_model_sam3_enabled: bool = True
|
|
150
|
+
core_model_pe_enabled: bool = True
|
|
151
|
+
core_model_gaze_enabled: bool = True
|
|
152
|
+
sam3_exec_mode: str = "local"
|
|
153
|
+
sam3_3d_objects_enabled: bool = False
|
|
154
|
+
florence2_enabled: bool = True
|
|
155
|
+
qwen_2_5_enabled: bool = True
|
|
156
|
+
qwen_3_enabled: bool = True
|
|
157
|
+
qwen_3_5_enabled: bool = True
|
|
158
|
+
smolvlm2_enabled: bool = True
|
|
159
|
+
moondream2_enabled: bool = True
|
|
160
|
+
depth_estimation_enabled: bool = True
|
|
161
|
+
cosmos3_enabled: bool = True
|
|
162
|
+
glm_ocr_enabled: bool = True
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
@dataclass(frozen=True)
|
|
166
|
+
class ModalConfiguration:
|
|
167
|
+
token_id: Optional[str] = None
|
|
168
|
+
token_secret: Optional[str] = field(default=None, repr=False)
|
|
169
|
+
workspace_name: str = "roboflow"
|
|
170
|
+
allow_anonymous_execution: bool = False
|
|
171
|
+
anonymous_workspace_name: str = "anonymous"
|
|
172
|
+
app_name: str = "webexec-roboflow-platform"
|
|
173
|
+
executor_idle_ttl_seconds: int = 1800
|
|
174
|
+
jpeg_quality: int = 95
|
|
175
|
+
transport: str = "http"
|
|
176
|
+
ws_connect_timeout_seconds: int = 30
|
|
177
|
+
ws_read_timeout_seconds: int = 720
|
|
178
|
+
ws_connection_pool_size: int = 1
|
|
179
|
+
ws_fail_on_session_loss: bool = False
|
|
180
|
+
ws_idle_release_seconds: int = 120
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
@dataclass(frozen=True)
|
|
184
|
+
class SecretsConfiguration:
|
|
185
|
+
api_key: Optional[str] = field(default=None, repr=False)
|
|
186
|
+
roboflow_internal_service_name: Optional[str] = None
|
|
187
|
+
roboflow_internal_service_secret: Optional[str] = field(default=None, repr=False)
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
@dataclass(frozen=True)
|
|
191
|
+
class DebugConfiguration:
|
|
192
|
+
output_dir: Optional[str] = None
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
@dataclass(frozen=True)
|
|
196
|
+
class WorkflowsConfiguration:
|
|
197
|
+
engine: EngineConfiguration = field(default_factory=EngineConfiguration)
|
|
198
|
+
tensor: TensorConfiguration = field(default_factory=TensorConfiguration)
|
|
199
|
+
remote: RemoteExecutionConfiguration = field(
|
|
200
|
+
default_factory=RemoteExecutionConfiguration
|
|
201
|
+
)
|
|
202
|
+
platform: PlatformConfiguration = field(default_factory=PlatformConfiguration)
|
|
203
|
+
fonts: FontsConfiguration = field(default_factory=FontsConfiguration)
|
|
204
|
+
models: ModelsConfiguration = field(default_factory=ModelsConfiguration)
|
|
205
|
+
modal: ModalConfiguration = field(default_factory=ModalConfiguration)
|
|
206
|
+
secrets: SecretsConfiguration = field(default_factory=SecretsConfiguration)
|
|
207
|
+
debug: DebugConfiguration = field(default_factory=DebugConfiguration)
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
def default_configuration() -> WorkflowsConfiguration:
|
|
211
|
+
"""The standalone fallback: every field at its documented default."""
|
|
212
|
+
return WorkflowsConfiguration()
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
def resolve_image_tensor_device(
|
|
216
|
+
representation_enabled: bool, device: Optional[str] = None
|
|
217
|
+
) -> Optional[Any]:
|
|
218
|
+
"""Materialise the tensor device exactly as `inference/core/env.py:1535-1547`.
|
|
219
|
+
|
|
220
|
+
`torch` is an OPTIONAL dependency, so both the import and the device are
|
|
221
|
+
deferred behind the flag AND guarded on torch's presence. Off-flag or
|
|
222
|
+
torch-less the value is `None`. An invalid device string raises whatever
|
|
223
|
+
`torch.device` raises, which is what `env.py` does too - it does not guard
|
|
224
|
+
that call either.
|
|
225
|
+
|
|
226
|
+
The `try` deliberately spans the import, the cuda autodetect AND the
|
|
227
|
+
materialisation, catching only `ImportError`, because that is exactly
|
|
228
|
+
`env.py:1536-1547`'s boundary (round-2 defect 5: the round-1 copy protected
|
|
229
|
+
only the import, so a `torch.cuda.is_available()` raising `ImportError`
|
|
230
|
+
would have propagated from the copy while `env.py` swallowed it).
|
|
231
|
+
`test_the_copy_preserves_the_originals_exception_boundary` pins both shapes.
|
|
232
|
+
"""
|
|
233
|
+
if not representation_enabled:
|
|
234
|
+
return None
|
|
235
|
+
try:
|
|
236
|
+
import torch
|
|
237
|
+
|
|
238
|
+
if device is None:
|
|
239
|
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
|
240
|
+
return torch.device(device)
|
|
241
|
+
except ImportError:
|
|
242
|
+
return None
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
def describe_configuration_difference(
|
|
246
|
+
installed: WorkflowsConfiguration, candidate: WorkflowsConfiguration
|
|
247
|
+
) -> List[str]:
|
|
248
|
+
"""`['group.field: <installed> != <candidate>', ...]`, empty when equal.
|
|
249
|
+
|
|
250
|
+
Secret fields are compared but never rendered - the message says the field
|
|
251
|
+
differs, not what either value is.
|
|
252
|
+
"""
|
|
253
|
+
differences = []
|
|
254
|
+
for group in fields(WorkflowsConfiguration):
|
|
255
|
+
installed_group = getattr(installed, group.name)
|
|
256
|
+
candidate_group = getattr(candidate, group.name)
|
|
257
|
+
if installed_group == candidate_group:
|
|
258
|
+
continue
|
|
259
|
+
if not is_dataclass(candidate_group):
|
|
260
|
+
differences.append(f"{group.name}: differs")
|
|
261
|
+
continue
|
|
262
|
+
for member in fields(installed_group):
|
|
263
|
+
left = getattr(installed_group, member.name)
|
|
264
|
+
right = getattr(candidate_group, member.name)
|
|
265
|
+
if left == right:
|
|
266
|
+
continue
|
|
267
|
+
if member.repr is False:
|
|
268
|
+
differences.append(f"{group.name}.{member.name}: differs (redacted)")
|
|
269
|
+
else:
|
|
270
|
+
differences.append(f"{group.name}.{member.name}: {left!r} != {right!r}")
|
|
271
|
+
return differences
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
_CONFIGURATION: Optional[WorkflowsConfiguration] = None
|
|
275
|
+
# One lock guards installation, the sticky fallback initialisation in
|
|
276
|
+
# `get_configuration` (which also assigns) and `reset_configuration`. Round-1
|
|
277
|
+
# review reproduced two conflicting installs both succeeding through an
|
|
278
|
+
# unlocked check-then-assign; Phase 10's image-codec registry locks for the
|
|
279
|
+
# same reason.
|
|
280
|
+
_INSTALL_LOCK = threading.RLock()
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
def configure_process(configuration: WorkflowsConfiguration) -> None:
|
|
284
|
+
"""Install the process-wide configuration. Set-once, by value.
|
|
285
|
+
|
|
286
|
+
Installing the identical object, or an EQUAL one, is a no-op - frozen
|
|
287
|
+
dataclasses compare by value and the server memoises its instance.
|
|
288
|
+
Installing a DIFFERING one raises, naming every group and field that
|
|
289
|
+
differs.
|
|
290
|
+
"""
|
|
291
|
+
global _CONFIGURATION
|
|
292
|
+
with _INSTALL_LOCK:
|
|
293
|
+
if _CONFIGURATION is not None and _CONFIGURATION != configuration:
|
|
294
|
+
differences = describe_configuration_difference(
|
|
295
|
+
_CONFIGURATION, configuration
|
|
296
|
+
)
|
|
297
|
+
raise WorkflowEnvironmentConfigurationError(
|
|
298
|
+
public_message=(
|
|
299
|
+
"A different WorkflowsConfiguration is already installed in "
|
|
300
|
+
"this process. Workflows configuration is process-level: "
|
|
301
|
+
"block registration and the image representation are decided "
|
|
302
|
+
"once, at import time, and every other value is frozen into "
|
|
303
|
+
"module constants. Install the configuration before importing "
|
|
304
|
+
"any workflows module, and install the same one everywhere. "
|
|
305
|
+
f"Differences: {differences}"
|
|
306
|
+
),
|
|
307
|
+
context="workflow_configuration | process_installation",
|
|
308
|
+
)
|
|
309
|
+
_CONFIGURATION = configuration
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
def get_configuration() -> WorkflowsConfiguration:
|
|
313
|
+
"""The installed configuration, falling back to the standalone default.
|
|
314
|
+
|
|
315
|
+
The fallback is STICKY: once read, it becomes the process configuration, so
|
|
316
|
+
a later `configure_process` with different values raises instead of
|
|
317
|
+
silently disagreeing with values already frozen into module constants.
|
|
318
|
+
"""
|
|
319
|
+
global _CONFIGURATION
|
|
320
|
+
with _INSTALL_LOCK:
|
|
321
|
+
if _CONFIGURATION is None:
|
|
322
|
+
_CONFIGURATION = default_configuration()
|
|
323
|
+
return _CONFIGURATION
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
def reset_configuration() -> None:
|
|
327
|
+
"""Test-only hook: forget the installed configuration."""
|
|
328
|
+
global _CONFIGURATION
|
|
329
|
+
with _INSTALL_LOCK:
|
|
330
|
+
_CONFIGURATION = None
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
def ensure_process_configuration_matches(configuration: Any) -> None:
|
|
334
|
+
"""Refuse an engine-supplied configuration that differs from the process one.
|
|
335
|
+
|
|
336
|
+
`init_parameters["workflows_core.configuration"]` is a CONSISTENCY
|
|
337
|
+
ASSERTION, not an override channel: the composition roots pass the object
|
|
338
|
+
the host installed, and a mismatch means the process is mis-wired. Because
|
|
339
|
+
every value is read from a module constant frozen at import, accepting a
|
|
340
|
+
differing value would mean accepting a value nothing honours.
|
|
341
|
+
|
|
342
|
+
The caller decides PRESENCE (the engine calls this only when the key is in
|
|
343
|
+
`init_parameters`); this function judges the VALUE, and `None` is not a
|
|
344
|
+
valid value: an explicit `None` would be handed to every block that
|
|
345
|
+
declares `configuration` ahead of the registered default
|
|
346
|
+
(`steps_initialiser.py:124-125` prefers explicit values), so it is refused
|
|
347
|
+
like any other non-`WorkflowsConfiguration` (round-4 defect 1).
|
|
348
|
+
"""
|
|
349
|
+
if not isinstance(configuration, WorkflowsConfiguration):
|
|
350
|
+
# Only ever reached through the DEDICATED init-parameter keys, so a
|
|
351
|
+
# foreign value there is a mis-wiring, never a plugin's own parameter
|
|
352
|
+
# (`v1/core.py` deliberately does not fall back to the bare name).
|
|
353
|
+
raise WorkflowEnvironmentConfigurationError(
|
|
354
|
+
public_message=(
|
|
355
|
+
"`workflows_core.configuration` must be a WorkflowsConfiguration, "
|
|
356
|
+
f"got {type(configuration).__name__}."
|
|
357
|
+
),
|
|
358
|
+
context="workflow_compilation | engine_initialisation",
|
|
359
|
+
)
|
|
360
|
+
installed = get_configuration()
|
|
361
|
+
if configuration == installed:
|
|
362
|
+
return
|
|
363
|
+
differences = describe_configuration_difference(installed, configuration)
|
|
364
|
+
raise WorkflowEnvironmentConfigurationError(
|
|
365
|
+
public_message=(
|
|
366
|
+
"`workflows_core.configuration` differs from the WorkflowsConfiguration "
|
|
367
|
+
"installed in this process. Workflows configuration is process-level "
|
|
368
|
+
"and cannot be varied per engine; use the named init parameters "
|
|
369
|
+
"(`workflows_core.step_execution_mode`, `workflows_core.api_key`, "
|
|
370
|
+
"`workflows_core.disable_sinks`, "
|
|
371
|
+
"`workflows_core.allow_access_to_file_system`, "
|
|
372
|
+
"`workflows_core.allowed_write_directory`, "
|
|
373
|
+
"`workflows_core.allow_access_to_environmental_variables`) for "
|
|
374
|
+
f"per-engine values. Differences: {differences}"
|
|
375
|
+
),
|
|
376
|
+
context="workflow_compilation | engine_initialisation",
|
|
377
|
+
)
|