locust 2.31.4.dev44__py3-none-any.whl → 2.31.4.dev47__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@
8
8
  <meta name="theme-color" content="#000000" />
9
9
 
10
10
  <title>Locust</title>
11
- <script type="module" crossorigin src="./assets/index-BTVvoV6z.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-K5xg1SLs.js"></script>
12
12
  </head>
13
13
  <body>
14
14
  <div id="root"></div>
@@ -8,7 +8,7 @@
8
8
  <meta name="theme-color" content="#000000" />
9
9
 
10
10
  <title>Locust</title>
11
- <script type="module" crossorigin src="./assets/index-BTVvoV6z.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-K5xg1SLs.js"></script>
12
12
  </head>
13
13
  <body>
14
14
  <div id="root"></div>
@@ -233,7 +233,7 @@ PERFORMANCE OF THIS SOFTWARE.
233
233
  <span style="color:${f};">
234
234
  ${h}:&nbsp${Ube({chartValueFormatter:i,value:d})}
235
235
  </span>
236
- `,""):"No data",borderWidth:0},xAxis:{type:"time",startValue:e.time[0],axisLabel:{formatter:Wbe}},grid:{left:60,right:40},yAxis:Hbe({splitAxis:a,yAxisLabels:o}),series:GW({charts:e,lines:r,scatterplot:s}),color:n,toolbox:{right:10,feature:{dataZoom:{show:!0,title:{zoom:"Zoom Select",back:"Zoom Reset"}},saveAsImage:{name:t.replace(/\s+/g,"_").toLowerCase()+"_"+new Date().getTime()/1e3,title:"Download as PNG",emphasis:{iconStyle:{textPosition:"left"}}}}}}),Ybe=(e,t)=>({symbol:"none",label:{formatter:r=>`Run #${r.dataIndex+1}`,padding:[0,0,8,0]},lineStyle:{color:t?gm.DARK.axisColor:gm.LIGHT.axisColor},data:(e.markers||[]).map(r=>({xAxis:r}))}),Xbe=e=>t=>{const{batch:r}=t;if(!r)return;const[{start:n,end:i}]=r,a=n>0&&i<100;e.setOption({dataZoom:[{type:"inside",start:n,end:i},{type:"slider",show:a,start:n,end:i}]})},Zbe=hQ;function Kbe({charts:e,title:t,lines:r,colors:n,chartValueFormatter:i,splitAxis:a,yAxisLabels:o,scatterplot:s}){const[l,u]=F.useState(null),c=Zbe(({theme:{isDarkMode:h}})=>h),f=F.useRef(null);return F.useEffect(()=>{if(!f.current)return;const h=Lce(f.current);h.setOption(jbe({charts:e,title:t,lines:r,colors:n,chartValueFormatter:i,splitAxis:a,yAxisLabels:o,scatterplot:s})),h.on("datazoom",Xbe(h));const d=()=>h.resize();return window.addEventListener("resize",d),h.group="swarmCharts",Rce("swarmCharts"),u(h),()=>{Oce(h),window.removeEventListener("resize",d)}},[f]),F.useEffect(()=>{const h=r.every(({key:d})=>!!e[d]);l&&h&&l.setOption({series:r.map(({key:d,yAxisIndex:p,...v},g)=>({...v,data:e[d],...a?{yAxisIndex:p||g}:{},...g===0?{markLine:Ybe(e,c)}:{}}))})},[e,l,r,c]),F.useEffect(()=>{if(l){const{textColor:h,axisColor:d,backgroundColor:p,splitLine:v}=c?gm.DARK:gm.LIGHT;l.setOption({backgroundColor:p,textStyle:{color:h},title:{textStyle:{color:h}},legend:{icon:"circle",inactiveColor:h,textStyle:{color:h}},tooltip:{backgroundColor:p,textStyle:{color:h}},xAxis:{axisLine:{lineStyle:{color:d}}},yAxis:{axisLine:{lineStyle:{color:d}},splitLine:{lineStyle:{color:v}}}})}},[l,c]),F.useEffect(()=>{l&&l.setOption({series:GW({charts:e,lines:r,scatterplot:s})})},[r]),H.jsx("div",{ref:f,style:{width:"100%",height:"300px"}})}const qbe=pl.percentilesToChart?pl.percentilesToChart.map(e=>({name:`${e*100}th percentile`,key:`responseTimePercentile${e}`})):[],Qbe=["#ff9f00","#9966CC","#8A2BE2","#8E4585","#E0B0FF","#C8A2C8","#E6E6FA"],Jbe=[{title:"Total Requests per Second",lines:[{name:"RPS",key:"currentRps"},{name:"Failures/s",key:"currentFailPerSec"}],colors:["#00ca5a","#ff6d6d"]},{title:"Response Times (ms)",lines:qbe,colors:Qbe},{title:"Number of Users",lines:[{name:"Number of Users",key:"userCount"}],colors:["#0099ff"]}];function $W({charts:e}){return H.jsx("div",{children:Jbe.map((t,r)=>H.jsx(Kbe,{...t,charts:e},`swarm-chart-${r}`))})}const eCe=({ui:{charts:e}})=>({charts:e});qd(eCe)($W);function tCe(e){return(e*100).toFixed(1)+"%"}function RC({classRatio:e}){return H.jsx("ul",{children:Object.entries(e).map(([t,{ratio:r,tasks:n}])=>H.jsxs("li",{children:[`${tCe(r)} ${t}`,n&&H.jsx(RC,{classRatio:n})]},`nested-ratio-${t}`))})}function HW({ratios:{perClass:e,total:t}}){return!e&&!t?null:H.jsxs("div",{children:[e&&H.jsxs(H.Fragment,{children:[H.jsx("h3",{children:"Ratio Per Class"}),H.jsx(RC,{classRatio:e})]}),t&&H.jsxs(H.Fragment,{children:[H.jsx("h3",{children:"Total Ratio"}),H.jsx(RC,{classRatio:t})]})]})}const rCe=({ui:{ratios:e}})=>({ratios:e});qd(rCe)(HW);const wS={DARK:"dark",LIGHT:"light"},WW=localStorage.theme===wS.DARK||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches?wS.DARK:wS.LIGHT,nCe={isDarkMode:!1},UW=$q({name:"theme",initialState:nCe,reducers:{setIsDarkMode:(e,{payload:t})=>{e.isDarkMode=t}}});UW.actions;const iCe=UW.reducer,aCe=e=>qT({palette:{mode:e,primary:{main:"#15803d"},success:{main:"#00C853"}},components:{MuiCssBaseline:{styleOverrides:{":root":{"--footer-height":"40px"}}}}}),oCe=aCe(window.theme||WW),sCe=(window.theme||WW)==="dark",lCe=[{key:"method",title:"Type"},{key:"name",title:"Name"},{key:"numRequests",title:"# Requests"},{key:"numFailures",title:"# Fails"},{key:"avgResponseTime",title:"Average (ms)",round:2},{key:"minResponseTime",title:"Min (ms)"},{key:"maxResponseTime",title:"Max (ms)"},{key:"avgContentLength",title:"Average size (bytes)",round:2},{key:"totalRps",title:"RPS",round:2},{key:"totalFailPerSec",title:"Failures/s",round:2}],uCe=Lq({reducer:j3({theme:iCe}),preloadedState:{theme:{isDarkMode:sCe}}});function cCe({locustfile:e,showDownloadLink:t,startTime:r,endTime:n,charts:i,host:a,exceptionsStatistics:o,requestsStatistics:s,failuresStatistics:l,responseTimeStatistics:u,tasks:c}){return H.jsx(rJ,{store:uCe,children:H.jsxs(XY,{theme:oCe,children:[H.jsx(IZ,{}),H.jsxs(MZ,{maxWidth:"lg",sx:{my:4},children:[H.jsxs(zn,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-end"},children:[H.jsx(Ar,{component:"h1",noWrap:!0,sx:{fontWeight:700},variant:"h3",children:"Locust Test Report"}),t&&H.jsx(iK,{href:`?download=1&theme=${window.theme}`,children:"Download the Report"})]}),H.jsxs(zn,{sx:{my:2},children:[H.jsxs(zn,{sx:{display:"flex",columnGap:.5},children:[H.jsx(Ar,{fontWeight:600,children:"During:"}),H.jsxs(Ar,{children:[LC(r)," - ",LC(n)]})]}),H.jsxs(zn,{sx:{display:"flex",columnGap:.5},children:[H.jsx(Ar,{fontWeight:600,children:"Target Host:"}),H.jsx(Ar,{children:a||"None"})]}),H.jsxs(zn,{sx:{display:"flex",columnGap:.5},children:[H.jsx(Ar,{fontWeight:600,children:"Script:"}),H.jsx(Ar,{children:e})]})]}),H.jsxs(zn,{sx:{display:"flex",flexDirection:"column",rowGap:4},children:[H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Request Statistics"}),H.jsx(n4,{stats:s,tableStructure:lCe})]}),!!u.length&&H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Response Time Statistics"}),H.jsx(kne,{responseTimes:u})]}),H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Failures Statistics"}),H.jsx(e4,{errors:l})]}),!!o.length&&H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Exceptions Statistics"}),H.jsx(JF,{exceptions:o})]}),H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Charts"}),H.jsx($W,{charts:i})]}),H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Final ratio"}),H.jsx(HW,{ratios:c})]})]})]})]})})}const fCe=bS.createRoot(document.getElementById("root"));fCe.render(H.jsx(x9,{fallbackRender:w9,children:H.jsx(cCe,{...A9})}));
236
+ `,""):"No data",borderWidth:0},xAxis:{type:"time",startValue:(e.time||[""])[0],axisLabel:{formatter:Wbe}},grid:{left:60,right:40},yAxis:Hbe({splitAxis:a,yAxisLabels:o}),series:GW({charts:e,lines:r,scatterplot:s}),color:n,toolbox:{right:10,feature:{dataZoom:{show:!0,title:{zoom:"Zoom Select",back:"Zoom Reset"}},saveAsImage:{name:t.replace(/\s+/g,"_").toLowerCase()+"_"+new Date().getTime()/1e3,title:"Download as PNG",emphasis:{iconStyle:{textPosition:"left"}}}}}}),Ybe=(e,t)=>({symbol:"none",label:{formatter:r=>`Run #${r.dataIndex+1}`,padding:[0,0,8,0]},lineStyle:{color:t?gm.DARK.axisColor:gm.LIGHT.axisColor},data:(e.markers||[]).map(r=>({xAxis:r}))}),Xbe=e=>t=>{const{batch:r}=t;if(!r)return;const[{start:n,end:i}]=r,a=n>0&&i<100;e.setOption({dataZoom:[{type:"inside",start:n,end:i},{type:"slider",show:a,start:n,end:i}]})},Zbe=hQ;function Kbe({charts:e,title:t,lines:r,colors:n,chartValueFormatter:i,splitAxis:a,yAxisLabels:o,scatterplot:s}){const[l,u]=F.useState(null),c=Zbe(({theme:{isDarkMode:h}})=>h),f=F.useRef(null);return F.useEffect(()=>{if(!f.current)return;const h=Lce(f.current);h.setOption(jbe({charts:e,title:t,lines:r,colors:n,chartValueFormatter:i,splitAxis:a,yAxisLabels:o,scatterplot:s})),h.on("datazoom",Xbe(h));const d=()=>h.resize();return window.addEventListener("resize",d),h.group="swarmCharts",Rce("swarmCharts"),u(h),()=>{Oce(h),window.removeEventListener("resize",d)}},[f]),F.useEffect(()=>{const h=r.every(({key:d})=>!!e[d]);l&&h&&l.setOption({series:r.map(({key:d,yAxisIndex:p,...v},g)=>({...v,data:e[d],...a?{yAxisIndex:p||g}:{},...g===0?{markLine:Ybe(e,c)}:{}}))})},[e,l,r,c]),F.useEffect(()=>{if(l){const{textColor:h,axisColor:d,backgroundColor:p,splitLine:v}=c?gm.DARK:gm.LIGHT;l.setOption({backgroundColor:p,textStyle:{color:h},title:{textStyle:{color:h}},legend:{icon:"circle",inactiveColor:h,textStyle:{color:h}},tooltip:{backgroundColor:p,textStyle:{color:h}},xAxis:{axisLine:{lineStyle:{color:d}}},yAxis:{axisLine:{lineStyle:{color:d}},splitLine:{lineStyle:{color:v}}}})}},[l,c]),F.useEffect(()=>{l&&l.setOption({series:GW({charts:e,lines:r,scatterplot:s})})},[r]),H.jsx("div",{ref:f,style:{width:"100%",height:"300px"}})}const qbe=pl.percentilesToChart?pl.percentilesToChart.map(e=>({name:`${e*100}th percentile`,key:`responseTimePercentile${e}`})):[],Qbe=["#ff9f00","#9966CC","#8A2BE2","#8E4585","#E0B0FF","#C8A2C8","#E6E6FA"],Jbe=[{title:"Total Requests per Second",lines:[{name:"RPS",key:"currentRps"},{name:"Failures/s",key:"currentFailPerSec"}],colors:["#00ca5a","#ff6d6d"]},{title:"Response Times (ms)",lines:qbe,colors:Qbe},{title:"Number of Users",lines:[{name:"Number of Users",key:"userCount"}],colors:["#0099ff"]}];function $W({charts:e}){return H.jsx("div",{children:Jbe.map((t,r)=>H.jsx(Kbe,{...t,charts:e},`swarm-chart-${r}`))})}const eCe=({ui:{charts:e}})=>({charts:e});qd(eCe)($W);function tCe(e){return(e*100).toFixed(1)+"%"}function RC({classRatio:e}){return H.jsx("ul",{children:Object.entries(e).map(([t,{ratio:r,tasks:n}])=>H.jsxs("li",{children:[`${tCe(r)} ${t}`,n&&H.jsx(RC,{classRatio:n})]},`nested-ratio-${t}`))})}function HW({ratios:{perClass:e,total:t}}){return!e&&!t?null:H.jsxs("div",{children:[e&&H.jsxs(H.Fragment,{children:[H.jsx("h3",{children:"Ratio Per Class"}),H.jsx(RC,{classRatio:e})]}),t&&H.jsxs(H.Fragment,{children:[H.jsx("h3",{children:"Total Ratio"}),H.jsx(RC,{classRatio:t})]})]})}const rCe=({ui:{ratios:e}})=>({ratios:e});qd(rCe)(HW);const wS={DARK:"dark",LIGHT:"light"},WW=localStorage.theme===wS.DARK||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches?wS.DARK:wS.LIGHT,nCe={isDarkMode:!1},UW=$q({name:"theme",initialState:nCe,reducers:{setIsDarkMode:(e,{payload:t})=>{e.isDarkMode=t}}});UW.actions;const iCe=UW.reducer,aCe=e=>qT({palette:{mode:e,primary:{main:"#15803d"},success:{main:"#00C853"}},components:{MuiCssBaseline:{styleOverrides:{":root":{"--footer-height":"40px"}}}}}),oCe=aCe(window.theme||WW),sCe=(window.theme||WW)==="dark",lCe=[{key:"method",title:"Type"},{key:"name",title:"Name"},{key:"numRequests",title:"# Requests"},{key:"numFailures",title:"# Fails"},{key:"avgResponseTime",title:"Average (ms)",round:2},{key:"minResponseTime",title:"Min (ms)"},{key:"maxResponseTime",title:"Max (ms)"},{key:"avgContentLength",title:"Average size (bytes)",round:2},{key:"totalRps",title:"RPS",round:2},{key:"totalFailPerSec",title:"Failures/s",round:2}],uCe=Lq({reducer:j3({theme:iCe}),preloadedState:{theme:{isDarkMode:sCe}}});function cCe({locustfile:e,showDownloadLink:t,startTime:r,endTime:n,charts:i,host:a,exceptionsStatistics:o,requestsStatistics:s,failuresStatistics:l,responseTimeStatistics:u,tasks:c}){return H.jsx(rJ,{store:uCe,children:H.jsxs(XY,{theme:oCe,children:[H.jsx(IZ,{}),H.jsxs(MZ,{maxWidth:"lg",sx:{my:4},children:[H.jsxs(zn,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-end"},children:[H.jsx(Ar,{component:"h1",noWrap:!0,sx:{fontWeight:700},variant:"h3",children:"Locust Test Report"}),t&&H.jsx(iK,{href:`?download=1&theme=${window.theme}`,children:"Download the Report"})]}),H.jsxs(zn,{sx:{my:2},children:[H.jsxs(zn,{sx:{display:"flex",columnGap:.5},children:[H.jsx(Ar,{fontWeight:600,children:"During:"}),H.jsxs(Ar,{children:[LC(r)," - ",LC(n)]})]}),H.jsxs(zn,{sx:{display:"flex",columnGap:.5},children:[H.jsx(Ar,{fontWeight:600,children:"Target Host:"}),H.jsx(Ar,{children:a||"None"})]}),H.jsxs(zn,{sx:{display:"flex",columnGap:.5},children:[H.jsx(Ar,{fontWeight:600,children:"Script:"}),H.jsx(Ar,{children:e})]})]}),H.jsxs(zn,{sx:{display:"flex",flexDirection:"column",rowGap:4},children:[H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Request Statistics"}),H.jsx(n4,{stats:s,tableStructure:lCe})]}),!!u.length&&H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Response Time Statistics"}),H.jsx(kne,{responseTimes:u})]}),H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Failures Statistics"}),H.jsx(e4,{errors:l})]}),!!o.length&&H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Exceptions Statistics"}),H.jsx(JF,{exceptions:o})]}),H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Charts"}),H.jsx($W,{charts:i})]}),H.jsxs(zn,{children:[H.jsx(Ar,{component:"h2",mb:1,noWrap:!0,variant:"h4",children:"Final ratio"}),H.jsx(HW,{ratios:c})]})]})]})]})})}const fCe=bS.createRoot(document.getElementById("root"));fCe.render(H.jsx(x9,{fallbackRender:w9,children:H.jsx(cCe,{...A9})}));
237
237
  </script>
