[{"data":1,"prerenderedAt":3388},["ShallowReactive",2],{"\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Flive-data-framework-monitoring-app":3,"navigation-developers":839,"\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Flive-data-framework-monitoring":2791,"surr-\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Flive-data-framework-monitoring":3385},{"id":4,"title":5,"author":6,"body":7,"description":819,"extension":820,"meta":821,"navigation":137,"path":831,"seo":832,"sitemap":833,"stem":837,"__hash__":838},"content\u002F2.developers\u002F4.user-guide\u002F60.deployment\u002F50.live-data-framework-monitoring.md","Monitoring a Pathway Live Data Framework Instance",null,{"type":8,"value":9,"toc":812},"minimark",[10,14,18,31,34,37,47,55,60,79,86,168,171,292,295,349,356,360,366,474,477,481,490,502,507,515,533,743,746,769,776,779,784,787,794,808],[11,12,5],"h1",{"id":13},"monitoring-a-pathway-live-data-framework-instance",[15,16,17],"p",{},"This article will guide you through setting up monitoring for your Pathway Live Data Framework application.\nIt will allow you to reliably oversee the execution of your streaming pipeline.",[15,19,20,21,24,25,30],{},"⚠️ Monitoring features require a Pathway Live Data Framework Scale license.",[22,23],"br",{},"\nTo obtain a free license, please visit the ",[26,27,29],"a",{"href":28},"\u002Fframework\u002Fget-license","Get License"," page.",[15,32,33],{},"Proper monitoring of Pathway Live Data Framework applications is inevitable for business-critical production deployment.\nOne has to ensure that all the current and previous bottlenecks, like drops in latency and throughput or any anomalous behaviors\nare easily identifiable, so that all the issues can be immediately resolved.",[15,35,36],{},"The Pathway Live Data Framework leverages the OpenTelemetry protocol (OTLP) for gathering and sending traces, metrics,\nand logs which enables connecting seamlessly with various monitoring destinations, including the popular OpenTelemetry Collector.",[15,38,39,40,46],{},"This tutorial will show you how to set up the monitoring of a Pathway Live Data Framework application using an OpenTelemetry Collector. The logs will be accessed using Grafana Cloud and ",[26,41,45],{"href":42,"rel":43},"https:\u002F\u002Fgrafana.com\u002Foss\u002Floki\u002F",[44],"nofollow","Grafana Loki",".",[15,48,49,50,46],{},"To follow along, you will need an OpenTelemetry Collector set up with the gRPC protocol enabled for its OTLP receiver.\nIf you already have your OpenTelemetry Collector configured correctly, you can skip the next section, otherwise please make sure\nyou have ",[26,51,54],{"href":52,"rel":53},"https:\u002F\u002Fwww.docker.com\u002Fget-started\u002F",[44],"Docker installed",[56,57,59],"h2",{"id":58},"configuring-opentelemetry-collector","Configuring OpenTelemetry Collector",[15,61,62,63,67,68,73,74,46],{},"The OpenTelemetry Collector offers various deployment options.\nThis tutorial focuses on an approach using Docker and the official ",[64,65,66],"code",{},"otel\u002Fopentelemetry-collector-contrib"," image.\nHowever, keep in mind there are other methods available.\nYou can for example use the ",[26,69,72],{"href":70,"rel":71},"https:\u002F\u002Fopentelemetry.io\u002Fdocs\u002Fkubernetes\u002Fhelm\u002Fcollector\u002F",[44],"official Helm Chart"," to run it on Kubernetes,\nor reach for solutions like ",[26,75,78],{"href":76,"rel":77},"https:\u002F\u002Fgrafana.com\u002Fdocs\u002Falloy\u002Flatest\u002Fget-started\u002Finstall\u002F",[44],"Grafana Alloy",[15,80,81,82,85],{},"First, create a configuration file named ",[64,83,84],{},"config.yaml"," for the OpenTelemetry Collector with OTLP receiver and debug exporter.",[87,88,93],"pre",{"className":89,"code":90,"language":91,"meta":92,"style":92},"language-yaml shiki shiki-themes material-theme-palenight","receivers:\n  otlp:\n    protocols:\n      grpc:\n\nexporters:\n  debug:\n    verbosity: detailed\n","yaml","",[64,94,95,108,116,124,132,139,147,155],{"__ignoreMap":92},[96,97,100,104],"span",{"class":98,"line":99},"line",1,[96,101,103],{"class":102},"s-wAU","receivers",[96,105,107],{"class":106},"sAklC",":\n",[96,109,111,114],{"class":98,"line":110},2,[96,112,113],{"class":102},"  otlp",[96,115,107],{"class":106},[96,117,119,122],{"class":98,"line":118},3,[96,120,121],{"class":102},"    protocols",[96,123,107],{"class":106},[96,125,127,130],{"class":98,"line":126},4,[96,128,129],{"class":102},"      grpc",[96,131,107],{"class":106},[96,133,135],{"class":98,"line":134},5,[96,136,138],{"emptyLinePlaceholder":137},true,"\n",[96,140,142,145],{"class":98,"line":141},6,[96,143,144],{"class":102},"exporters",[96,146,107],{"class":106},[96,148,150,153],{"class":98,"line":149},7,[96,151,152],{"class":102},"  debug",[96,154,107],{"class":106},[96,156,158,161,164],{"class":98,"line":157},8,[96,159,160],{"class":102},"    verbosity",[96,162,163],{"class":106},":",[96,165,167],{"class":166},"sfyAc"," detailed\n",[15,169,170],{},"Now specify pipelines for traces, metrics and logs, adding the following snippet in the same file:",[87,172,174],{"className":89,"code":173,"language":91,"meta":92,"style":92},"service:\n  pipelines:\n    traces:\n      receivers: [otlp]\n      exporters: [debug]\n    metrics:\n      receivers: [otlp]\n      exporters: [debug]\n    logs:\n      receivers: [otlp]\n      exporters: [debug]\n",[64,175,176,183,190,197,213,227,234,246,258,266,279],{"__ignoreMap":92},[96,177,178,181],{"class":98,"line":99},[96,179,180],{"class":102},"service",[96,182,107],{"class":106},[96,184,185,188],{"class":98,"line":110},[96,186,187],{"class":102},"  pipelines",[96,189,107],{"class":106},[96,191,192,195],{"class":98,"line":118},[96,193,194],{"class":102},"    traces",[96,196,107],{"class":106},[96,198,199,202,204,207,210],{"class":98,"line":126},[96,200,201],{"class":102},"      receivers",[96,203,163],{"class":106},[96,205,206],{"class":106}," [",[96,208,209],{"class":166},"otlp",[96,211,212],{"class":106},"]\n",[96,214,215,218,220,222,225],{"class":98,"line":134},[96,216,217],{"class":102},"      exporters",[96,219,163],{"class":106},[96,221,206],{"class":106},[96,223,224],{"class":166},"debug",[96,226,212],{"class":106},[96,228,229,232],{"class":98,"line":141},[96,230,231],{"class":102},"    metrics",[96,233,107],{"class":106},[96,235,236,238,240,242,244],{"class":98,"line":149},[96,237,201],{"class":102},[96,239,163],{"class":106},[96,241,206],{"class":106},[96,243,209],{"class":166},[96,245,212],{"class":106},[96,247,248,250,252,254,256],{"class":98,"line":157},[96,249,217],{"class":102},[96,251,163],{"class":106},[96,253,206],{"class":106},[96,255,224],{"class":166},[96,257,212],{"class":106},[96,259,261,264],{"class":98,"line":260},9,[96,262,263],{"class":102},"    logs",[96,265,107],{"class":106},[96,267,269,271,273,275,277],{"class":98,"line":268},10,[96,270,201],{"class":102},[96,272,163],{"class":106},[96,274,206],{"class":106},[96,276,209],{"class":166},[96,278,212],{"class":106},[96,280,282,284,286,288,290],{"class":98,"line":281},11,[96,283,217],{"class":102},[96,285,163],{"class":106},[96,287,206],{"class":106},[96,289,224],{"class":166},[96,291,212],{"class":106},[15,293,294],{},"You can now launch the server, using command below.",[87,296,300],{"className":297,"code":298,"language":299,"meta":92,"style":92},"language-bash shiki shiki-themes material-theme-palenight","docker run -v $(pwd)\u002Fconfig.yaml:\u002Fetc\u002Fotelcol-contrib\u002Fconfig.yaml -p \u003CPORT>:4317 otel\u002Fopentelemetry-collector-contrib:latest\n","bash",[64,301,302],{"__ignoreMap":92},[96,303,304,308,311,314,317,321,324,327,330,333,336,340,343,346],{"class":98,"line":99},[96,305,307],{"class":306},"s5Dmg","docker",[96,309,310],{"class":166}," run",[96,312,313],{"class":166}," -v",[96,315,316],{"class":106}," $(",[96,318,320],{"class":319},"sdLwU","pwd",[96,322,323],{"class":106},")",[96,325,326],{"class":166},"\u002Fconfig.yaml:\u002Fetc\u002Fotelcol-contrib\u002Fconfig.yaml",[96,328,329],{"class":166}," -p",[96,331,332],{"class":106}," \u003C",[96,334,335],{"class":166},"POR",[96,337,339],{"class":338},"s0W1g","T",[96,341,342],{"class":106},">",[96,344,345],{"class":166},":4317",[96,347,348],{"class":166}," otel\u002Fopentelemetry-collector-contrib:latest\n",[15,350,351,352,355],{},"Make sure to replace ",[64,353,354],{},"\u003CPORT>"," with the chosen port.",[56,357,359],{"id":358},"enabling-pathway-live-data-framework-monitoring","Enabling Pathway Live Data Framework Monitoring",[15,361,362,363,46],{},"Once you have your license key ready, setting up monitoring in the Pathway Live Data Framework is easy. Just copy these lines at the beginning of your pipeline.\nDon't forget, you can obtain your free license ",[26,364,365],{"href":28},"here",[87,367,371],{"className":368,"code":369,"language":370,"meta":92,"style":92},"language-python shiki shiki-themes material-theme-palenight","import pathway as pw\n\npw.set_license_key(key=\"YOUR-KEY\")\npw.set_monitoring_config(server_endpoint=\"http:\u002F\u002Flocalhost:\u003CPORT>\")\n\n# your pipeline here...\n\npw.run()\n","python",[64,372,373,388,392,423,448,452,458,462],{"__ignoreMap":92},[96,374,375,379,382,385],{"class":98,"line":99},[96,376,378],{"class":377},"s6cf3","import",[96,380,381],{"class":338}," pathway ",[96,383,384],{"class":377},"as",[96,386,387],{"class":338}," pw\n",[96,389,390],{"class":98,"line":110},[96,391,138],{"emptyLinePlaceholder":137},[96,393,394,397,399,402,405,409,412,415,418,420],{"class":98,"line":118},[96,395,396],{"class":338},"pw",[96,398,46],{"class":106},[96,400,401],{"class":319},"set_license_key",[96,403,404],{"class":106},"(",[96,406,408],{"class":407},"s7ZW3","key",[96,410,411],{"class":106},"=",[96,413,414],{"class":106},"\"",[96,416,417],{"class":166},"YOUR-KEY",[96,419,414],{"class":106},[96,421,422],{"class":106},")\n",[96,424,425,427,429,432,434,437,439,441,444,446],{"class":98,"line":126},[96,426,396],{"class":338},[96,428,46],{"class":106},[96,430,431],{"class":319},"set_monitoring_config",[96,433,404],{"class":106},[96,435,436],{"class":407},"server_endpoint",[96,438,411],{"class":106},[96,440,414],{"class":106},[96,442,443],{"class":166},"http:\u002F\u002Flocalhost:\u003CPORT>",[96,445,414],{"class":106},[96,447,422],{"class":106},[96,449,450],{"class":98,"line":134},[96,451,138],{"emptyLinePlaceholder":137},[96,453,454],{"class":98,"line":141},[96,455,457],{"class":456},"saEQR","# your pipeline here...\n",[96,459,460],{"class":98,"line":149},[96,461,138],{"emptyLinePlaceholder":137},[96,463,464,466,468,471],{"class":98,"line":157},[96,465,396],{"class":338},[96,467,46],{"class":106},[96,469,470],{"class":319},"run",[96,472,473],{"class":106},"()\n",[15,475,476],{},"That's it! Run your pipeline now and observe the OpenTelemetry Collector logs for collected data. You should see the first entries appear shortly.",[56,478,480],{"id":479},"exploring-the-data","Exploring the Data",[15,482,483,484,489],{},"The OpenTelemetry Collector lets you export collected data to various observability backends.\nExplore the OpenTelemetry documentation and the Collector's ",[26,485,488],{"href":486,"rel":487},"https:\u002F\u002Fgithub.com\u002Fopen-telemetry\u002Fopentelemetry-collector",[44],"repository"," for more details.",[15,491,492,493,496,497,46],{},"This tutorial focuses on using ",[26,494,45],{"href":42,"rel":495},[44]," as your log destination. Grafana Cloud offers a comprehensive package that covers your monitoring needs.\nOnce you've completed this tutorial, configuring Grafana Prometheus for metrics and Grafana Tempo for traces should be straightforward.\nComplete configuration example can be found in ",[26,498,501],{"href":499,"rel":500},"https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Fmonitoring",[44],"our repository",[503,504,506],"h3",{"id":505},"configuring-grafana-cloud","Configuring Grafana Cloud",[15,508,509,510,514],{},"Create your account in the Grafana Cloud, by going to ",[26,511,512],{"href":512,"rel":513},"https:\u002F\u002Fgrafana.com\u002F",[44],".\nIn the organization panel, click on \"Send Logs\" button under Loki section.\nIt should direct you to Loki configuration page.",[15,516,517,518,520,521,524,525,528,529,532],{},"Modify your ",[64,519,84],{}," by adding configuration below. Replace ",[64,522,523],{},"\u003CUSER>",", ",[64,526,527],{},"\u003CTOKEN>",", and ",[64,530,531],{},"\u003CURL>"," with the information found under the \"Sending Logs to Grafana Cloud\" section.\nEnsure that your token is generated with metrics write permissions.",[87,534,536],{"className":89,"code":535,"language":91,"meta":92,"style":92},"# set up authorization extension  \nextensions:\n  basicauth\u002Fgrafana_cloud_loki:\n    client_auth:\n      username:  \u003CUSER>\n      password:  \u003CTOKEN>\n\n# add tempo exporter with authenticator\nexporters:\n  debug:\n    verbosity: detailed\n  loki\u002Fgrafana_cloud_logs:\n    endpoint: \u003CURL>\n    auth:\n      authenticator: basicauth\u002Fgrafana_cloud_loki\n\n\n# enabled authorization extension and add exporter to the logs pipeline\nservice:\n  extensions: [basicauth\u002Fgrafana_cloud_loki]\n  pipelines:\n    logs:\n      receivers: [otlp]\n      exporters: [loki\u002Fgrafana_cloud_logs, debug]\n    ...\n",[64,537,538,543,550,557,564,574,584,588,593,599,605,613,621,632,640,651,656,661,667,674,689,696,703,716,736],{"__ignoreMap":92},[96,539,540],{"class":98,"line":99},[96,541,542],{"class":456},"# set up authorization extension  \n",[96,544,545,548],{"class":98,"line":110},[96,546,547],{"class":102},"extensions",[96,549,107],{"class":106},[96,551,552,555],{"class":98,"line":118},[96,553,554],{"class":102},"  basicauth\u002Fgrafana_cloud_loki",[96,556,107],{"class":106},[96,558,559,562],{"class":98,"line":126},[96,560,561],{"class":102},"    client_auth",[96,563,107],{"class":106},[96,565,566,569,571],{"class":98,"line":134},[96,567,568],{"class":102},"      username",[96,570,163],{"class":106},[96,572,573],{"class":166},"  \u003CUSER>\n",[96,575,576,579,581],{"class":98,"line":141},[96,577,578],{"class":102},"      password",[96,580,163],{"class":106},[96,582,583],{"class":166},"  \u003CTOKEN>\n",[96,585,586],{"class":98,"line":149},[96,587,138],{"emptyLinePlaceholder":137},[96,589,590],{"class":98,"line":157},[96,591,592],{"class":456},"# add tempo exporter with authenticator\n",[96,594,595,597],{"class":98,"line":260},[96,596,144],{"class":102},[96,598,107],{"class":106},[96,600,601,603],{"class":98,"line":268},[96,602,152],{"class":102},[96,604,107],{"class":106},[96,606,607,609,611],{"class":98,"line":281},[96,608,160],{"class":102},[96,610,163],{"class":106},[96,612,167],{"class":166},[96,614,616,619],{"class":98,"line":615},12,[96,617,618],{"class":102},"  loki\u002Fgrafana_cloud_logs",[96,620,107],{"class":106},[96,622,624,627,629],{"class":98,"line":623},13,[96,625,626],{"class":102},"    endpoint",[96,628,163],{"class":106},[96,630,631],{"class":166}," \u003CURL>\n",[96,633,635,638],{"class":98,"line":634},14,[96,636,637],{"class":102},"    auth",[96,639,107],{"class":106},[96,641,643,646,648],{"class":98,"line":642},15,[96,644,645],{"class":102},"      authenticator",[96,647,163],{"class":106},[96,649,650],{"class":166}," basicauth\u002Fgrafana_cloud_loki\n",[96,652,654],{"class":98,"line":653},16,[96,655,138],{"emptyLinePlaceholder":137},[96,657,659],{"class":98,"line":658},17,[96,660,138],{"emptyLinePlaceholder":137},[96,662,664],{"class":98,"line":663},18,[96,665,666],{"class":456},"# enabled authorization extension and add exporter to the logs pipeline\n",[96,668,670,672],{"class":98,"line":669},19,[96,671,180],{"class":102},[96,673,107],{"class":106},[96,675,677,680,682,684,687],{"class":98,"line":676},20,[96,678,679],{"class":102},"  extensions",[96,681,163],{"class":106},[96,683,206],{"class":106},[96,685,686],{"class":166},"basicauth\u002Fgrafana_cloud_loki",[96,688,212],{"class":106},[96,690,692,694],{"class":98,"line":691},21,[96,693,187],{"class":102},[96,695,107],{"class":106},[96,697,699,701],{"class":98,"line":698},22,[96,700,263],{"class":102},[96,702,107],{"class":106},[96,704,706,708,710,712,714],{"class":98,"line":705},23,[96,707,201],{"class":102},[96,709,163],{"class":106},[96,711,206],{"class":106},[96,713,209],{"class":166},[96,715,212],{"class":106},[96,717,719,721,723,725,728,731,734],{"class":98,"line":718},24,[96,720,217],{"class":102},[96,722,163],{"class":106},[96,724,206],{"class":106},[96,726,727],{"class":166},"loki\u002Fgrafana_cloud_logs",[96,729,730],{"class":106},",",[96,732,733],{"class":166}," debug",[96,735,212],{"class":106},[96,737,739],{"class":98,"line":738},25,[96,740,742],{"class":741},"sx098","    ...\n",[15,744,745],{},"You can now restart your OpenTelemetry Collector and check Grafana Loki.",[747,748,749,753,756,763],"ol",{},[750,751,752],"li",{},"Go to your Grafana organization portal and launch Grafana.",[750,754,755],{},"Select \"Explore\" in the secontion on the left.",[750,757,758,759,762],{},"Select ",[64,760,761],{},"grafanacloud-\u003Cyour-org>-loki"," source.",[750,764,765,766],{},"Filter by label ",[64,767,768],{},"service_name=~\".*pathway\"",[770,771],"img",{"src":772,"alt":773,"className":774},"\u002Fassets\u002Fcontent\u002Ftutorials\u002Fgrafana-cloud-loki.png","Explore loki",[775],"mx-auto",[15,777,778],{},"You should see the logs appearing below.",[770,780],{"src":781,"alt":782,"className":783},"\u002Fassets\u002Fcontent\u002Ftutorials\u002Fgrafana-cloud-loki-2.png","Explore loki example logs",[775],[15,785,786],{},"This tutorial only scratches the surface of monitoring setup but should provide a good starting point.",[15,788,789,790,489],{},"Note that apart from exporting the metrics to a third-party system, you can also export them to a local SQLite database and visualize the computation graph over time. You can refer to this ",[26,791,793],{"href":792},"\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Fweb-dashboard","tutorial",[15,795,796,797,801,802,807],{},"Don't hesitate to check out ",[26,798,800],{"href":499,"rel":799},[44],"our examples"," as well as ",[26,803,806],{"href":804,"rel":805},"https:\u002F\u002Fopentelemetry.io\u002Fdocs\u002F",[44],"OpenTelemetry documentation"," to learn more.",[809,810,811],"style",{},"html pre.shiki code .s-wAU, html code.shiki .s-wAU{--shiki-default:#F07178}html pre.shiki code .sAklC, html code.shiki .sAklC{--shiki-default:#89DDFF}html pre.shiki code .sfyAc, html code.shiki .sfyAc{--shiki-default:#C3E88D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s5Dmg, html code.shiki .s5Dmg{--shiki-default:#FFCB6B}html pre.shiki code .sdLwU, html code.shiki .sdLwU{--shiki-default:#82AAFF}html pre.shiki code .s0W1g, html code.shiki .s0W1g{--shiki-default:#BABED8}html pre.shiki code .s6cf3, html code.shiki .s6cf3{--shiki-default:#89DDFF;--shiki-default-font-style:italic}html pre.shiki code .s7ZW3, html code.shiki .s7ZW3{--shiki-default:#BABED8;--shiki-default-font-style:italic}html pre.shiki code .saEQR, html code.shiki .saEQR{--shiki-default:#676E95;--shiki-default-font-style:italic}html pre.shiki code .sx098, html code.shiki .sx098{--shiki-default:#F78C6C}",{"title":92,"searchDepth":110,"depth":110,"links":813},[814,815,816],{"id":58,"depth":110,"text":59},{"id":358,"depth":110,"text":359},{"id":479,"depth":110,"text":480,"children":817},[818],{"id":505,"depth":118,"text":506},"Tutorial on how to set up monitoring of a Pathway Live Data Framework instance","md",{"date":822,"thumbnail":823,"tags":824,"keywords":826},"2024-05-27","\u002Fassets\u002Fcontent\u002Fblog\u002Fth-prometheus.png",[793,825],"engineering",[827,828,829,830],"monitoring","OpenTelemetry","Grafana","metrics","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Flive-data-framework-monitoring",{"title":5,"description":819},{"loc":831,"images":834},[835,836],{"loc":772},{"loc":781},"2.developers\u002F4.user-guide\u002F60.deployment\u002F50.live-data-framework-monitoring","lf9VjRa9EdZbBxDr9Ezt0dV-zrPbro-d3GTIpJpmDis",[840],{"title":841,"path":842,"stem":843,"children":844,"page":862},"Developers","\u002Fdevelopers","2.developers",[845,1719,2045],{"title":846,"path":847,"stem":848,"children":849,"page":862},"User Guide","\u002Fdevelopers\u002Fuser-guide","2.developers\u002F4.user-guide",[850,905,1177,1297,1375,1501,1623,1639,1698],{"title":851,"meta":852,"icon":853,"path":854,"stem":855,"children":856,"page":862},"Introduction",{"icon":853},"heroicons:book-open","\u002Fdevelopers\u002Fuser-guide\u002Fintroduction","2.developers\u002F4.user-guide\u002F10.introduction",[857,863,868,873,878,883,888,893,898],{"title":858,"path":859,"stem":860,"meta":861},"Welcome","\u002Fdevelopers\u002Fuser-guide\u002Fintroduction\u002Fwelcome","2.developers\u002F4.user-guide\u002F10.introduction\u002F10.welcome",{"heading":862,"toc":862},false,{"title":864,"path":865,"stem":866,"meta":867},"Installation","\u002Fdevelopers\u002Fuser-guide\u002Fintroduction\u002Finstallation","2.developers\u002F4.user-guide\u002F10.introduction\u002F20.installation",{"heading":862,"toc":862},{"title":869,"path":870,"stem":871,"meta":872},"Overview","\u002Fdevelopers\u002Fuser-guide\u002Fintroduction\u002Flive-data-framework-overview","2.developers\u002F4.user-guide\u002F10.introduction\u002F30.live-data-framework-overview",{},{"title":874,"path":875,"stem":876,"meta":877},"Starting Examples","\u002Fdevelopers\u002Fuser-guide\u002Fintroduction\u002Ffirst-realtime-app","2.developers\u002F4.user-guide\u002F10.introduction\u002F40.first-realtime-app",{},{"title":879,"path":880,"stem":881,"meta":882},"Core Concepts","\u002Fdevelopers\u002Fuser-guide\u002Fintroduction\u002Fconcepts","2.developers\u002F4.user-guide\u002F10.introduction\u002F50.concepts",{},{"title":884,"path":885,"stem":886,"meta":887},"Why Pathway","\u002Fdevelopers\u002Fuser-guide\u002Fintroduction\u002Fwhy-live-data-framework","2.developers\u002F4.user-guide\u002F10.introduction\u002F60.why-live-data-framework",{},{"title":889,"path":890,"stem":891,"meta":892},"Licensing Guide","\u002Fdevelopers\u002Fuser-guide\u002Fintroduction\u002Flicensing-guide","2.developers\u002F4.user-guide\u002F10.introduction\u002F65.licensing-guide",{"heading":862,"toc":862},{"title":894,"path":895,"stem":896,"meta":897},"Streaming and Static Modes","\u002Fdevelopers\u002Fuser-guide\u002Fintroduction\u002Fstreaming-and-static-modes","2.developers\u002F4.user-guide\u002F10.introduction\u002F70.streaming-and-static-modes",{},{"title":899,"path":900,"stem":901,"meta":902},"Batch Processing in Python","\u002Fdevelopers\u002Fuser-guide\u002Fintroduction\u002Fbatch-processing","2.developers\u002F4.user-guide\u002F10.introduction\u002F80.batch-processing",{"thumbnail":903,"thumbnailFit":904},"\u002Fassets\u002Fcontent\u002Fdocumentation\u002Fpathway-batch.png","contain",{"title":906,"path":907,"stem":908,"children":909,"page":862},"Connect","\u002Fdevelopers\u002Fuser-guide\u002Fconnect","2.developers\u002F4.user-guide\u002F20.connect",[910,922,927,933,938,943,956,966,971,991],{"title":911,"path":912,"stem":913,"meta":914},"Basic Data Types","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fdatatypes","2.developers\u002F4.user-guide\u002F20.connect\u002F20.datatypes",{"date":915,"tags":916,"keywords":918,"notebook_export_path":921},"2024-01-26",[793,917],"table",[919,920],"type","schema","notebooks\u002Ftutorials\u002Fbasic_datatypes.ipynb",{"title":923,"path":924,"stem":925,"meta":926},"Connectors in Pathway","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors-overview","2.developers\u002F4.user-guide\u002F20.connect\u002F30.connectors-overview",{},{"title":928,"path":929,"stem":930,"meta":931},"Connectors list","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Flive-data-framework-connectors","2.developers\u002F4.user-guide\u002F20.connect\u002F35.live-data-framework-connectors",{"layout":932,"aside":137,"toc":862,"single":137},"default",{"title":934,"path":935,"stem":936,"meta":937},"Defining Schema","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fschema","2.developers\u002F4.user-guide\u002F20.connect\u002F40.schema",{},{"title":939,"path":940,"stem":941,"meta":942},"Generate Data Streams with the demo Module","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fartificial-streams","2.developers\u002F4.user-guide\u002F20.connect\u002F50.artificial-streams",{},{"title":944,"path":945,"stem":946,"meta":947},"Automatic Generation of Schema Class","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fschema-generation","2.developers\u002F4.user-guide\u002F20.connect\u002F60.schema-generation",{"date":948,"thumbnail":949,"tags":951,"keywords":952,"notebook_export_path":955},"2023-11-08",{"src":950},"\u002Fassets\u002Fcontent\u002Fblog\u002Fth-custom-connectors.png",[793,917],[920,919,953,954],"JSON","connectors","notebooks\u002Ftutorials\u002Fschema-generation.ipynb",{"title":957,"path":958,"stem":959,"meta":960},"Dealing with JSON Data Type","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fjson_type","2.developers\u002F4.user-guide\u002F20.connect\u002F70.json_type",{"date":961,"thumbnail":962,"tags":963,"keywords":964,"notebook_export_path":965},"2023-12-22","\u002Fassets\u002Fcontent\u002Fblog\u002Fth-json.png",[793,917],[953,919,920],"notebooks\u002Ftutorials\u002Fjson_type.ipynb",{"title":967,"path":968,"stem":969,"meta":970},"Switching from Batch to Streaming","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fswitch-from-batch-to-streaming","2.developers\u002F4.user-guide\u002F20.connect\u002F80.switch-from-batch-to-streaming",{},{"title":972,"path":973,"stem":974,"meta":975},"Live Web Scraping","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fpython-web-scraping","2.developers\u002F4.user-guide\u002F20.connect\u002F90.python-web-scraping",{"date":976,"tags":977,"keywords":978,"tech_icons":986,"thumbnail":988,"deployment_tag":989,"docker_github_link":990},"2025-03-13",[793,954],[979,980,981,982,983,984,985],"connector","scraping","WEB","Python","input","streaming","web scraping",[987],"streamline:web","\u002Fassets\u002Fcontent\u002Fshowcases\u002Fweb_scraping\u002Fweb-scraping-th.png",[307],"https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Fweb-scraping",{"title":992,"path":993,"stem":994,"children":995,"page":862},"Connectors","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors",[996,1013,1025,1037,1046,1065,1076,1089,1103,1111,1123,1133,1142,1154,1167],{"title":997,"path":998,"stem":999,"meta":1000},"File System Connector","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Ffs-connector","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F05.fs-connector",{"date":915,"tags":1001,"tech_icons":1002,"deployment_tag":1004,"keywords":1006,"notebook_export_path":1012},[793,917],[1003],"lets-icons:file-fill",[1005,307],"jupyter",[979,1007,1008,1009,983,1010,1011,984],"file system","csv","json","output","static","notebooks\u002Ftutorials\u002Ffs_connector.ipynb",{"title":1014,"path":1015,"stem":1016,"meta":1017},"CSV connectors","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fcsv_connectors","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F10.csv_connectors",{"date":1018,"thumbnail":1019,"tags":1020,"keywords":1021,"tech_icons":1023},"2023-01-12","\u002Fassets\u002Fcontent\u002Fblog\u002Fth-csv-connectors.png",[793,954],[979,1022,983,1010,1011,984],"CSV",[1024],"mdi:file-csv",{"title":1026,"path":1027,"stem":1028,"meta":1029},"Sending alerts to Slack","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fslack_send_alerts","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F100.slack_send_alerts",{"date":1030,"tags":1031,"keywords":1032,"tech_icons":1035},"2024-02-16",[793,954],[979,1033,1034,1010,984],"Slack","alerts",[1036],"mdi:slack",{"title":1038,"path":1039,"stem":1040,"meta":1041},"Airbyte connectors","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fairbyte-connectors","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F110.airbyte-connectors",{"tags":1042,"keywords":1043},[793,954],[979,1044,1045,983,1011,984],"Airbyte","cloud",{"title":1047,"path":1048,"stem":1049,"meta":1050},"Using Pathway Debezium Connector for MongoDB","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fmongodb-debezium","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F115.mongodb-debezium",{"date":1051,"tags":1052,"keywords":1053,"tech_icons":1061,"deployment_tag":1063,"docker_github_link":1064,"hideInConnectorList":137},"2024-10-30",[793,954],[979,1054,1055,1056,1057,1058,1059,1060,983,1010,984],"database","MongoDB","CDC","Debezium","Kafka","Zookeeper","Docker",[1062],"material-symbols-light:database",[307],"https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Fdebezium-mongodb-example",{"title":1066,"path":1067,"stem":1068,"meta":1069},"JSON Lines connectors","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fjsonlines-connector","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F15.jsonlines-connector",{"date":1070,"tags":1071,"keywords":1072,"tech_icons":1074},"2024-02-20",[793,954],[979,1073,953,983,1010,1011,984],"JSON Lines",[1075],"lets-icons:json",{"title":1077,"path":1078,"stem":1079,"meta":1080},"Database connectors","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fdatabase-connectors","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F20.database-connectors",{"date":1081,"thumbnail":1082,"tags":1083,"keywords":1084,"tech_icons":1086,"deployment_tag":1087,"docker_github_link":1088},"2023-01-19","\u002Fassets\u002Fcontent\u002Fblog\u002Fth-database-connectors.png",[793,954],[979,1054,1085,1056,1057,1058,1059,1060,983,1010,984],"PostgreSQL",[1062],[307],"https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Fdebezium-postgres-example",{"title":1090,"path":1091,"stem":1092,"meta":1093},"Connecting Pathway to NeonDB","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fneondb-connector","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F23.neondb-connector",{"date":1094,"tags":1095,"keywords":1096,"tech_icons":1102,"hideInConnectorList":137},"2026-06-03",[793,954],[979,1054,1097,1098,1085,1099,1056,1100,1101,983,1010,984],"NeonDB","Neon","serverless","logical replication","SSL",[1062],{"title":1104,"path":1105,"stem":1106,"meta":1107},"Custom Python connectors","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fcustom-python-connectors","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F30.custom-python-connectors",{"date":1108,"thumbnail":950,"tags":1109,"keywords":1110},"2023-04-13",[793,954],[979,982,983,984],{"title":1112,"path":1113,"stem":1114,"meta":1115},"Kafka connectors","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fkafka_connectors","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F30.kafka_connectors",{"date":1116,"thumbnail":1117,"tags":1118,"tech_icons":1119,"deployment_tag":1121,"keywords":1122},"2023-01-15","\u002Fassets\u002Fcontent\u002Fblog\u002Fth-kafka-connectors.png",[793,954],[1120],"mdi:apache-kafka",[307],[979,1058,1060,983,1010,984],{"title":1124,"path":1125,"stem":1126,"meta":1127},"NATS connectors","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fnats-connectors","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F33.nats-connectors",{"date":1128,"tags":1129,"deployment_tag":1130,"keywords":1131},"2024-12-06",[793,954],[307],[979,1132,1060,983,1010,984],"NATS",{"title":1134,"path":1135,"stem":1136,"meta":1137},"Python output connectors","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fpython-output-connectors","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F35.python-output-connectors",{"date":1138,"thumbnail":1139,"tags":1140,"keywords":1141},"2023-08-31","\u002Fassets\u002Fcontent\u002Fblog\u002Fth-output-connector.png",[793,954],[979,982,1010,984],{"title":1143,"path":1144,"stem":1145,"meta":1146},"Google Drive connector","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fgdrive-connector","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F70.gdrive-connector",{"date":1147,"thumbnail":1148,"tags":1149,"keywords":1150,"tech_icons":1152},"2023-12-14","\u002Fassets\u002Fcontent\u002Fblog\u002Fth-gdrive-connector.png",[793,954],[979,1151,1045,983,1011,984],"Google Drive",[1153],"simple-icons:googledrive",{"title":1155,"path":1156,"stem":1157,"meta":1158},"Switching from Kafka to Redpanda","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fswitching-to-redpanda","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F80.switching-to-redpanda",{"date":1159,"thumbnail":1160,"tags":1161,"keywords":1162,"deployment_tag":1164,"tech_icons":1165,"docker_github_link":1166,"hideInConnectorList":137},"2023-03-24","\u002Fassets\u002Fcontent\u002Ftutorials\u002Fredpanda\u002Fth-Kafka_vs_Redpanda.png",[793,954],[979,1163,1058,1059,1060,983,1010,984],"Redpanda",[307],[1120],"https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Fbest-movies-example\u002Fredpanda-version",{"title":1168,"path":1169,"stem":1170,"meta":1171},"Custom WebSockets connectors","\u002Fdevelopers\u002Fuser-guide\u002Fconnect\u002Fconnectors\u002Fwebsockets-connectors","2.developers\u002F4.user-guide\u002F20.connect\u002F99.connectors\u002F90.websockets-connectors",{"date":1172,"tags":1173,"keywords":1174,"tech_icons":1176},"2023-01-24",[793,954],[979,1175,982,983,1010,984],"WebSockets",[987],{"title":1178,"meta":1179,"path":1180,"stem":1181,"children":1182,"page":862},"Transform",{},"\u002Fdevelopers\u002Fuser-guide\u002Fdata-transformation","2.developers\u002F4.user-guide\u002F30.data-transformation",[1183,1188,1201,1207,1213,1226,1242,1263,1279,1284],{"title":1184,"path":1185,"stem":1186,"meta":1187},"Table Operations Overview","\u002Fdevelopers\u002Fuser-guide\u002Fdata-transformation\u002Ftable-operations","2.developers\u002F4.user-guide\u002F30.data-transformation\u002F10.table-operations",{},{"title":1189,"path":1190,"stem":1191,"meta":1192},"Asynchronous Transformations","\u002Fdevelopers\u002Fuser-guide\u002Fdata-transformation\u002Fasynchronous-transformations","2.developers\u002F4.user-guide\u002F30.data-transformation\u002F100.asynchronous-transformations",{"date":1070,"thumbnail":92,"tags":1193,"keywords":1194,"notebook_export_path":1200},[793,825],[370,1195,1196,1197,1198,1199],"function","asynchronous","transformation","query","AsyncTransformer","notebooks\u002Ftutorials\u002Fasynctransformer.ipynb",{"title":1202,"path":1203,"stem":1204,"meta":1205},"Simple Join","\u002Fdevelopers\u002Fuser-guide\u002Fdata-transformation\u002Fjoin-manual","2.developers\u002F4.user-guide\u002F30.data-transformation\u002F20.join-manual",{"notebook_export_path":1206},"notebooks\u002Ftutorials\u002Fjoin_manual.ipynb",{"title":1208,"path":1209,"stem":1210,"meta":1211},"Groupby Reduce","\u002Fdevelopers\u002Fuser-guide\u002Fdata-transformation\u002Fgroupby-reduce-manual","2.developers\u002F4.user-guide\u002F30.data-transformation\u002F30.groupby-reduce-manual",{"notebook_export_path":1212},"notebooks\u002Ftutorials\u002Fgroupby_reduce_manual.ipynb",{"title":1214,"path":1215,"stem":1216,"meta":1217},"Writing Stateful Reducers","\u002Fdevelopers\u002Fuser-guide\u002Fdata-transformation\u002Fcustom-reducers","2.developers\u002F4.user-guide\u002F30.data-transformation\u002F40.custom-reducers",{"date":1218,"thumbnail":962,"tags":1219,"keywords":1220,"notebook_export_path":1225},"2024-01-17",[793],[1221,1222,1223,1224],"reducers","aggregate","sumofsquares","median","notebooks\u002Ftutorials\u002Fcustom_reducers.ipynb",{"title":1227,"path":1228,"stem":1229,"meta":1230},"Iterative Computations","\u002Fdevelopers\u002Fuser-guide\u002Fdata-transformation\u002Fiterate","2.developers\u002F4.user-guide\u002F30.data-transformation\u002F50.iterate",{"date":1231,"thumbnail":92,"tags":1232,"keywords":1233,"notebook_export_path":1241},"2023-12-28",[793,825],[1234,1235,1236,1237,1238,1239,1240],"iterate","iteration","iterative","updates","connected components","collatz conjecture","newton method","notebooks\u002Ftutorials\u002Fiterate.ipynb",{"title":1243,"path":1244,"stem":1245,"children":1246,"meta":1260},"Indexes in Pathway Live Data Framework","\u002Fdevelopers\u002Fuser-guide\u002Fdata-transformation\u002Findexes","2.developers\u002F4.user-guide\u002F30.data-transformation\u002F60.indexes",[1247],{"title":1243,"path":1244,"stem":1245,"meta":1248},{"date":1249,"thumbnail":1250,"tags":1251,"keywords":1252,"notebook_export_path":1259},"2023-11-15","\u002Fassets\u002Fcontent\u002Fblog\u002Fth-computing-pagerank.png",[793,825],[1253,1254,1255,1256,1257,1258],"index","indexing","join","asof join","asof_now","KNN","notebooks\u002Ftutorials\u002Findexes.ipynb",{"date":1249,"thumbnail":1250,"tags":1261,"keywords":1262,"notebook_export_path":1259},[793,825],[1253,1254,1255,1256,1257,1258],{"title":1264,"path":1265,"stem":1266,"children":1267,"meta":1276},"Indexing from 'groupby' and Single-row Tables","\u002Fdevelopers\u002Fuser-guide\u002Fdata-transformation\u002Findexing-grouped-tables","2.developers\u002F4.user-guide\u002F30.data-transformation\u002F70.indexing-grouped-tables",[1268],{"title":1264,"path":1265,"stem":1266,"meta":1269},{"date":1270,"thumbnail":1250,"tags":1271,"keywords":1272},"2023-03-31",[793,917],[1273,1274,1275],"groupby","ix_ref","single-row table",{"date":1270,"thumbnail":1250,"tags":1277,"keywords":1278},[793,917],[1273,1274,1275],{"title":1280,"path":1281,"stem":1282,"meta":1283},"SQL API","\u002Fdevelopers\u002Fuser-guide\u002Fdata-transformation\u002Fsql","2.developers\u002F4.user-guide\u002F30.data-transformation\u002F80.sql",{"redirection":137},{"title":1285,"path":1286,"stem":1287,"meta":1288},"User-defined Functions","\u002Fdevelopers\u002Fuser-guide\u002Fdata-transformation\u002Fuser-defined-functions","2.developers\u002F4.user-guide\u002F30.data-transformation\u002F90.user-defined-functions",{"date":1289,"thumbnail":92,"tags":1290,"keywords":1291,"notebook_export_path":1296},"2024-02-21",[793,825],[370,1292,1195,1293,1197,1294,1295],"udf","apply","cache","timeout","notebooks\u002Ftutorials\u002Fudf.ipynb",{"title":1298,"path":1299,"stem":1300,"children":1301,"page":862},"Temporal Data","\u002Fdevelopers\u002Fuser-guide\u002Ftemporal-data","2.developers\u002F4.user-guide\u002F40.temporal-data",[1302,1308,1313,1328,1340,1352,1366],{"title":1303,"path":1304,"stem":1305,"meta":1306},"Windowby Reduce","\u002Fdevelopers\u002Fuser-guide\u002Ftemporal-data\u002Fwindows-manual","2.developers\u002F4.user-guide\u002F40.temporal-data\u002F10.windows-manual",{"notebook_export_path":1307},"notebooks\u002Ftutorials\u002Fwindowby_manual.ipynb",{"title":1309,"path":1310,"stem":1311,"meta":1312},"Late Data and Cutoffs","\u002Fdevelopers\u002Fuser-guide\u002Ftemporal-data\u002Fbehaviors","2.developers\u002F4.user-guide\u002F40.temporal-data\u002F20.behaviors",{},{"title":1314,"path":1315,"stem":1316,"meta":1317},"Controlling Temporal Behavior of Windows","\u002Fdevelopers\u002Fuser-guide\u002Ftemporal-data\u002Fwindows_with_behaviors","2.developers\u002F4.user-guide\u002F40.temporal-data\u002F30.windows_with_behaviors",{"date":1318,"thumbnail":1319,"keywords":1320,"notebook_export_path":1327},"2024-01-08","assets\u002Fcontent\u002Ftutorials\u002Fclickstream_window_join\u002Fclickstream-window-join-th.png",[1321,1322,1323,1324,1325,1326],"windowby","behavior","late data","delay","cutoff","out-of-order data","notebooks\u002Ftutorials\u002Fwindows_temporal_behavior.ipynb",{"title":1329,"path":1330,"stem":1331,"meta":1332},"ASOF Join","\u002Fdevelopers\u002Fuser-guide\u002Ftemporal-data\u002Fasof-join","2.developers\u002F4.user-guide\u002F40.temporal-data\u002F40.asof-join",{"date":1333,"thumbnail":1334,"tags":1335,"keywords":1336,"notebook_export_path":1339},"2023-05-24","\u002Fassets\u002Fcontent\u002Ftutorials\u002Ffinance_ts_asof_join\u002Fasof-join-tutorial-th.png",[793,825],[1256,1337,1338],"stock prices","financial data analysis","notebooks\u002Ftutorials\u002Fasof_join.ipynb",{"title":1341,"path":1342,"stem":1343,"meta":1344},"Interval Join","\u002Fdevelopers\u002Fuser-guide\u002Ftemporal-data\u002Finterval-join","2.developers\u002F4.user-guide\u002F40.temporal-data\u002F50.interval-join",{"date":1345,"thumbnail":1346,"tags":1347,"keywords":1348,"notebook_export_path":1351},"2023-05-22","assets\u002Fcontent\u002Ftutorials\u002Ffleet_eta_interval_join\u002Ffleet-eta-interval-join-th.png",[793,825],[1349,1350],"interval join","ETA","notebooks\u002Ftutorials\u002Finterval_join.ipynb",{"title":1353,"path":1354,"stem":1355,"meta":1356},"Window Join","\u002Fdevelopers\u002Fuser-guide\u002Ftemporal-data\u002Fwindow-join","2.developers\u002F4.user-guide\u002F40.temporal-data\u002F60.window-join",{"date":1357,"thumbnail":1358,"tags":1359,"keywords":1360,"notebook_export_path":1365},"2023-06-14","\u002Fassets\u002Fcontent\u002Ftutorials\u002Fclickstream_window_join\u002Fclickstream-window-join-th.png",[793,825],[1361,1362,1363,1364],"window","behavior analysis","clickstream","conversion rate","notebooks\u002Ftutorials\u002Fwindow_join.ipynb",{"title":1367,"path":1368,"stem":1369,"meta":1370},"Controlling Temporal Behavior of Interval Join","\u002Fdevelopers\u002Fuser-guide\u002Ftemporal-data\u002Ftemporal_behavior","2.developers\u002F4.user-guide\u002F40.temporal-data\u002F70.temporal_behavior",{"date":1371,"thumbnail":1346,"tags":1372,"keywords":1373,"notebook_export_path":1374},"2023-11-28",[793,825],[1349,1322,1323,1324,1325,1326],"notebooks\u002Ftutorials\u002Finterval_join_temporal_behavior.ipynb",{"title":1376,"meta":1377,"path":1378,"stem":1379,"children":1380,"page":862},"LLM tooling",{},"\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack","2.developers\u002F4.user-guide\u002F50.llm-xpack",[1381,1393,1402,1411,1426,1438,1450,1462,1472,1482,1492],{"title":1382,"path":1383,"stem":1384,"meta":1385},"Introduction to the LLM xpack","\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack\u002Foverview","2.developers\u002F4.user-guide\u002F50.llm-xpack\u002F10.overview",{"date":1386,"thumbnail":92,"tags":1387,"keywords":1389},"2024-02-14",[793,1388],"LLM",[1388,1390,1391,1392],"GPT","OpenAI","Gemini",{"title":1394,"path":1395,"stem":1396,"meta":1397},"Create your own RAG","\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack\u002Fllm-app","2.developers\u002F4.user-guide\u002F50.llm-xpack\u002F20.llm-app",{"date":1398,"thumbnail":92,"tags":1399,"keywords":1401},"2025-03-28",[793,1388,1400],"RAG",[1388,1390,1391,1254],{"title":1403,"path":1404,"stem":1405,"meta":1406},"Pathway Live Data Framework as a Vector Store","\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack\u002Flive-data-framework-vector-store","2.developers\u002F4.user-guide\u002F50.llm-xpack\u002F25.live-data-framework-vector-store",{"date":1407,"thumbnail":92,"tags":1408,"keywords":1409},"2025-05-07",[793,1388,1400],[1388,1390,1391,1254,1410],"Vector Store",{"title":1412,"path":1413,"stem":1414,"children":1415,"meta":1423},"Document Indexing","\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack\u002Fdocs-indexing","2.developers\u002F4.user-guide\u002F50.llm-xpack\u002F30.docs-indexing",[1416],{"title":1412,"path":1413,"stem":1414,"meta":1417},{"date":1418,"thumbnail":92,"tags":1419,"keywords":1422},"2025-01-13",[793,1254,1420,1421],"document storage","retrieval",[1388,1390,1391,1392],{"date":1418,"thumbnail":92,"tags":1424,"keywords":1425},[793,1254,1420,1421],[1388,1390,1391,1392],{"title":1427,"path":1428,"stem":1429,"meta":1430},"Pathway Live Data Framework MCP Server","\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack\u002Flive-data-framework-mcp-server","2.developers\u002F4.user-guide\u002F50.llm-xpack\u002F40.live-data-framework-mcp-server",{"date":1431,"thumbnail":92,"tags":1432,"keywords":1433},"2025-08-01",[793,825],[1434,1435,1436,1437],"MCP","MCP server","API","protocol",{"title":1439,"path":1440,"stem":1441,"meta":1442},"Claude Desktop","\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack\u002Flive-data-framework-mcp-claude-desktop","2.developers\u002F4.user-guide\u002F50.llm-xpack\u002F41.live-data-framework-mcp-claude-desktop",{"date":1443,"thumbnail":92,"tags":1444,"keywords":1446},"2025-08-19",[793,825,1445],"claude",[1434,1439,1447,1448,1449],"real-time data","document store","statistics",{"title":1451,"path":1452,"stem":1453,"meta":1454},"Parsers","\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack\u002Fparsers","2.developers\u002F4.user-guide\u002F50.llm-xpack\u002F50.parsers",{"date":1455,"tags":1456,"keywords":1457},"2024-06-04",[793,1388],[1388,1458,1459,1460,1461],"unstructured","docling","parsers","ocr",{"title":1463,"path":1464,"stem":1465,"meta":1466},"Chunking text","\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack\u002Fsplitters","2.developers\u002F4.user-guide\u002F50.llm-xpack\u002F60.splitters",{"date":1467,"thumbnail":92,"tags":1468,"keywords":1471},"2025-02-04",[1469,1470],"splitters","chunking",[1460,1470],{"title":1473,"path":1474,"stem":1475,"meta":1476},"Embedders","\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack\u002Fembedders","2.developers\u002F4.user-guide\u002F50.llm-xpack\u002F70.embedders",{"date":1467,"thumbnail":92,"tags":1477,"keywords":1479},[793,1478],"embedder",[1388,1390,1391,1392,1480,1481],"LiteLLM","Embedder",{"title":1483,"path":1484,"stem":1485,"meta":1486},"LLM Chats","\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack\u002Fllm-chats","2.developers\u002F4.user-guide\u002F50.llm-xpack\u002F80.llm-chats",{"date":1487,"thumbnail":92,"tags":1488,"keywords":1490},"2025-01-30",[793,1388,1489,1483],"LLM Wrappers",[1388,1390,1391,1392,1480,1491],"Wrapper",{"title":1493,"path":1494,"stem":1495,"meta":1496},"Rerankers","\u002Fdevelopers\u002Fuser-guide\u002Fllm-xpack\u002Frerankers","2.developers\u002F4.user-guide\u002F50.llm-xpack\u002F90.rerankers",{"date":1467,"thumbnail":92,"tags":1497,"keywords":1499},[793,1498],"reranker",[1388,1500],"Reranker",{"title":1502,"meta":1503,"path":1504,"stem":1505,"children":1506,"page":862},"Deploy",{},"\u002Fdevelopers\u002Fuser-guide\u002Fdeployment","2.developers\u002F4.user-guide\u002F60.deployment",[1507,1512,1517,1534,1550,1555,1560,1565,1572,1577,1582,1586,1597,1602,1613],{"title":1508,"path":1509,"stem":1510,"meta":1511},"Cloud Deployment of Pathway Live Data Framework","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Fcloud-deployment","2.developers\u002F4.user-guide\u002F60.deployment\u002F10.cloud-deployment",{},{"title":1513,"path":1514,"stem":1515,"meta":1516},"Deploy to GCP","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Fgcp-deploy","2.developers\u002F4.user-guide\u002F60.deployment\u002F15.gcp-deploy",{},{"title":1518,"path":1519,"stem":1520,"meta":1521},"Deploy to AWS Cloud","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Faws-fargate-deploy","2.developers\u002F4.user-guide\u002F60.deployment\u002F20.aws-fargate-deploy",{"date":1522,"tags":1523,"thumbnail":1526,"keywords":1528,"docker_github_link":1533,"deployButtons":862},"2024-08-16",[1524,1525],"showcase","data-pipeline",{"src":1527},"\u002Fassets\u002Fcontent\u002Fdocumentation\u002Faws\u002Faws-fargate-overview-th.png",[1529,1530,1531,1060,1532],"AWS","Fargate","cloud deployment","AWS Fargate","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Faws-fargate-deploy",{"title":1535,"path":1536,"stem":1537,"meta":1538},"Deploy to Azure","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Fazure-aci-deploy","2.developers\u002F4.user-guide\u002F60.deployment\u002F25.azure-aci-deploy",{"date":1539,"tags":1540,"thumbnail":1541,"keywords":1543,"docker_github_link":1549,"deployButtons":862},"2024-11-20",[1524,1525],{"src":1542,"contain":137},"\u002Fassets\u002Fcontent\u002Fdocumentation\u002Fazure\u002Fazure-aci-overview-th.png",[1544,1545,1531,1060,1546,1547,1548],"Azure","ACI","Azure ACI","Azure Marketplace","deployment","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Fazure-aci-deploy",{"title":1551,"path":1552,"stem":1553,"meta":1554},"Deploy with Render","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Frender-deploy","2.developers\u002F4.user-guide\u002F60.deployment\u002F30.render-deploy",{},{"title":1556,"path":1557,"stem":1558,"meta":1559},"Deploy to Nebius AI Cloud","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Fnebius-deploy","2.developers\u002F4.user-guide\u002F60.deployment\u002F32.nebius-deploy",{},{"title":1561,"path":1562,"stem":1563,"meta":1564},"Notebook-to-Docker Conversion","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Fjupyter-docker","2.developers\u002F4.user-guide\u002F60.deployment\u002F35.jupyter-docker",{},{"title":1566,"path":1567,"stem":1568,"meta":1569},"Tutorial: From Jupyter to Deploy","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Ffrom-jupyter-to-deploy","2.developers\u002F4.user-guide\u002F60.deployment\u002F40.from-jupyter-to-deploy",{"date":1570,"project_github_link":1571},"2023-11-29","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Ffrom_jupyter_to_deploy",{"title":1573,"path":1574,"stem":1575,"meta":1576},"CI\u002FCD","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Fintegration","2.developers\u002F4.user-guide\u002F60.deployment\u002F45.integration",{},{"title":1578,"path":1579,"stem":1580,"meta":1581},"Docker Deployment of Pathway Live Data Framework","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Fdocker-deployment","2.developers\u002F4.user-guide\u002F60.deployment\u002F5.docker-deployment",{},{"title":5,"path":831,"stem":837,"meta":1583},{"date":822,"thumbnail":823,"tags":1584,"keywords":1585},[793,825],[827,828,829,830],{"title":1587,"path":792,"stem":1588,"meta":1589},"Pathway Live Data Framework Web Dashboard","2.developers\u002F4.user-guide\u002F60.deployment\u002F52.web-dashboard",{"date":1590,"tags":1591,"keywords":1592},"2026-01-13",[793,825],[1593,1594,827,1595,1596,830],"Web Dashboard","UI","graph","charts",{"title":1598,"path":1599,"stem":1600,"meta":1601},"Persistence in Pathway Live Data Framework","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Fpersistence","2.developers\u002F4.user-guide\u002F60.deployment\u002F55.persistence",{},{"title":1603,"path":1604,"stem":1605,"meta":1606},"Persistence in Pathway Live Data Framework: How to Resume the Interrupted Computation","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Fpersistence_recovery","2.developers\u002F4.user-guide\u002F60.deployment\u002F60.persistence_recovery",{"date":1607,"thumbnail":92,"tags":1608,"keywords":1610},"2023-11-02",[793,825,1609],"dataflow management",[1611,1612],"persistence","recovery",{"title":1614,"path":1615,"stem":1616,"meta":1617},"Persistence in Pathway Live Data Framework: How to Add New Data without Full Computation Restart","\u002Fdevelopers\u002Fuser-guide\u002Fdeployment\u002Fpersistence_restart_with_new_data","2.developers\u002F4.user-guide\u002F60.deployment\u002F65.persistence_restart_with_new_data",{"date":1618,"thumbnail":92,"tags":1619,"keywords":1620},"2023-11-14",[793,825,1609],[1611,1621,1622],"optimization","restart",{"title":1624,"path":1625,"stem":1626,"children":1627,"page":862},"Migrating","\u002Fdevelopers\u002Fuser-guide\u002Fmigrating","2.developers\u002F4.user-guide\u002F70.migrating",[1628,1634],{"title":1629,"path":1630,"stem":1631,"meta":1632},"Coming from Pandas","\u002Fdevelopers\u002Fuser-guide\u002Fmigrating\u002Fmigrate-from-pandas","2.developers\u002F4.user-guide\u002F70.migrating\u002F10.migrate-from-pandas",{"notebook_export_path":1633},"notebooks\u002Ftutorials\u002Ffrom_pandas.ipynb",{"title":1635,"path":1636,"stem":1637,"meta":1638},"Pandas Cheat Sheet","\u002Fdevelopers\u002Fuser-guide\u002Fmigrating\u002Fpandas-cheat-sheet","2.developers\u002F4.user-guide\u002F70.migrating\u002F20.pandas-cheat-sheet",{},{"title":1640,"path":1641,"stem":1642,"children":1643,"page":862},"Advanced","\u002Fdevelopers\u002Fuser-guide\u002Fadvanced","2.developers\u002F4.user-guide\u002F80.advanced",[1644,1649,1659,1665,1678,1683,1688,1693],{"title":1645,"path":1646,"stem":1647,"meta":1648},"Architecture","\u002Fdevelopers\u002Fuser-guide\u002Fadvanced\u002Fworker-architecture","2.developers\u002F4.user-guide\u002F80.advanced\u002F10.worker-architecture",{},{"title":1650,"path":1651,"stem":1652,"meta":1653},"Setting up Cache in Asynchronous Transformations","\u002Fdevelopers\u002Fuser-guide\u002Fadvanced\u002Ffunction_calls_caching","2.developers\u002F4.user-guide\u002F80.advanced\u002F20.function_calls_caching",{"date":1654,"thumbnail":92,"tags":1655,"keywords":1656},"2023-11-30",[793,825,1609],[1611,1621,1657,1658],"async_transformer","caching",{"title":1660,"path":1661,"stem":1662,"meta":1663},"Data Model Consistency","\u002Fdevelopers\u002Fuser-guide\u002Fadvanced\u002Fconsistency","2.developers\u002F4.user-guide\u002F80.advanced\u002F30.consistency",{"notebook_export_path":1664},"notebooks\u002Ftutorials\u002Fconsistency.ipynb",{"title":1666,"path":1667,"stem":1668,"meta":1669},"Writing declarative over imperative pipelines","\u002Fdevelopers\u002Fuser-guide\u002Fadvanced\u002Fdeclarative_vs_imperative","2.developers\u002F4.user-guide\u002F80.advanced\u002F40.declarative_vs_imperative",{"date":1670,"thumbnail":92,"tags":1671,"keywords":1672,"notebook_export_path":1677},"2025-11-25",[793,825],[1673,1674,1675,1676,1234],"declarative","imperative","ordered","splitting","notebooks\u002Ftutorials\u002Fdeclarative_vs_imperative.ipynb",{"title":1679,"path":1680,"stem":1681,"meta":1682},"Best Practices","\u002Fdevelopers\u002Fuser-guide\u002Fadvanced\u002Fbest-practices","2.developers\u002F4.user-guide\u002F80.advanced\u002F5.best-practices",{},{"title":1684,"path":1685,"stem":1686,"meta":1687},"How Pathway Live Data Framework Connectors Work","\u002Fdevelopers\u002Fuser-guide\u002Fadvanced\u002Fhow-live-data-framework-connectors-work","2.developers\u002F4.user-guide\u002F80.advanced\u002F50.how-live-data-framework-connectors-work",{},{"title":1689,"path":1690,"stem":1691,"meta":1692},"Dynamic Worker Scaling","\u002Fdevelopers\u002Fuser-guide\u002Fadvanced\u002Fworker_count_scaling","2.developers\u002F4.user-guide\u002F80.advanced\u002F60.worker_count_scaling",{},{"title":1694,"path":1695,"stem":1696,"meta":1697},"Running on Multiple Machines","\u002Fdevelopers\u002Fuser-guide\u002Fadvanced\u002Frunning_on_multiple_machines","2.developers\u002F4.user-guide\u002F80.advanced\u002F70.running_on_multiple_machines",{},{"title":1699,"meta":1700,"path":1701,"stem":1702,"children":1703,"page":862},"Help And Updates",{},"\u002Fdevelopers\u002Fuser-guide\u002Fdevelopment","2.developers\u002F4.user-guide\u002F90.development",[1704,1709,1714],{"title":1705,"path":1706,"stem":1707,"meta":1708},"Troubleshooting","\u002Fdevelopers\u002Fuser-guide\u002Fdevelopment\u002Ftroubleshooting","2.developers\u002F4.user-guide\u002F90.development\u002F10.troubleshooting",{},{"title":1710,"path":1711,"stem":1712,"meta":1713},"Changelog","\u002Fdevelopers\u002Fuser-guide\u002Fdevelopment\u002Fchangelog","2.developers\u002F4.user-guide\u002F90.development\u002F20.changelog",{"toc":862},{"title":1715,"path":1716,"stem":1717,"meta":1718},"Get help","\u002Fdevelopers\u002Fuser-guide\u002Fdevelopment\u002Fget-help","2.developers\u002F4.user-guide\u002F90.development\u002F30.get-help",{},{"title":1720,"meta":1721,"path":1722,"stem":1723,"children":1724,"page":862},"API docs",{},"\u002Fdevelopers\u002Fapi-docs","2.developers\u002F5.API-docs",[1725,1730,1735,1741,1746,1751,1756,1824,1829,1834,1839,1847,2035,2040],{"title":1726,"path":1727,"stem":1728,"meta":1729},"Pathway Live Data Framework API","\u002Fdevelopers\u002Fapi-docs\u002Fpathway","2.developers\u002F5.API-docs\u002F1.pathway",{"sidebar":1436},{"title":1731,"path":1732,"stem":1733,"meta":1734},"pw.reducers","\u002Fdevelopers\u002Fapi-docs\u002Freducers","2.developers\u002F5.API-docs\u002F10.reducers",{"sidebar":1436},{"title":1736,"path":1737,"stem":1738,"meta":1739},"pw.sql","\u002Fdevelopers\u002Fapi-docs\u002Fsql-api","2.developers\u002F5.API-docs\u002F11.SQL-API",{"notebook_export_path":1740},"notebooks\u002Ftutorials\u002Fsql_api.ipynb",{"title":1742,"path":1743,"stem":1744,"meta":1745},"pw.temporal","\u002Fdevelopers\u002Fapi-docs\u002Ftemporal","2.developers\u002F5.API-docs\u002F12.temporal",{"sidebar":1436},{"title":1747,"path":1748,"stem":1749,"meta":1750},"pw.udfs","\u002Fdevelopers\u002Fapi-docs\u002Fudfs","2.developers\u002F5.API-docs\u002F13.udfs",{"sidebar":1436},{"title":1752,"path":1753,"stem":1754,"meta":1755},"pw.xpacks.connectors","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-sharepoint","2.developers\u002F5.API-docs\u002F14.pathway-xpacks-sharepoint",{"sidebar":1436},{"title":1757,"path":1758,"stem":1759,"children":1760,"meta":1823},"pw.xpacks.llm","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002Findex",[1761,1763,1768,1773,1778,1783,1788,1793,1798,1803,1808,1813,1818],{"title":1757,"path":1758,"stem":1759,"meta":1762},{"sidebar":1436},{"title":1764,"path":1765,"stem":1766,"meta":1767},"pw.xpacks.llm.llms","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Fllms","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F1.llms",{"sidebar":1436},{"title":1769,"path":1770,"stem":1771,"meta":1772},"pw.xpacks.llm.servers","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Fservers","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F10.servers",{"sidebar":1436},{"title":1774,"path":1775,"stem":1776,"meta":1777},"pw.xpacks.llm.utils","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Futils","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F11.utils",{"sidebar":1436},{"title":1779,"path":1780,"stem":1781,"meta":1782},"pw.xpacks.llm.mcp_server","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Fmcp_server","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F12.mcp_server",{"sidebar":1436},{"title":1784,"path":1785,"stem":1786,"meta":1787},"pw.xpacks.llm.embedders","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Fembedders","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F2.embedders",{"sidebar":1436},{"title":1789,"path":1790,"stem":1791,"meta":1792},"pw.xpacks.llm.parsers","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Fparsers","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F3.parsers",{"sidebar":1436},{"title":1794,"path":1795,"stem":1796,"meta":1797},"pw.xpacks.llm.splitters","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Fsplitters","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F4.splitters",{"sidebar":1436},{"title":1799,"path":1800,"stem":1801,"meta":1802},"pw.xpacks.llm.vector_store","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Fvectorstore","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F5.vectorstore",{"sidebar":1436},{"title":1804,"path":1805,"stem":1806,"meta":1807},"pw.xpacks.llm.document_store","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Fdocument_store","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F6.document_store",{"sidebar":1436},{"title":1809,"path":1810,"stem":1811,"meta":1812},"pw.xpacks.llm.question_answering","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Fquestion_answering","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F7.question_answering",{"sidebar":1436},{"title":1814,"path":1815,"stem":1816,"meta":1817},"pw.xpacks.llm.prompts","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Fprompts","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F8.prompts",{"sidebar":1436},{"title":1819,"path":1820,"stem":1821,"meta":1822},"pw.xpacks.llm.rerankers","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-xpacks-llm\u002Frerankers","2.developers\u002F5.API-docs\u002F15.pathway-xpacks-llm\u002F9.rerankers",{"sidebar":1436},{"sidebar":1436},{"title":1825,"path":1826,"stem":1827,"meta":1828},"pw.Table","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-table","2.developers\u002F5.API-docs\u002F2.pathway-table",{"sidebar":1436},{"title":1830,"path":1831,"stem":1832,"meta":1833},"pw.debug","\u002Fdevelopers\u002Fapi-docs\u002Fdebug","2.developers\u002F5.API-docs\u002F4.debug",{"sidebar":1436},{"title":1835,"path":1836,"stem":1837,"meta":1838},"pw.demo","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-demo","2.developers\u002F5.API-docs\u002F5.pathway-demo",{"sidebar":1436},{"title":1840,"path":1841,"stem":1842,"children":1843,"meta":1846},"pw.indexing","\u002Fdevelopers\u002Fapi-docs\u002Findexing","2.developers\u002F5.API-docs\u002F6.indexing",[1844],{"title":1840,"path":1841,"stem":1842,"meta":1845},{"sidebar":1436},{"sidebar":1436},{"title":1848,"path":1849,"stem":1850,"children":1851,"meta":2034},"pw.io","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io","2.developers\u002F5.API-docs\u002F7.pathway-io\u002Findex",[1852,1854,1859,1864,1869,1874,1879,1884,1889,1894,1899,1904,1909,1914,1919,1924,1929,1934,1939,1944,1949,1954,1959,1964,1969,1974,1979,1984,1989,1994,1999,2004,2009,2014,2019,2024,2029],{"title":1848,"path":1849,"stem":1850,"meta":1853},{"sidebar":1436},{"title":1855,"path":1856,"stem":1857,"meta":1858},"pw.io.airbyte","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fairbyte","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F110.airbyte",{"sidebar":1436},{"title":1860,"path":1861,"stem":1862,"meta":1863},"pw.io.bigquery","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fbigquery","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F120.bigquery",{"sidebar":1436},{"title":1865,"path":1866,"stem":1867,"meta":1868},"pw.io.clickhouse","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fclickhouse","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F130.clickhouse",{"sidebar":1436},{"title":1870,"path":1871,"stem":1872,"meta":1873},"pw.io.csv","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fcsv","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F140.csv",{"sidebar":1436},{"title":1875,"path":1876,"stem":1877,"meta":1878},"pw.io.debezium","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fdebezium","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F150.debezium",{"sidebar":1436},{"title":1880,"path":1881,"stem":1882,"meta":1883},"pw.io.deltalake","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fdeltalake","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F160.deltalake",{"sidebar":1436},{"title":1885,"path":1886,"stem":1887,"meta":1888},"pw.io.dynamodb","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fdynamodb","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F170.dynamodb",{"sidebar":1436},{"title":1890,"path":1891,"stem":1892,"meta":1893},"pw.io.elasticsearch","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Felasticsearch","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F180.elasticsearch",{"sidebar":1436},{"title":1895,"path":1896,"stem":1897,"meta":1898},"pw.io.fs","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Ffs","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F190.fs",{"sidebar":1436},{"title":1900,"path":1901,"stem":1902,"meta":1903},"pw.io.gdrive","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fgdrive","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F200.gdrive",{"sidebar":1436},{"title":1905,"path":1906,"stem":1907,"meta":1908},"pw.io.http","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fhttp","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F210.http",{"sidebar":1436},{"title":1910,"path":1911,"stem":1912,"meta":1913},"pw.io.iceberg","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Ficeberg","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F220.iceberg",{"sidebar":1436},{"title":1915,"path":1916,"stem":1917,"meta":1918},"pw.io.jsonlines","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fjsonlines","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F230.jsonlines",{"sidebar":1436},{"title":1920,"path":1921,"stem":1922,"meta":1923},"pw.io.kafka","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fkafka","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F240.kafka",{"sidebar":1436},{"title":1925,"path":1926,"stem":1927,"meta":1928},"pw.io.kinesis","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fkinesis","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F250.kinesis",{"sidebar":1436},{"title":1930,"path":1931,"stem":1932,"meta":1933},"pw.io.leann","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fleann","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F260.leann",{"sidebar":1436},{"title":1935,"path":1936,"stem":1937,"meta":1938},"pw.io.logstash","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Flogstash","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F270.logstash",{"sidebar":1436},{"title":1940,"path":1941,"stem":1942,"meta":1943},"pw.io.milvus","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fmilvus","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F280.milvus",{"sidebar":1436},{"title":1945,"path":1946,"stem":1947,"meta":1948},"pw.io.minio","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fminio","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F290.minio",{"sidebar":1436},{"title":1950,"path":1951,"stem":1952,"meta":1953},"pw.io.mongodb","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fmongodb","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F300.mongodb",{"sidebar":1436},{"title":1955,"path":1956,"stem":1957,"meta":1958},"pw.io.mqtt","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fmqtt","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F310.mqtt",{"sidebar":1436},{"title":1960,"path":1961,"stem":1962,"meta":1963},"pw.io.mssql","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fmssql","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F320.mssql",{"sidebar":1436},{"title":1965,"path":1966,"stem":1967,"meta":1968},"pw.io.mysql","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fmysql","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F330.mysql",{"sidebar":1436},{"title":1970,"path":1971,"stem":1972,"meta":1973},"pw.io.nats","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fnats","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F340.nats",{"sidebar":1436},{"title":1975,"path":1976,"stem":1977,"meta":1978},"pw.io.null","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fnull","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F350.null",{"sidebar":1436},{"title":1980,"path":1981,"stem":1982,"meta":1983},"pw.io.plaintext","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fplaintext","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F360.plaintext",{"sidebar":1436},{"title":1985,"path":1986,"stem":1987,"meta":1988},"pw.io.postgres","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fpostgres","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F370.postgres",{"sidebar":1436},{"title":1990,"path":1991,"stem":1992,"meta":1993},"pw.io.pubsub","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fpubsub","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F380.pubsub",{"sidebar":1436},{"title":1995,"path":1996,"stem":1997,"meta":1998},"pw.io.pyfilesystem","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fpyfilesystem","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F390.pyfilesystem",{"sidebar":1436},{"title":2000,"path":2001,"stem":2002,"meta":2003},"pw.io.python","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fpython","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F400.python",{"sidebar":1436},{"title":2005,"path":2006,"stem":2007,"meta":2008},"pw.io.questdb","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fquestdb","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F410.questdb",{"sidebar":1436},{"title":2010,"path":2011,"stem":2012,"meta":2013},"pw.io.rabbitmq","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Frabbitmq","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F420.rabbitmq",{"sidebar":1436},{"title":2015,"path":2016,"stem":2017,"meta":2018},"pw.io.redpanda","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fredpanda","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F430.redpanda",{"sidebar":1436},{"title":2020,"path":2021,"stem":2022,"meta":2023},"pw.io.s3","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fs3","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F440.s3",{"sidebar":1436},{"title":2025,"path":2026,"stem":2027,"meta":2028},"pw.io.slack","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fslack","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F450.slack",{"sidebar":1436},{"title":2030,"path":2031,"stem":2032,"meta":2033},"pw.io.sqlite","\u002Fdevelopers\u002Fapi-docs\u002Fpathway-io\u002Fsqlite","2.developers\u002F5.API-docs\u002F7.pathway-io\u002F460.sqlite",{"sidebar":1436},{"sidebar":1436},{"title":2036,"path":2037,"stem":2038,"meta":2039},"pw.ml","\u002Fdevelopers\u002Fapi-docs\u002Fml","2.developers\u002F5.API-docs\u002F8.ML",{"sidebar":1436},{"title":2041,"path":2042,"stem":2043,"meta":2044},"pw.persistence","\u002Fdevelopers\u002Fapi-docs\u002Fpersistence-api","2.developers\u002F5.API-docs\u002F9.persistence-api",{"sidebar":1436},{"title":2046,"path":2047,"stem":2048,"children":2049,"meta":2790},"Pathway Live Data Framework Templates","\u002Fdevelopers\u002Ftemplates","2.developers\u002F7.templates\u002F1.index",[2050,2052,2057,2062,2067,2071,2092,2131,2157,2589],{"title":2046,"path":2047,"stem":2048,"meta":2051},{"navTitle":858,"layout":932,"aside":137,"toc":862,"single":137},{"title":2053,"path":2054,"stem":2055,"meta":2056},"Run a template","\u002Fdevelopers\u002Ftemplates\u002Frun-a-template","2.developers\u002F7.templates\u002F20.run-a-template",{"heading":862,"toc":862},{"title":2058,"path":2059,"stem":2060,"meta":2061},"Customizing a RAG Template with YAML","\u002Fdevelopers\u002Ftemplates\u002Fconfigure-yaml","2.developers\u002F7.templates\u002F30.configure-yaml",{"heading":862},{"title":2063,"path":2064,"stem":2065,"meta":2066},"How to Use Your Own Components in YAML Configuration","\u002Fdevelopers\u002Ftemplates\u002Fcustom-components","2.developers\u002F7.templates\u002F35.custom-components",{"heading":862},{"title":889,"path":2068,"stem":2069,"meta":2070},"\u002Fdevelopers\u002Ftemplates\u002Flicensing-guide","2.developers\u002F7.templates\u002F38.licensing-guide",{"heading":862,"toc":862},{"title":2072,"meta":2073,"path":2074,"stem":2075,"children":2076,"page":862},"YAML Snippets",{},"\u002Fdevelopers\u002Ftemplates\u002Fyaml-snippets","2.developers\u002F7.templates\u002F39.yaml-snippets",[2077,2082,2087],{"title":2078,"path":2079,"stem":2080,"meta":2081},"Data Sources Examples","\u002Fdevelopers\u002Ftemplates\u002Fyaml-snippets\u002Fdata-sources-examples","2.developers\u002F7.templates\u002F39.yaml-snippets\u002F10.data-sources-examples",{"heading":862,"toc":137},{"title":2083,"path":2084,"stem":2085,"meta":2086},"RAG configuration Examples","\u002Fdevelopers\u002Ftemplates\u002Fyaml-snippets\u002Frag-configuration-examples","2.developers\u002F7.templates\u002F39.yaml-snippets\u002F20.rag-configuration-examples",{"heading":862,"toc":137},{"title":2088,"path":2089,"stem":2090,"meta":2091},"Full Templates Examples","\u002Fdevelopers\u002Ftemplates\u002Fyaml-snippets\u002Ffull-pipelines-examples","2.developers\u002F7.templates\u002F39.yaml-snippets\u002F30.full-pipelines-examples",{"heading":862,"toc":137},{"title":2093,"path":2094,"stem":2095,"children":2096,"page":862},"Rag Customization","\u002Fdevelopers\u002Ftemplates\u002Frag-customization","2.developers\u002F7.templates\u002F40.rag-customization",[2097,2102,2107,2113,2119,2125],{"title":2098,"path":2099,"stem":2100,"meta":2101},"REST API","\u002Fdevelopers\u002Ftemplates\u002Frag-customization\u002Frest-api","2.developers\u002F7.templates\u002F40.rag-customization\u002F10.REST-API",{"heading":862,"toc":862},{"title":2103,"path":2104,"stem":2105,"meta":2106},"Customizing prompt","\u002Fdevelopers\u002Ftemplates\u002Frag-customization\u002Fcustom-prompt","2.developers\u002F7.templates\u002F40.rag-customization\u002F20.custom-prompt",{"heading":862},{"title":1451,"path":2108,"stem":2109,"meta":2110},"\u002Fdevelopers\u002Ftemplates\u002Frag-customization\u002Fparsers","2.developers\u002F7.templates\u002F40.rag-customization\u002F30.parsers",{"date":1455,"tags":2111,"keywords":2112},[793,1388],[1388,1458,1459,1460,1461],{"title":1463,"path":2114,"stem":2115,"meta":2116},"\u002Fdevelopers\u002Ftemplates\u002Frag-customization\u002Fsplitters","2.developers\u002F7.templates\u002F40.rag-customization\u002F40.splitters",{"date":1467,"thumbnail":92,"tags":2117,"keywords":2118},[1469,1470],[1460,1470],{"title":1473,"path":2120,"stem":2121,"meta":2122},"\u002Fdevelopers\u002Ftemplates\u002Frag-customization\u002Fembedders","2.developers\u002F7.templates\u002F40.rag-customization\u002F50.embedders",{"date":1467,"thumbnail":92,"tags":2123,"keywords":2124},[793,1478],[1388,1390,1391,1392,1480,1481],{"title":1483,"path":2126,"stem":2127,"meta":2128},"\u002Fdevelopers\u002Ftemplates\u002Frag-customization\u002Fllm-chats","2.developers\u002F7.templates\u002F40.rag-customization\u002F60.llm-chats",{"date":1487,"thumbnail":92,"tags":2129,"keywords":2130},[793,1388,1489,1483],[1388,1390,1391,1392,1480,1491],{"title":1502,"path":2132,"stem":2133,"children":2134,"page":862},"\u002Fdevelopers\u002Ftemplates\u002Fdeploy","2.developers\u002F7.templates\u002F60.deploy",[2135,2139,2143,2150],{"title":1508,"path":2136,"stem":2137,"meta":2138},"\u002Fdevelopers\u002Ftemplates\u002Fdeploy\u002Fcloud-deployment","2.developers\u002F7.templates\u002F60.deploy\u002F10.cloud-deployment",{},{"title":1513,"path":2140,"stem":2141,"meta":2142},"\u002Fdevelopers\u002Ftemplates\u002Fdeploy\u002Fgcp-deploy","2.developers\u002F7.templates\u002F60.deploy\u002F15.gcp-deploy",{},{"title":1518,"path":2144,"stem":2145,"meta":2146},"\u002Fdevelopers\u002Ftemplates\u002Fdeploy\u002Faws-fargate-deploy","2.developers\u002F7.templates\u002F60.deploy\u002F20.aws-fargate-deploy",{"date":1522,"tags":2147,"thumbnail":2148,"keywords":2149,"docker_github_link":1533,"deployButtons":862},[1524,1525],{"src":1527},[1529,1530,1531,1060,1532],{"title":1535,"path":2151,"stem":2152,"meta":2153},"\u002Fdevelopers\u002Ftemplates\u002Fdeploy\u002Fazure-aci-deploy","2.developers\u002F7.templates\u002F60.deploy\u002F25.azure-aci-deploy",{"date":1539,"tags":2154,"thumbnail":2155,"keywords":2156,"docker_github_link":1549,"deployButtons":862},[1524,1525],{"src":1542,"contain":137},[1544,1545,1531,1060,1546,1547,1548],{"title":2158,"meta":2159,"path":2160,"stem":2161,"children":2162,"page":862},"ETL Templates",{},"\u002Fdevelopers\u002Ftemplates\u002Fetl","2.developers\u002F7.templates\u002FETL",[2163,2177,2193,2212,2232,2243,2257,2268,2278,2293,2308,2322,2337,2355,2371,2385,2401,2417,2429,2442,2452,2464,2476,2490],{"title":2164,"path":2165,"stem":2166,"meta":2167},"EL Pipeline: Move your data around with Pathway","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fel-pipeline","2.developers\u002F7.templates\u002FETL\u002F10.el-pipeline",{"layout":2168,"date":2169,"tags":2170,"thumbnail":2171,"keywords":2173,"popular":137},"template","2025-05-22",[1524,1525],{"src":2172,"contain":137},"\u002Fassets\u002Fcontent\u002Fshowcases\u002Fel-template\u002Fel-template-thumbnail.png",[2174,2175,2176,1058,1085,1060],"ETL","EL","YAML",{"title":2178,"path":2179,"stem":2180,"meta":2181},"Real-Time Anomaly Detection: identifying brute-force logins using Tumbling Windows","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fsuspicious_activity_tumbling_window","2.developers\u002F7.templates\u002FETL\u002F10.suspicious_activity_tumbling_window",{"notebook_export_path":2182,"aside":137,"date":2183,"thumbnail":2184,"tags":2187,"keywords":2189,"layout":2168},"notebooks\u002Ftutorials\u002Fsuspicious_user_activity.ipynb","2023-05-30",{"src":2185,"provider":2186},"\u002Fassets\u002Fblog\u002Fthumbnails\u002Fth-shield.png","s3",[793,2188],"machine-learning",[1361,2190,2191,2192],"tumbling","alert","notebook",{"title":2194,"path":2195,"stem":2196,"meta":2197},"Gaussian Filtering in Real-time: Signal processing with out-of-order data streams","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fgaussian_filtering_python","2.developers\u002F7.templates\u002FETL\u002F100.gaussian_filtering_python",{"notebook_export_path":2198,"aside":137,"date":2199,"layout":2168,"thumbnail":2200,"tags":2202,"related":2204,"keywords":2207},"notebooks\u002Ftutorials\u002Fgaussian-filtering-python.ipynb","2023-10-17",{"src":2201},"\u002Fassets\u002Fcontent\u002Ftutorials\u002Ftime_series\u002Fthumbnail-gaussian.png",[793,2203],"Time Series",[2205,2206],"\u002Fblog\u002Fsignal-processing","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fupsampling",[2208,2209,1326,2210,2211,1361,2192],"signal processing","Gaussian filter","irregular sampling","intervals_over",{"title":2213,"path":2214,"stem":2215,"meta":2216},"Computing the Option Greeks using Pathway Live Data Framework and Databento","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Foption-greeks","2.developers\u002F7.templates\u002FETL\u002F105.option-greeks",{"thumbnail":2217,"date":2219,"tags":2220,"keywords":2221,"notebook_export_path":2230,"docker_github_link":2231,"aside":137,"layout":2168},{"src":2218,"contain":137},"\u002Fassets\u002Fcontent\u002Fshowcases\u002Foption-greeks\u002Foption-greeks.png","2024-08-06",[793,1525],[2222,2223,2224,2225,2226,2227,2228,2229,2192],"Option Greeks","Databento","Delta","Gamma","Theta","Rho","quant","Black model","notebooks\u002Ftutorials\u002Foption-greeks.ipynb","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Foption-greeks",{"title":2233,"path":2234,"stem":2235,"meta":2236},"Automating reconciliation of messy financial transaction logs using the Pathway Live Data Framework real-time fuzzy join","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Ffuzzy_join_chapter1","2.developers\u002F7.templates\u002FETL\u002F11.fuzzy_join_chapter1",{"notebook_export_path":2237,"aside":137,"date":2238,"tags":2239,"keywords":2240,"layout":2168},"notebooks\u002Fshowcases\u002Ffuzzy_join_part1.ipynb","2022-10-18",[793,1525],[2241,2242,1458,2192],"Fuzzy join","reconciliation",{"title":2244,"path":2206,"stem":2245,"meta":2246},"Signal Processing with Real-time Upsampling: combining multiple time series data streams.","2.developers\u002F7.templates\u002FETL\u002F110.upsampling",{"notebook_export_path":2247,"aside":137,"date":2248,"layout":2168,"thumbnail":2249,"tags":2251,"related":2252,"popular":137,"keywords":2253},"notebooks\u002Ftutorials\u002Fupsampling.ipynb","2023-10-18",{"src":2250},"\u002Fassets\u002Fcontent\u002Ftutorials\u002Ftime_series\u002Fthumbnail-time-series.png",[793,2203],[2205,2195],[2208,2254,1326,2255,2256,2211,1361,2192],"upsampling","resampling","interpolation",{"title":2258,"path":2259,"stem":2260,"meta":2261},"Interaction with a Feedback Loop.","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Ffuzzy_join_chapter2","2.developers\u002F7.templates\u002FETL\u002F12.fuzzy_join_chapter2",{"notebook_export_path":2262,"aside":137,"date":2263,"thumbnail":2264,"tags":2266,"keywords":2267,"layout":2168},"notebooks\u002Fshowcases\u002Ffuzzy_join_part2.ipynb","2022-10-19",{"src":2265,"contain":137},"\u002Fassets\u002Fcontent\u002Fshowcases\u002Ffuzzy_join\u002Freconciliation_chapter3_trim.png",[793,1525],[2241,2242,1458,2192],{"title":2269,"path":2270,"stem":2271,"meta":2272},"Smart real-time monitoring application with alert deduplication","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Falerting-significant-changes","2.developers\u002F7.templates\u002FETL\u002F130.alerting-significant-changes",{"notebook_export_path":2273,"aside":137,"date":2274,"tags":2275,"keywords":2276,"layout":2168},"notebooks\u002Ftutorials\u002Falert-deduplication.ipynb","2023-11-16",[793,1525],[2191,2277,827,2192],"deduplication",{"title":2279,"path":2280,"stem":2281,"meta":2282},"Kafka ETL: Processing event streams in Python","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fkafka-etl","2.developers\u002F7.templates\u002FETL\u002F140.kafka-etl",{"layout":2168,"date":2283,"tags":2284,"thumbnail":2285,"keywords":2287,"docker_github_link":2292,"popular":137},"2024-02-15",[1524,1525],{"src":2286,"contain":137},"\u002Fassets\u002Fcontent\u002Fshowcases\u002FETL-Kafka\u002FETL-Kafka.png",[2174,1058,2288,2289,2290,2291,1060],"datetime","time zone","timezone","concat_reindex","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Fkafka-ETL",{"title":2294,"path":2295,"stem":2296,"meta":2297},"Streaming ETL pipelines in Python with Airbyte and Pathway","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fetl-python-airbyte","2.developers\u002F7.templates\u002FETL\u002F150.etl-python-airbyte",{"layout":2168,"date":2298,"tags":2299,"thumbnail":2300,"keywords":2302},"2024-02-28",[1524,1525],{"src":2301},"\u002Fassets\u002Fcontent\u002Fshowcases\u002Fairbyte\u002Fairbyte-diagram-th.png",[2303,2304,2305,2306,2307],"airbyte","processing","airbyte python","python etl","airbyte etl",{"title":2309,"path":2310,"stem":2311,"meta":2312},"Delta Lake ETL with Pathway Live Data Framework for Spark Analytics","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fdelta_lake_etl","2.developers\u002F7.templates\u002FETL\u002F175.delta_lake_etl",{"layout":2168,"date":2313,"tags":2314,"thumbnail":2315,"keywords":2317,"docker_github_link":2321},"2024-07-23",[1524,1525],{"src":2316,"contain":137},"\u002Fassets\u002Fcontent\u002Fshowcases\u002Fdeltalake\u002Fdelta_lake_diagram_th.png",[2318,2319,2320,2306,2307,1060],"delta lake etl","spark delta lake","spark etl","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Fspark-data-preparation",{"title":2323,"path":2324,"stem":2325,"meta":2326},"Python Kafka Alternative: Achieve Sub-Second Latency with your S3 Storage without Kafka using Pathway","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fkafka-alternative","2.developers\u002F7.templates\u002FETL\u002F180.kafka-alternative",{"layout":2168,"thumbnail":2327,"date":2329,"tags":2330,"keywords":2331},{"src":2328,"contain":137},"\u002Fassets\u002Fcontent\u002Fshowcases\u002Fkafka-alternatives\u002Fkafka-alternatives-thumbnail.png","2024-08-27",[1524,1525],[2174,1058,2332,2333,2334,2290,2335,2336],"Pathway","MinIO","S3","Kafka-alternatives","Delta tables",{"title":2338,"path":2339,"stem":2340,"meta":2341},"Jupyter \u002F Colab: visualizing and transforming live data streams in Python notebooks with Pathway Live Data Framework","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Flive_data_jupyter","2.developers\u002F7.templates\u002FETL\u002F2.live_data_jupyter",{"aside":137,"date":1570,"tags":2342,"keywords":2343,"notebook_export_path":2353,"docker_github_link":2354,"popular":137,"layout":2168},[793,1525,1524],[2344,2345,2346,2347,2348,2349,2350,2351,2352,2192,1060],"Jupyter notebook","interactivity","bokeh","panel","Bollinger bands","vizualization","Weighted Average","rolling statistics","dashboard","notebooks\u002Fshowcases\u002Flive-data-jupyter.ipynb","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Ffrom_jupyter_to_deploy\u002Fpart4_deployment",{"title":2356,"path":2357,"stem":2358,"meta":2359},"Real-Time Twitter Sentiment Analysis and Prediction App with Pathway Live Data Framework","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Ftwitter","2.developers\u002F7.templates\u002FETL\u002F2.twitter",{"aside":137,"layout":2168,"date":2360,"thumbnail":2361,"tags":2363,"keywords":2364,"docker_github_link":2370},"2022-10-31",{"src":2362},"\u002Fassets\u002Fcontent\u002Fblog\u002Fth-twitter.png",[793,2188,1524],[2365,2366,2367,2368,2369,1458,1060],"Twitter","tweets","sentiment analysis","geolocation","influence","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Ftwitter",{"title":2372,"path":2373,"stem":2374,"meta":2375},"Out-of-Order Event Streams: Calculating Time Deltas with grouping by topic","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fevent_stream_processing_time_between_occurrences","2.developers\u002F7.templates\u002FETL\u002F20.event_stream_processing_time_between_occurrences",{"aside":137,"date":2376,"layout":2168,"thumbnail":2377,"tags":2379,"keywords":2380},"2022-11-01",{"src":2378},"\u002Fassets\u002Fcontent\u002Fblog\u002Fth-time-between-events-in-a-multi-topic-event-stream.png",[793,1525],[2381,2382,1057,2383,2384],"event stream","multi-topic","ordering","sort",{"title":2386,"path":2387,"stem":2388,"meta":2389},"Adaptive Classifiers: Evolving Predictions with Real-Time Data","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Flsh_chapter1","2.developers\u002F7.templates\u002FETL\u002F3.lsh_chapter1",{"notebook_export_path":2390,"aside":137,"date":2391,"thumbnail":2392,"tags":2394,"keywords":2395,"layout":2168},"notebooks\u002Fshowcases\u002Flsh.ipynb","2022-10-25",{"src":2393},"\u002Fassets\u002Fcontent\u002Fblog\u002Fth-realtime-classification.png",[793,2188],[2396,1258,2397,1253,2398,2399,2400,1458,2192],"Classification","LSH","Locality Sensitive Hashing","MNIST","euclidean distance",{"title":2402,"path":2403,"stem":2404,"meta":2405},"Uncovering hidden user relationships in crypto exchanges with Fuzzy Join on streaming data","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fuser_pairs_fuzzy_join","2.developers\u002F7.templates\u002FETL\u002F30.user_pairs_fuzzy_join",{"aside":137,"date":2406,"thumbnail":2407,"tags":2409,"keywords":2410,"layout":2168},"2023-01-09",{"src":2408,"provider":2186},"\u002Fassets\u002Fblog\u002Fthumbnails\u002Fth-mining-hidden-user-pair-activity-with-fuzzy-join.png",[793,1525],[2411,2191,2412,2413,2414,2415,2416],"fuzzy join","cryptocurrency","bitcoin","BTC","ETH","Ethereum",{"title":2418,"path":2419,"stem":2420,"meta":2421},"Pathway Live Data Framework Logistics Application: Streamlined Insights for Real-Time Asset Management","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Flogistics","2.developers\u002F7.templates\u002FETL\u002F4.logistics",{"aside":137,"layout":2168,"date":2360,"thumbnail":2422,"tags":2424,"enterprise":137,"keywords":2425},{"src":2423},"\u002Fassets\u002Fcontent\u002Fblog\u002Fth-logictics-app.png",[793,2188],[2426,2427,2428],"Logistics","IoT","Dashboard",{"title":2430,"path":2431,"stem":2432,"meta":2433},"Real-Time Shortest Paths on Dynamic Networks with Bellman-Ford in Pathway Live Data Framework","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fbellman_ford","2.developers\u002F7.templates\u002FETL\u002F40.bellman_ford",{"aside":137,"date":2434,"layout":2168,"thumbnail":2435,"tags":2437,"notebook_export_path":2438,"keywords":2439},"2022-11-03",{"src":2436,"provider":2186},"\u002Fassets\u002Fblog\u002Fthumbnails\u002Fth-bellman-ford.png",[793,2188],"notebooks\u002Ftutorials\u002Fbellman_ford.ipynb",[1234,2440,2441,1595,2192],"fixed-point","shortest-path",{"title":2443,"path":2444,"stem":2445,"meta":2446},"Linear regression on a Kafka stream","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Flinear_regression_with_kafka","2.developers\u002F7.templates\u002FETL\u002F5.linear_regression_with_kafka",{"aside":137,"layout":2168,"date":2447,"tags":2448,"keywords":2449,"docker_github_link":2451},"2022-12-23",[793,1525],[2450,1058,307],"linear regression","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Fkafka-linear-regression",{"title":2453,"path":2454,"stem":2455,"meta":2456},"Real-Time PageRank on Dynamic Graphs with Pathway Live Data Framework","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fpagerank","2.developers\u002F7.templates\u002FETL\u002F50.pagerank",{"notebook_export_path":2457,"aside":137,"date":2458,"thumbnail":2459,"tags":2461,"keywords":2462,"layout":2168},"notebooks\u002Ftutorials\u002Fpagerank.ipynb","2022-11-07",{"src":2460,"provider":2186},"\u002Fassets\u002Fblog\u002Fthumbnails\u002Fth-computing-pagerank.png",[793,2188],[2463,1595,2192],"pagerank",{"title":2465,"path":2466,"stem":2467,"meta":2468},"Sensor Fusion in real-time: combining time series data with Pathway Live Data Framework","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Fcombining_time_series","2.developers\u002F7.templates\u002FETL\u002F65.combining_time_series",{"aside":137,"date":2469,"thumbnail":2470,"tags":2471,"keywords":2472,"notebook_export_path":2475,"layout":2168},"2023-04-28",{"src":2250},[2203],[2473,2474,2256,954,2192],"time series","multiple data sources","notebooks\u002Ftutorials\u002Fcombining-time-series.ipynb",{"title":2477,"path":2478,"stem":2479,"meta":2480},"Realtime Server Log Monitoring: nginx + Filebeat + Pathway","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002Frealtime-log-monitoring","2.developers\u002F7.templates\u002FETL\u002F7.realtime-log-monitoring",{"aside":137,"layout":2168,"date":2481,"thumbnail":2482,"tags":2484,"keywords":2485,"docker_github_link":2489},"2023-02-27",{"src":2483,"contain":137},"\u002Fassets\u002Fcontent\u002Ftutorials\u002Frealtime_log_monitoring\u002Fmeme.jpg",[793,1525],[2486,2191,1058,2487,1033,2488,1060],"log monitoring","Filebeat","ElasticSearch","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fpathway\u002Ftree\u002Fmain\u002Fexamples\u002Fprojects\u002Frealtime-log-monitoring\u002Ffilebeat-pathway-slack",{"title":2491,"path":2492,"stem":2493,"children":2494,"page":862},"Readmes","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes","2.developers\u002F7.templates\u002FETL\u002F_readmes",[2495,2500,2505,2510,2515,2520,2525,2530,2535,2540,2545,2549,2554,2559,2564,2569,2574,2579,2584],{"title":2496,"path":2497,"stem":2498,"meta":2499},"AG2 Multi-Agent Conversations with Pathway Live Data Framework Real-Time RAG","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fag2-multiagent-rag","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fag2-multiagent-rag",{},{"title":2501,"path":2502,"stem":2503,"meta":2504},"Azure ACI Deployment Example","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fazure-aci-deploy","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fazure-aci-deploy",{},{"title":2506,"path":2507,"stem":2508,"meta":2509},"Benchmark for Delta Lake S3 messaging as a Kafka replacement","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fbenchmarks","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fbenchmarks",{},{"title":2511,"path":2512,"stem":2513,"meta":2514},"Best-rated movies examples","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fbest-movies-example","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fbest-movies-example",{},{"title":2516,"path":2517,"stem":2518,"meta":2519},"Make your LLM app sane again: Forgetting incorrect data in real time","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fconf42","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fconf42",{},{"title":2521,"path":2522,"stem":2523,"meta":2524},"Custom python connector example","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fcustom-python-connector-twitter","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fcustom-python-connector-twitter",{},{"title":2526,"path":2527,"stem":2528,"meta":2529},"Realtime monitoring of logs","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Ffilebeat-pathway-slack","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Ffilebeat-pathway-slack",{},{"title":2531,"path":2532,"stem":2533,"meta":2534},"Tutorial: From interactive data exploration to deployment","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Ffrom_jupyter_to_deploy","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Ffrom_jupyter_to_deploy",{},{"title":2536,"path":2537,"stem":2538,"meta":2539},"ETL with Kafka in\u002FKafka out","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fkafka-etl","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fkafka-ETL",{},{"title":2541,"path":2542,"stem":2543,"meta":2544},"Best-rated movies example - Kafka version","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fkafka-version","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fkafka-version",{},{"title":2526,"path":2546,"stem":2547,"meta":2548},"\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Flogstash-pathway-elastic","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Flogstash-pathway-elastic",{},{"title":2550,"path":2551,"stem":2552,"meta":2553},"Pathway Live Data Framework Monitoring using OpenTelemetry Collector and Grafana Cloud","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fmonitoring","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fmonitoring",{},{"title":2555,"path":2556,"stem":2557,"meta":2558},"Computing Option Greeks with Pathway Live Data Framework and Databento.","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Foption-greeks","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Foption-greeks",{},{"title":2560,"path":2561,"stem":2562,"meta":2563},"Retrieval-Augmented Generation (RAG) Pipeline with Pathway Live Data Framework","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fquestion-answering-rag","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fquestion-answering-rag",{},{"title":2565,"path":2566,"stem":2567,"meta":2568},"Best-rated movies example - Redpanda version","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fredpanda-version","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fredpanda-version",{},{"title":2570,"path":2571,"stem":2572,"meta":2573},"Sample Pathway Live Data Framework program for SharePoint connection testing","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fsharepoint-test","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fsharepoint-test",{},{"title":2575,"path":2576,"stem":2577,"meta":2578},"Data Preparation for Spark Analytics","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fspark-data-preparation","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fspark-data-preparation",{},{"title":2580,"path":2581,"stem":2582,"meta":2583},"Realtime Twitter Analysis App with Pathway Live Data Framework","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Ftwitter","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Ftwitter",{},{"title":2585,"path":2586,"stem":2587,"meta":2588},"Web Scraping with Pathway Live Data Framework","\u002Fdevelopers\u002Ftemplates\u002Fetl\u002F_readmes\u002Fweb-scraping","2.developers\u002F7.templates\u002FETL\u002F_readmes\u002Fweb-scraping",{},{"title":2590,"meta":2591,"path":2592,"stem":2593,"children":2594,"page":862},"LLM-RAG Templates",{},"\u002Fdevelopers\u002Ftemplates\u002Frag","2.developers\u002F7.templates\u002Frag",[2595,2607,2622,2638,2651,2669,2679,2694,2704,2714,2725,2738],{"title":2596,"path":2597,"stem":2598,"meta":2599},"Question-Answering RAG App","\u002Fdevelopers\u002Ftemplates\u002Frag\u002Fdemo-question-answering","2.developers\u002F7.templates\u002Frag\u002F1000.demo-question-answering",{"redirection":2600,"thumbnail":2601,"layout":2168,"tags":2603,"date":1455,"keywords":2605,"docker_github_link":2600,"popular":137},"https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fllm-app\u002Ftree\u002Fmain\u002Ftemplates\u002Fquestion_answering_rag",{"src":2602,"provider":2186},"\u002Fassets\u002Fblog\u002Fthumbnails\u002Fqna-th.png",[1524,2604],"ai-pipelines",[1388,1400,1390,1391,2606,1254,307,91],"vector store",{"title":2608,"path":2609,"stem":2610,"meta":2611},"Adaptive RAG App","\u002Fdevelopers\u002Ftemplates\u002Frag\u002Ftemplate-adaptive-rag","2.developers\u002F7.templates\u002Frag\u002F1001.template-adaptive-rag",{"thumbnail":2612,"tags":2614,"date":2615,"layout":2168,"keywords":2616,"docker_github_link":2621},{"src":2613,"contain":137},"\u002Fassets\u002Fcontent\u002Fblog\u002Fadaptive-rag-plots\u002Fvisual-abstract.png",[1524,2604],"2024-03-29",[1388,1400,2617,2618,2619,2620,307,91],"Adaptive RAG","prompt engineering","prompt","explainability","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fllm-app\u002Ftree\u002Fmain\u002Ftemplates\u002Fadaptive_rag",{"title":2623,"path":2624,"stem":2625,"meta":2626},"Private RAG App with Mistral and Ollama","\u002Fdevelopers\u002Ftemplates\u002Frag\u002Ftemplate-private-rag","2.developers\u002F7.templates\u002Frag\u002F1002.template-private-rag",{"tags":2627,"date":2628,"thumbnail":2629,"layout":2168,"keywords":2631,"docker_github_link":2637},[1524,2604],"2024-04-22",{"src":2630,"contain":137},"\u002Fassets\u002Fcontent\u002Fblog\u002Flocal-adaptive-rag\u002Flocal_adaptive.png",[1388,1400,2617,2618,2620,2632,2633,2634,2635,2636,307,91],"mistral","ollama","private rag","local rag","ollama rag","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fllm-app\u002Ftree\u002Fmain\u002Ftemplates\u002Fprivate_rag",{"title":2639,"path":2640,"stem":2641,"meta":2642},"Multimodal RAG pipeline with GPT4o","\u002Fdevelopers\u002Ftemplates\u002Frag\u002Ftemplate-multimodal-rag","2.developers\u002F7.templates\u002Frag\u002F1003.template-multimodal-rag",{"tags":2643,"date":2644,"thumbnail":2645,"layout":2168,"keywords":2647,"docker_github_link":2650,"popular":137},[1524,2604],"2024-01-01",{"src":2646,"contain":137},"\u002Fassets\u002Fcontent\u002Fshowcases\u002Fmultimodal-RAG\u002FmultimodalRAG-blog-banner.png",[1388,1400,1390,1391,2648,2649,1458,307,91],"GPT-4o","multimodal RAG","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fllm-app\u002Ftree\u002Fmain\u002Ftemplates\u002Fmultimodal_rag",{"title":2652,"path":2653,"stem":2654,"children":2655,"meta":2665},"Live Document Indexing (Vector Store \u002F Retriever)","\u002Fdevelopers\u002Ftemplates\u002Frag\u002Ftemplate-demo-document-indexing","2.developers\u002F7.templates\u002Frag\u002F1008.template-demo-document-indexing",[2656],{"title":2652,"path":2653,"stem":2654,"meta":2657},{"thumbnail":2658,"tags":2660,"date":2644,"layout":2168,"keywords":2661,"docker_github_link":2664},{"src":2659,"provider":2186},"\u002Fassets\u002Fblog\u002Fthumbnails\u002Flive-document-indexing-th.png",[1524,2604],[1388,1400,1390,1391,2606,1254,2662,1151,2663,307,91],"SharePoint","Gdrive","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fllm-app\u002Ftree\u002Fmain\u002Ftemplates\u002Fdocument_indexing",{"thumbnail":2666,"tags":2667,"date":2644,"layout":2168,"keywords":2668,"docker_github_link":2664},{"src":2659,"provider":2186},[1524,2604],[1388,1400,1390,1391,2606,1254,2662,1151,2663,307,91],{"title":2670,"path":2671,"stem":2672,"meta":2673},"Alerting when answers change on Google Drive","\u002Fdevelopers\u002Ftemplates\u002Frag\u002Fdrive-alert","2.developers\u002F7.templates\u002Frag\u002F1009.drive-alert",{"tags":2674,"date":2675,"layout":2168,"keywords":2676,"docker_github_link":2678,"hide":137},[1524,2604],"2024-11-07",[1388,1400,1390,1391,2677,1254,1151,2663,307],"slack","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fllm-app\u002Ftree\u002Fmain\u002Ftemplates\u002Fdrive_alert",{"title":2680,"path":2681,"stem":2682,"meta":2683},"Slides AI Search App","\u002Fdevelopers\u002Ftemplates\u002Frag\u002Ftemplate-slides-search","2.developers\u002F7.templates\u002Frag\u002F1010.template-slides-search",{"thumbnail":2684,"tags":2686,"date":2687,"layout":2168,"keywords":2688,"docker_github_link":2693},{"src":2685,"provider":2186},"\u002Fassets\u002Fblog\u002Fthumbnails\u002Fslides-search-th.png",[1524,2604],"2024-11-14",[1388,1400,1390,1391,1151,2689,307,91,2690,2691,2692],"slides","multimodal","VLM","image-to-text","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fllm-app\u002Ftree\u002Fmain\u002Ftemplates\u002Fslides_ai_search",{"title":2695,"path":2696,"stem":2697,"meta":2698},"Adaptive RAG: cut your LLM costs without sacrificing accuracy","\u002Fdevelopers\u002Ftemplates\u002Frag\u002Fadaptive-rag","2.developers\u002F7.templates\u002Frag\u002F1015.adaptive-rag",{"aside":137,"thumbnail":2699,"tags":2700,"date":2701,"notebook_export_path":2702,"keywords":2703,"run_template":2609,"hide":137},{"src":2613,"contain":137},[1524,2604],"2024-03-28","notebooks\u002Fshowcases\u002Fadaptive_rag_question_answering.ipynb",[1388,1400,2617,2618,2619,2620,2192,1060],{"title":2705,"path":2706,"stem":2707,"meta":2708},"Multimodal RAG for PDFs with Text, Images, and Charts","\u002Fdevelopers\u002Ftemplates\u002Frag\u002Fmultimodal-rag","2.developers\u002F7.templates\u002Frag\u002F120.multimodal-rag",{"aside":137,"thumbnail":2709,"date":2710,"tags":2711,"keywords":2712,"notebook_export_path":2713,"run_template":2640,"popular":137,"hide":137},{"src":2646,"contain":137},"2024-06-20",[1524,2604],[1388,1400,1390,1391,2648,2649,1458,2192,307],"notebooks\u002Fshowcases\u002Fmultimodal-rag.ipynb",{"title":2715,"path":2716,"stem":2717,"meta":2718},"Private RAG with Connected Data Sources using Mistral, Ollama, and Pathway Live Data Framework","\u002Fdevelopers\u002Ftemplates\u002Frag\u002Fprivate-rag-ollama-mistral","2.developers\u002F7.templates\u002Frag\u002F161.private-rag-ollama-mistral",{"aside":137,"thumbnail":2719,"tags":2720,"date":2721,"related":2722,"notebook_export_path":2723,"keywords":2724,"run_template":2624,"hide":137},{"src":2630,"contain":137},[1524,2604],"2024-04-23",[2696,2597],"notebooks\u002Fshowcases\u002Fmistral_adaptive_rag_question_answering.ipynb",[1388,1400,2617,2618,2620,2632,2633,2634,2635,2636,2192,307],{"title":2726,"path":2727,"stem":2728,"meta":2729},"Pathway Live Data Framework + PostgreSQL + LLM: app for querying financial reports with live document structuring pipeline.","\u002Fdevelopers\u002Ftemplates\u002Frag\u002Funstructured-to-structured","2.developers\u002F7.templates\u002Frag\u002F5.unstructured-to-structured",{"aside":137,"layout":2168,"date":1371,"thumbnail":2730,"tags":2732,"keywords":2733,"docker_github_link":2737},{"src":2731,"contain":137},"\u002Fassets\u002Fcontent\u002Fshowcases\u002Fllm-app\u002Farchitecture_unst_to_st.png",[1524,2604],[1388,2734,1458,1085,1390,2735,2736,953,1458,1060],"SQL","Entity extraction","Document parsing","https:\u002F\u002Fgithub.com\u002Fpathwaycom\u002Fllm-app\u002Ftree\u002Fmain\u002Ftemplates\u002Funstructured_to_sql_on_the_fly",{"title":2491,"path":2739,"stem":2740,"children":2741,"page":862},"\u002Fdevelopers\u002Ftemplates\u002Frag\u002F_readmes","2.developers\u002F7.templates\u002Frag\u002F_readmes",[2742,2747,2755,2760,2765,2770,2775,2780,2785],{"title":2743,"path":2744,"stem":2745,"meta":2746},"AdaptiveRag","\u002Fdevelopers\u002Ftemplates\u002Frag\u002F_readmes\u002Fadaptive_rag","2.developers\u002F7.templates\u002Frag\u002F_readmes\u002Fadaptive_rag",{},{"title":2748,"path":2749,"stem":2750,"children":2751,"meta":2754},"DocumentIndexing","\u002Fdevelopers\u002Ftemplates\u002Frag\u002F_readmes\u002Fdocument_indexing","2.developers\u002F7.templates\u002Frag\u002F_readmes\u002Fdocument_indexing",[2752],{"title":2748,"path":2749,"stem":2750,"meta":2753},{},{},{"title":2756,"path":2757,"stem":2758,"meta":2759},"DocumentStoreMcpServer","\u002Fdevelopers\u002Ftemplates\u002Frag\u002F_readmes\u002Fdocument_store_mcp_server","2.developers\u002F7.templates\u002Frag\u002F_readmes\u002Fdocument_store_mcp_server",{},{"title":2761,"path":2762,"stem":2763,"meta":2764},"Pathway Live Data Framework + LLM + Slack notification: RAG App with real-time alerting when answers change in documents","\u002Fdevelopers\u002Ftemplates\u002Frag\u002F_readmes\u002Fdrive_alert","2.developers\u002F7.templates\u002Frag\u002F_readmes\u002Fdrive_alert",{},{"title":2766,"path":2767,"stem":2768,"meta":2769},"MultimodalRag","\u002Fdevelopers\u002Ftemplates\u002Frag\u002F_readmes\u002Fmultimodal_rag","2.developers\u002F7.templates\u002Frag\u002F_readmes\u002Fmultimodal_rag",{},{"title":2771,"path":2772,"stem":2773,"meta":2774},"PrivateRag","\u002Fdevelopers\u002Ftemplates\u002Frag\u002F_readmes\u002Fprivate_rag","2.developers\u002F7.templates\u002Frag\u002F_readmes\u002Fprivate_rag",{},{"title":2776,"path":2777,"stem":2778,"meta":2779},"QuestionAnsweringRag","\u002Fdevelopers\u002Ftemplates\u002Frag\u002F_readmes\u002Fquestion_answering_rag","2.developers\u002F7.templates\u002Frag\u002F_readmes\u002Fquestion_answering_rag",{},{"title":2781,"path":2782,"stem":2783,"meta":2784},"SlidesAiSearch","\u002Fdevelopers\u002Ftemplates\u002Frag\u002F_readmes\u002Fslides_ai_search","2.developers\u002F7.templates\u002Frag\u002F_readmes\u002Fslides_ai_search",{},{"title":2786,"path":2787,"stem":2788,"meta":2789},"UnstructuredToSqlOnTheFly","\u002Fdevelopers\u002Ftemplates\u002Frag\u002F_readmes\u002Funstructured_to_sql_on_the_fly","2.developers\u002F7.templates\u002Frag\u002F_readmes\u002Funstructured_to_sql_on_the_fly",{},{"navTitle":858,"layout":932,"aside":137,"toc":862,"single":137},{"id":4,"title":5,"author":6,"body":2792,"description":819,"extension":820,"meta":3377,"navigation":137,"path":831,"seo":3380,"sitemap":3381,"stem":837,"__hash__":838},{"type":8,"value":2793,"toc":3370},[2794,2796,2798,2804,2806,2808,2813,2818,2820,2830,2834,2886,2888,2994,2996,3030,3034,3036,3040,3124,3126,3128,3133,3141,3143,3148,3158,3330,3332,3346,3349,3351,3354,3356,3360,3368],[11,2795,5],{"id":13},[15,2797,17],{},[15,2799,20,2800,24,2802,30],{},[22,2801],{},[26,2803,29],{"href":28},[15,2805,33],{},[15,2807,36],{},[15,2809,39,2810,46],{},[26,2811,45],{"href":42,"rel":2812},[44],[15,2814,49,2815,46],{},[26,2816,54],{"href":52,"rel":2817},[44],[56,2819,59],{"id":58},[15,2821,62,2822,67,2824,73,2827,46],{},[64,2823,66],{},[26,2825,72],{"href":70,"rel":2826},[44],[26,2828,78],{"href":76,"rel":2829},[44],[15,2831,81,2832,85],{},[64,2833,84],{},[87,2835,2836],{"className":89,"code":90,"language":91,"meta":92,"style":92},[64,2837,2838,2844,2850,2856,2862,2866,2872,2878],{"__ignoreMap":92},[96,2839,2840,2842],{"class":98,"line":99},[96,2841,103],{"class":102},[96,2843,107],{"class":106},[96,2845,2846,2848],{"class":98,"line":110},[96,2847,113],{"class":102},[96,2849,107],{"class":106},[96,2851,2852,2854],{"class":98,"line":118},[96,2853,121],{"class":102},[96,2855,107],{"class":106},[96,2857,2858,2860],{"class":98,"line":126},[96,2859,129],{"class":102},[96,2861,107],{"class":106},[96,2863,2864],{"class":98,"line":134},[96,2865,138],{"emptyLinePlaceholder":137},[96,2867,2868,2870],{"class":98,"line":141},[96,2869,144],{"class":102},[96,2871,107],{"class":106},[96,2873,2874,2876],{"class":98,"line":149},[96,2875,152],{"class":102},[96,2877,107],{"class":106},[96,2879,2880,2882,2884],{"class":98,"line":157},[96,2881,160],{"class":102},[96,2883,163],{"class":106},[96,2885,167],{"class":166},[15,2887,170],{},[87,2889,2890],{"className":89,"code":173,"language":91,"meta":92,"style":92},[64,2891,2892,2898,2904,2910,2922,2934,2940,2952,2964,2970,2982],{"__ignoreMap":92},[96,2893,2894,2896],{"class":98,"line":99},[96,2895,180],{"class":102},[96,2897,107],{"class":106},[96,2899,2900,2902],{"class":98,"line":110},[96,2901,187],{"class":102},[96,2903,107],{"class":106},[96,2905,2906,2908],{"class":98,"line":118},[96,2907,194],{"class":102},[96,2909,107],{"class":106},[96,2911,2912,2914,2916,2918,2920],{"class":98,"line":126},[96,2913,201],{"class":102},[96,2915,163],{"class":106},[96,2917,206],{"class":106},[96,2919,209],{"class":166},[96,2921,212],{"class":106},[96,2923,2924,2926,2928,2930,2932],{"class":98,"line":134},[96,2925,217],{"class":102},[96,2927,163],{"class":106},[96,2929,206],{"class":106},[96,2931,224],{"class":166},[96,2933,212],{"class":106},[96,2935,2936,2938],{"class":98,"line":141},[96,2937,231],{"class":102},[96,2939,107],{"class":106},[96,2941,2942,2944,2946,2948,2950],{"class":98,"line":149},[96,2943,201],{"class":102},[96,2945,163],{"class":106},[96,2947,206],{"class":106},[96,2949,209],{"class":166},[96,2951,212],{"class":106},[96,2953,2954,2956,2958,2960,2962],{"class":98,"line":157},[96,2955,217],{"class":102},[96,2957,163],{"class":106},[96,2959,206],{"class":106},[96,2961,224],{"class":166},[96,2963,212],{"class":106},[96,2965,2966,2968],{"class":98,"line":260},[96,2967,263],{"class":102},[96,2969,107],{"class":106},[96,2971,2972,2974,2976,2978,2980],{"class":98,"line":268},[96,2973,201],{"class":102},[96,2975,163],{"class":106},[96,2977,206],{"class":106},[96,2979,209],{"class":166},[96,2981,212],{"class":106},[96,2983,2984,2986,2988,2990,2992],{"class":98,"line":281},[96,2985,217],{"class":102},[96,2987,163],{"class":106},[96,2989,206],{"class":106},[96,2991,224],{"class":166},[96,2993,212],{"class":106},[15,2995,294],{},[87,2997,2998],{"className":297,"code":298,"language":299,"meta":92,"style":92},[64,2999,3000],{"__ignoreMap":92},[96,3001,3002,3004,3006,3008,3010,3012,3014,3016,3018,3020,3022,3024,3026,3028],{"class":98,"line":99},[96,3003,307],{"class":306},[96,3005,310],{"class":166},[96,3007,313],{"class":166},[96,3009,316],{"class":106},[96,3011,320],{"class":319},[96,3013,323],{"class":106},[96,3015,326],{"class":166},[96,3017,329],{"class":166},[96,3019,332],{"class":106},[96,3021,335],{"class":166},[96,3023,339],{"class":338},[96,3025,342],{"class":106},[96,3027,345],{"class":166},[96,3029,348],{"class":166},[15,3031,351,3032,355],{},[64,3033,354],{},[56,3035,359],{"id":358},[15,3037,362,3038,46],{},[26,3039,365],{"href":28},[87,3041,3042],{"className":368,"code":369,"language":370,"meta":92,"style":92},[64,3043,3044,3054,3058,3080,3102,3106,3110,3114],{"__ignoreMap":92},[96,3045,3046,3048,3050,3052],{"class":98,"line":99},[96,3047,378],{"class":377},[96,3049,381],{"class":338},[96,3051,384],{"class":377},[96,3053,387],{"class":338},[96,3055,3056],{"class":98,"line":110},[96,3057,138],{"emptyLinePlaceholder":137},[96,3059,3060,3062,3064,3066,3068,3070,3072,3074,3076,3078],{"class":98,"line":118},[96,3061,396],{"class":338},[96,3063,46],{"class":106},[96,3065,401],{"class":319},[96,3067,404],{"class":106},[96,3069,408],{"class":407},[96,3071,411],{"class":106},[96,3073,414],{"class":106},[96,3075,417],{"class":166},[96,3077,414],{"class":106},[96,3079,422],{"class":106},[96,3081,3082,3084,3086,3088,3090,3092,3094,3096,3098,3100],{"class":98,"line":126},[96,3083,396],{"class":338},[96,3085,46],{"class":106},[96,3087,431],{"class":319},[96,3089,404],{"class":106},[96,3091,436],{"class":407},[96,3093,411],{"class":106},[96,3095,414],{"class":106},[96,3097,443],{"class":166},[96,3099,414],{"class":106},[96,3101,422],{"class":106},[96,3103,3104],{"class":98,"line":134},[96,3105,138],{"emptyLinePlaceholder":137},[96,3107,3108],{"class":98,"line":141},[96,3109,457],{"class":456},[96,3111,3112],{"class":98,"line":149},[96,3113,138],{"emptyLinePlaceholder":137},[96,3115,3116,3118,3120,3122],{"class":98,"line":157},[96,3117,396],{"class":338},[96,3119,46],{"class":106},[96,3121,470],{"class":319},[96,3123,473],{"class":106},[15,3125,476],{},[56,3127,480],{"id":479},[15,3129,483,3130,489],{},[26,3131,488],{"href":486,"rel":3132},[44],[15,3134,492,3135,496,3138,46],{},[26,3136,45],{"href":42,"rel":3137},[44],[26,3139,501],{"href":499,"rel":3140},[44],[503,3142,506],{"id":505},[15,3144,509,3145,514],{},[26,3146,512],{"href":512,"rel":3147},[44],[15,3149,517,3150,520,3152,524,3154,528,3156,532],{},[64,3151,84],{},[64,3153,523],{},[64,3155,527],{},[64,3157,531],{},[87,3159,3160],{"className":89,"code":535,"language":91,"meta":92,"style":92},[64,3161,3162,3166,3172,3178,3184,3192,3200,3204,3208,3214,3220,3228,3234,3242,3248,3256,3260,3264,3268,3274,3286,3292,3298,3310,3326],{"__ignoreMap":92},[96,3163,3164],{"class":98,"line":99},[96,3165,542],{"class":456},[96,3167,3168,3170],{"class":98,"line":110},[96,3169,547],{"class":102},[96,3171,107],{"class":106},[96,3173,3174,3176],{"class":98,"line":118},[96,3175,554],{"class":102},[96,3177,107],{"class":106},[96,3179,3180,3182],{"class":98,"line":126},[96,3181,561],{"class":102},[96,3183,107],{"class":106},[96,3185,3186,3188,3190],{"class":98,"line":134},[96,3187,568],{"class":102},[96,3189,163],{"class":106},[96,3191,573],{"class":166},[96,3193,3194,3196,3198],{"class":98,"line":141},[96,3195,578],{"class":102},[96,3197,163],{"class":106},[96,3199,583],{"class":166},[96,3201,3202],{"class":98,"line":149},[96,3203,138],{"emptyLinePlaceholder":137},[96,3205,3206],{"class":98,"line":157},[96,3207,592],{"class":456},[96,3209,3210,3212],{"class":98,"line":260},[96,3211,144],{"class":102},[96,3213,107],{"class":106},[96,3215,3216,3218],{"class":98,"line":268},[96,3217,152],{"class":102},[96,3219,107],{"class":106},[96,3221,3222,3224,3226],{"class":98,"line":281},[96,3223,160],{"class":102},[96,3225,163],{"class":106},[96,3227,167],{"class":166},[96,3229,3230,3232],{"class":98,"line":615},[96,3231,618],{"class":102},[96,3233,107],{"class":106},[96,3235,3236,3238,3240],{"class":98,"line":623},[96,3237,626],{"class":102},[96,3239,163],{"class":106},[96,3241,631],{"class":166},[96,3243,3244,3246],{"class":98,"line":634},[96,3245,637],{"class":102},[96,3247,107],{"class":106},[96,3249,3250,3252,3254],{"class":98,"line":642},[96,3251,645],{"class":102},[96,3253,163],{"class":106},[96,3255,650],{"class":166},[96,3257,3258],{"class":98,"line":653},[96,3259,138],{"emptyLinePlaceholder":137},[96,3261,3262],{"class":98,"line":658},[96,3263,138],{"emptyLinePlaceholder":137},[96,3265,3266],{"class":98,"line":663},[96,3267,666],{"class":456},[96,3269,3270,3272],{"class":98,"line":669},[96,3271,180],{"class":102},[96,3273,107],{"class":106},[96,3275,3276,3278,3280,3282,3284],{"class":98,"line":676},[96,3277,679],{"class":102},[96,3279,163],{"class":106},[96,3281,206],{"class":106},[96,3283,686],{"class":166},[96,3285,212],{"class":106},[96,3287,3288,3290],{"class":98,"line":691},[96,3289,187],{"class":102},[96,3291,107],{"class":106},[96,3293,3294,3296],{"class":98,"line":698},[96,3295,263],{"class":102},[96,3297,107],{"class":106},[96,3299,3300,3302,3304,3306,3308],{"class":98,"line":705},[96,3301,201],{"class":102},[96,3303,163],{"class":106},[96,3305,206],{"class":106},[96,3307,209],{"class":166},[96,3309,212],{"class":106},[96,3311,3312,3314,3316,3318,3320,3322,3324],{"class":98,"line":718},[96,3313,217],{"class":102},[96,3315,163],{"class":106},[96,3317,206],{"class":106},[96,3319,727],{"class":166},[96,3321,730],{"class":106},[96,3323,733],{"class":166},[96,3325,212],{"class":106},[96,3327,3328],{"class":98,"line":738},[96,3329,742],{"class":741},[15,3331,745],{},[747,3333,3334,3336,3338,3342],{},[750,3335,752],{},[750,3337,755],{},[750,3339,758,3340,762],{},[64,3341,761],{},[750,3343,765,3344],{},[64,3345,768],{},[770,3347],{"src":772,"alt":773,"className":3348},[775],[15,3350,778],{},[770,3352],{"src":781,"alt":782,"className":3353},[775],[15,3355,786],{},[15,3357,789,3358,489],{},[26,3359,793],{"href":792},[15,3361,796,3362,801,3365,807],{},[26,3363,800],{"href":499,"rel":3364},[44],[26,3366,806],{"href":804,"rel":3367},[44],[809,3369,811],{},{"title":92,"searchDepth":110,"depth":110,"links":3371},[3372,3373,3374],{"id":58,"depth":110,"text":59},{"id":358,"depth":110,"text":359},{"id":479,"depth":110,"text":480,"children":3375},[3376],{"id":505,"depth":118,"text":506},{"date":822,"thumbnail":823,"tags":3378,"keywords":3379},[793,825],[827,828,829,830],{"title":5,"description":819},{"loc":831,"images":3382},[3383,3384],{"loc":772},{"loc":781},[3386,3387],{"title":1578,"path":1579,"stem":1580,"children":-1},{"title":1587,"path":792,"stem":1588,"children":-1},1781214738661]