238
238
  </head>
239
239
  {% endraw %}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: locust
3
- Version: 2.31.4.dev44
3
+ Version: 2.31.4.dev47
4
4
  Summary: Developer-friendly load testing framework
5
5
  Home-page: https://locust.io/
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  locust/__init__.py,sha256=Jit8eNUrwuMLqavyFvMZr69e61DILq_KB4yT4MciScw,1681
2
2
  locust/__main__.py,sha256=vBQ82334kX06ImDbFlPFgiBRiLIinwNk3z8Khs6hd74,31
3
- locust/_version.py,sha256=0nomho3opGSVYhW7so7EWRipkaKCG-n_N4eTTXuqwPU,460
3
+ locust/_version.py,sha256=D8kEGtXB-kxvfMeeGHQlbRMx2m6TCIONr1ahWvijOfE,460
4
4
  locust/argument_parser.py,sha256=FMEWKC5OMVzpliRYa6KJvmpMRFvtlJFoVKxyW9_NJuc,29012
5
5
  locust/clients.py,sha256=OHPv6hBAt4gt3HI67yqyT1qrSsF8uMdCwIRu0kIsRWI,19491
6
6
  locust/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -41,12 +41,12 @@ locust/util/url.py,sha256=s_W2PCxvxTWxWX0yUvp-8VBuQm881KwI5X9iifogZG4,321
41
41
  locust/web.py,sha256=uI9aD4wCjDxzFc5NR9pyeBsrCoZ6I0wcpKfVA8Gx454,27516
42
42
  locust/webui/dist/assets/favicon-dark.png,sha256=6zVkRtiRfU45qQGvEhf1cq2nNauFs_JW5SI79wT0YkM,2437
43
43
  locust/webui/dist/assets/favicon-light.png,sha256=VdG2GZyeTCOML7xfievupBP4EhmHoUqlVCw-tXqkvxU,2468
44
- locust/webui/dist/assets/index-BTVvoV6z.js,sha256=9_80rFccPA6Zj0O0Pltwe-ZlI0nxOly7x-oCwq1rF-s,1671916
45
- locust/webui/dist/auth.html,sha256=ZCBJy5NW6FPqa4V0Bq1lHzx26aSaF6UV21ffS0LH1Og,648
46
- locust/webui/dist/index.html,sha256=JVKEwn_J1HUJvBJa-9R1JNBpoXBimWMjfEoXdyXJogo,654
47
- locust/webui/dist/report.html,sha256=CPuv-WOa0QbAeJB57YapUdeb_hwoc65fe9M7N9GDLDs,1472463
48
- locust-2.31.4.dev44.dist-info/LICENSE,sha256=78XGpIn3fHVBfaxlPNUfjVufSN7QsdhpJMRJHv2AFpo,1095
49
- locust-2.31.4.dev44.dist-info/METADATA,sha256=faH7qAC7irfbTul1KToL5q6qF070Z0CJiWFK6VLwdTk,7679
50
- locust-2.31.4.dev44.dist-info/WHEEL,sha256=HBsDV7Hj4OTiS1GX6ua7iQXUQTB9UHftbBxr7Q8Xm9c,110
51
- locust-2.31.4.dev44.dist-info/entry_points.txt,sha256=RhIxlLwU_Ae_WjimS5COUDLagdCh6IOMyLtgaQxNmlM,43
52
- locust-2.31.4.dev44.dist-info/RECORD,,
44
+ locust/webui/dist/assets/index-K5xg1SLs.js,sha256=UGKRRWgnrpznEL36t2DEWcDlb1Dqm_0jNcGp04cktwM,1671955
45
+ locust/webui/dist/auth.html,sha256=aEcWQp_HWi-N3C0c6jIvTsPsRfVzC4fFfO7Ay_tC64Y,648
46
+ locust/webui/dist/index.html,sha256=TYNdHJtd-xFweegmsLxB1uFkac2Y8Cn8wLl1G3_Ohrk,654
47
+ locust/webui/dist/report.html,sha256=uCT_ZG15pHw0diZq4gRWa1UleI-9B24bwJ8vqt7q4Kw,1472471
48
+ locust-2.31.4.dev47.dist-info/LICENSE,sha256=78XGpIn3fHVBfaxlPNUfjVufSN7QsdhpJMRJHv2AFpo,1095
49
+ locust-2.31.4.dev47.dist-info/METADATA,sha256=05_lwhXxkf5NNuRbMv4H7WReIOUnqSpoG3IpBFgBLdg,7679
50
+ locust-2.31.4.dev47.dist-info/WHEEL,sha256=HBsDV7Hj4OTiS1GX6ua7iQXUQTB9UHftbBxr7Q8Xm9c,110
51
+ locust-2.31.4.dev47.dist-info/entry_points.txt,sha256=RhIxlLwU_Ae_WjimS5COUDLagdCh6IOMyLtgaQxNmlM,43
52
+ locust-2.31.4.dev47.dist-info/RECORD,,