flowtask 5.13.2__tar.gz → 5.13.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flowtask-5.13.2 → flowtask-5.13.4}/PKG-INFO +6 -6
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/BestBuy.py +235 -44
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToPg.py +124 -14
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileRead.py +8 -3
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PlanogramCompliance.py +61 -3
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SchedulingVisits.py +3 -3
- flowtask-5.13.4/flowtask/documentation/generated/components/BestBuy.doc.json +80 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/index.json +271 -266
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/compress.py +2 -2
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/copy_to.py +12 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/file_base.py +8 -1
- flowtask-5.13.4/flowtask/utils/bestbuy_greedy.py +531 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/version.py +1 -1
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/PKG-INFO +6 -6
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/SOURCES.txt +1 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/requires.txt +4 -4
- {flowtask-5.13.2 → flowtask-5.13.4}/pyproject.toml +5 -5
- flowtask-5.13.2/flowtask/utils/bestbuy_greedy.py +0 -256
- {flowtask-5.13.2 → flowtask-5.13.4}/CONTRIBUTING.md +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/INSTALL +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/LICENSE +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/MANIFEST.in +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/README.md +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/__main__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/_version.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/bots/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/bots/check.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/bots/codebot.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ASPX.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ATT.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/AddDataset.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Amazon.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/AutoTask.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Azure.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/AzureUsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/BaseAction.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/BaseLoop.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CSVToGCS.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CallAnalysis.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CallSummary.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CensusData.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CensusVariables.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/explorium.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/leadiq.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/rocket.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/siccode.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/visualvisitor.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/zoominfo.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/scrapper.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyFromBase.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyFromS3.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyFromSharepoint.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyTo.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToBigQuery.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToFileBase.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToMongoDB.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToRethink.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToS3.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToSharepoint.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Costco.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateGCSBucket.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/CreateReport.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/charts/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/charts/bar.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/charts/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/charts/pie.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/utils.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CustomerSatisfaction.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DataInput.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DateList.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DbClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DialPad.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DispatchMe.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DocumentDBQuery.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFrom.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromD2L.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromFTP.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromGamma.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromGoogleDrive.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromIMAP.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromS3.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromSFTP.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromSharepoint.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromSmartSheet.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromSmartsheet.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadS3File.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Dummy.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DuplicatePhoto.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/EmployeeEvaluation.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ExecuteSQL.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ExtractHTML.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ExtractTranscript.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileBase.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileCopy.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileDelete.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileExists.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileIteratorDelete.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileList.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileOpen.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileRename.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FilterIf.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FilterRows/FilterRows.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FilterRows/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FilterRows/functions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GCSToBigQuery.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GenData.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GoogleA4.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GoogleGeoCoding.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GooglePlaces.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GoogleSearch.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/HTTPClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ICIMS.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/IF.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/IcimsFolderCopy.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ImageFeatures/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ImageFeatures/process.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/IteratorBase.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/LeadIQ.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Loop.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Lowes.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MS365Usage.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MSTeamsMessages.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MarkdownMaker.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MarketClustering.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MergeFileList.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MergeFiles.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MilvusOutput.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NearByStores.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/account.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/client.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/district.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/events.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/forms.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/market.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/organization.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/photos.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/project.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/region.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/store.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/user.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/router.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinjaClaims.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NextStopAgent.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NextTask.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Odoo.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OdooInjector.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OpenFromXML.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OpenStreetMap.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OpenWeather.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OpenWithBase.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OpenWithPandas.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PDFGenerator.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PGPDecrypt.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PandasIterator.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PandasToFile.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PandasToPowerPoint.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Paradox.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParamIterator.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotAgent.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotKnowledgeBuilder/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotKnowledgeBuilder/loader.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotKnowledgeBuilder/payload.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotLoader/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotLoader/loader.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParseHTML.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PgVectorOutput.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PlacerStores.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PodcastMaker.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Pokemon.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PositiveBot.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PowerPointSlide.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PrintMessage.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/parsers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/parsers/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/parsers/bestbuy.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/parsers/lowes.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/scrapper.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompliant.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/brother.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/canon.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/epson.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/hp.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/samsung.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/scraper.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductPricing.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductReportBot.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/QS.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/QSBase.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/QueryIterator.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/QueryToInsert.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/QueryToPandas.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/RESTClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/RethinkDBQuery.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Rsync.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/RunSSH.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/RunShell.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SAPExtraction.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SMSAnalysis.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SMSSummary.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SalesForce.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Sassie.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SaveImageBank/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ScrapPage.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ScrapSearch.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ScrapTool.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SearchQuery.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendEmail.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendNotify/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendNotify/component.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendNotify/models/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendNotify/models/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendNotify/models/zoom.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SentimentAnalysis.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/retailers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/retailers/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/retailers/costco.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/retailers/tractor_supply.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/retailers/verizon.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/scraper.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScrapper/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScrapper/parsers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScrapper/parsers/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScrapper/parsers/costco.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScrapper/scrapper.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SetVariables.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SplitPDF.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Staples.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SubTask.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SuiteCRM.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SweetSpotScore/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SweetSpotScore/component.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SweetSpotScore/layers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Switch.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableBase.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableDelete.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableInput.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableOutput/TableOutput.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableOutput/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableSchema.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Target.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ThumbnailGenerator.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ToPandas.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TransformRows/TransformRows.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TransformRows/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TransformRows/functions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TransposeRows.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UPCDatabase.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UnGzip.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Uncompress.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UniqueRows.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Unzip.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UpdateOperationalVars.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UploadTo.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UploadToS3.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UploadToSFTP.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UploadToSharepoint.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UserFunc.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/VideoUnderstanding.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/VivaTracker.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/WSDLClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Wait.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Walmart.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/applicant.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/candidate.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/cost_center.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/custom_punch_field_report.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/job_posting.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/job_posting_site.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/job_requisition.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/location.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/location_hierarchy_assignments.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/organizations.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/reference.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/time_block.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/time_off_balance.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/time_request.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/worker.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/applicant_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/candidate_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/cost_center_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/custom_punch_field_report_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/job_posting_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/job_posting_site_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/job_requisition_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/location_hierarchy_assignments_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/location_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/organization_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/reference_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/time_block_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/time_off_balance_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/time_request_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/worker_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/applicants.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/candidates.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/cost_centers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/custom_punch_field_report.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/custom_punch_field_report_rest.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/custom_report.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/job_posting_sites.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/job_postings.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/job_requisitions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/location_hierarchy_assignments.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/locations.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/organization_single.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/organizations.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/recruiting_agency_users.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/references.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/time_block_report.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/time_blocks.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/time_off_balances.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/time_requests.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/workers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/utils/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/utils/utils.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/workday.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/WorkdayReport.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workplace.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/XMLToPandas.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Zammad/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Zammad/models.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Zoom.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ZoomInfoScraper.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ZoomUs.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/_census/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/_census/cache.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/_census/fetch.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/_census/resolver.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/_census/transform.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/flow.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/gendata/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/gendata/date_sequence.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/gendata/static_list.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/google.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/group.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/pandas_io.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/py.typed +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/reviewscrap.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tAddTotalRow.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tAutoincrement.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tConcat.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tConditionalMultiply.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tCrosstab.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tDictKey.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tDiff.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tExplode.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tFilter.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tFilterCommonValues.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tFlatten.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tFrequencyWeights.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tGroup.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tJoin.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tMap/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tMap/functions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tMap/tMap.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tMelt.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tMerge.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tOrder.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tPandas.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tPivot.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tPluckCols.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tUnnest.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/user.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/conf.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/categories.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/cli.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ASPX.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/AddDataset.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/AutoTask.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/AzureUsers.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CallAnalysis.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CallSummary.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CompanyScraper.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyFromS3.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyFromSharepoint.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToBigQuery.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToMongoDB.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToPg.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToRethink.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToS3.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToSharepoint.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CreateReport.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CustomerSatisfaction.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DataInput.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DateList.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DialPad.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromD2L.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromFTP.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromIMAP.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromS3.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromSFTP.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromSharepoint.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromSmartSheet.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromSmartsheet.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/EmployeeEvaluation.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ExecuteSQL.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ExtractTranscript.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileCopy.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileDelete.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileExists.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileIteratorDelete.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileList.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileOpen.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileRead.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileRename.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FilterIf.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FilterRows.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/GoogleA4.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/GoogleGeoCoding.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/GoogleSearch.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/HTTPClient.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ICIMS.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/IteratorBase.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/LeadIQ.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/MS365Usage.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/MSTeamsMessages.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/MergeFileList.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/MergeFiles.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/NetworkNinjaClaims.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/NextTask.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Odoo.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/OdooInjector.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/OpenFromXML.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/OpenWithBase.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/OpenWithPandas.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PGPDecrypt.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PandasIterator.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PandasToFile.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Paradox.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ParamIterator.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ParrotAgent.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PlacerStores.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PlanogramCompliance.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Pokemon.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PositiveBot.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PowerPointSlide.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PrintMessage.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ProductCompliant.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ProductPricing.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ProductReportBot.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/QS.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/QueryIterator.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/QueryToInsert.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/QueryToPandas.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/RESTClient.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/RunShell.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SAPExtraction.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Sassie.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ScrapTool.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SearchQuery.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SendNotify.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SentimentAnalysis.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ServiceScraperStores.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ServiceScrapper.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SetVariables.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SplitPDF.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SubTask.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SuiteCRM.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TableDelete.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TableInput.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TableOutput.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TableSchema.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ThumbnailGenerator.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TransformRows.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TransposeRows.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UnGzip.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Uncompress.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UniqueRows.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Unzip.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UploadToS3.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UploadToSFTP.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UploadToSharepoint.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UserFunc.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Zoom.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ZoomInfoScraper.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tAutoincrement.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tConcat.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tConditionalMultiply.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tCrosstab.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tDictKey.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tDiff.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tExplode.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tFilter.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tFilterCommonValues.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tFlatten.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tFrequencyWeights.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tGroup.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tJoin.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tMap.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tMelt.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tOrder.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tPivot.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tPluckCols.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tUnnest.doc.json +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generator.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/models.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/parser.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/schema.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/toolkit.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/download.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/alerts/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/alerts/colfunctions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/alerts/functions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/dummy.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/exec.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/file/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/file/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/file/copy.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/file/delete.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/interfaces/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/interfaces/client.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/interfaces/credentials.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/interfaces/notifications.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/jira.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/log.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/logerr.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/notify.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/notify_event.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/publish.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/sendfile.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/task.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/teams.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/webhook.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/manager.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/exceptions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/docker.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/events.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/exceptions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/k8s.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/local.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/models.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/publish.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/qworker.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/registry.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/resolver.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/extensions/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/extensions/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/extensions/component_docs.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/extensions/logging/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/factory/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/factory/agent.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/factory/composer.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/factory/parser.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/factory/validator.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/handlers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/handlers/component.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/dummy.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/jira.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/rest.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/sampledata.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/sensor.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/task.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/ticket.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/zammad.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/zoom_event.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/hook.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/models.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/service.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/step.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/mqtt.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/rabbitmq.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/redis.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/sqs.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/fs.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/http.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/imap.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/jira.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/mail.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/postgres.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/responses/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/responses/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/sharepoint.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/ssh.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/tagged.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/upload.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/watch.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/web.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/zoom.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/AzureClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/AzureGraph.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/Boto3Client.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/DropboxClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/ExcelHandler.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/FTPClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleCalendar.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleDrive.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleGCS.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleGeocoding.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleLang.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GooglePub.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleReverseGeocoding.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleSheet.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/IMAPClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/LLMClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/NominatimGeocoding.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/O365Calendar.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/O365Client.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/OneDrive.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/Outlook.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/OverpassGeocoding.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/ParrotBot.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/ParrotTool.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/ReverseGeocoding.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/SOAPClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/SSHClient.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/Sharepoint.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/azure_component.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/azureauth.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/base_action.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/base_loop.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/cache.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/client.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/copy_from_base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/copy_to_file_base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/credentials.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/d2l.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/databases/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/databases/db.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/databases/documentdb.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/databases/rethink.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/arrow.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/dt.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/pandas.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/polars.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/db.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/db_client.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/download_from.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/env.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/flow.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/func.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/gamma.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/google_base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/group.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/http.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/locale.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/log.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/mask.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/notification.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/parrot/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/parrot/agent.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/parrot/client.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/parrot/config.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/pipelines/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/pipelines/parrot.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/playwright.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/powerpoint.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/ppt.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/py.typed +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/qs.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/qs_base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/result.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/routing.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/sassie.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/engine.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/extractors/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/extractors/count.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/extractors/gravity.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/extractors/nearest.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/models.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/service.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/spatial.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/search.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/selenium/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/selenium/options.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/selenium/service.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/selenium_service.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/skip_policy.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/smartsheet.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/stat.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/t_pandas.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/table_base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/task.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/teams.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/template.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/tickets.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/upload_to.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/user.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/vectorstores/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/vectorstores/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/vectorstores/milvus.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/config.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/applicants.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/base.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/candidates.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/cost_centers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/custom_punch_field_report.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/custom_punch_field_report_rest.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/custom_report.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/import_reported_time_blocks.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/import_time_clock_events.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/job_posting_sites.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/job_postings.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/job_requisitions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/location_hierarchy_assignments.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/locations.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/organization_single.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/organizations.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/put_time_clock_events.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/recruiting_agency_users.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/references.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/time_block_report.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/time_blocks.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/time_off_balances.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/time_requests.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/workers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/applicant.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/candidate.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/clock_event.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/cost_center.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/custom_punch_field_report.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/job_posting.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/job_posting_site.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/job_requisition.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/location.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/location_hierarchy_assignments.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/organizations.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/reference.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/time_block.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/time_off_balance.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/time_request.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/worker.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/applicant_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/candidate_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/cost_center_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/custom_punch_field_report_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/job_posting_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/job_posting_site_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/job_requisition_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/location_hierarchy_assignments_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/location_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/organization_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/reference_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/time_block_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/time_off_balance_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/time_request_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/worker_parsers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/rest.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/service.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/utils/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/utils/utils.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/zammad.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/zoom.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/models.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/_yaml.pyx +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/argparser.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/base.pxd +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/base.pyx +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/json.pyx +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/maps.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/checker.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/detector.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/registry.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/report.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/schema.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/toml.pyx +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/plugins/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/plugins/components_/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/plugins/handler/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/plugins/importer.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/plugins/sources/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/runner.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/functions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/handlers/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/handlers/manager.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/handlers/models.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/handlers/service.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/notifications.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/scheduler.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/bots/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/bots/telegram.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/files/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/files/manager.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/files/model.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/files/service.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/jira/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/jira/jira_actions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/README.md +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/changelog.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/handlers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/health.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/models.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/service.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/store.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/templates.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/windows.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/launcher.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/manager.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/service.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/task_manager.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/tasks.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/exceptions.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/files/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/files/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/files/filesystem.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/database.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/filesystem.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/github.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/memory.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/row.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/abstract.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/chain.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/chainer.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/command.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/exchange.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/pile.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/py.typed +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/task.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/workers.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/template/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tests.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/types/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/types/typedefs.pyx +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/__init__.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/constants.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/encoders.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/executor.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/functions.pyx +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/json.pxi +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/json.pyx +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/mail.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/msgraph_patch.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/parseqs.pyx +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/stats.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/transformations.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/uv.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/validators.py +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/dependency_links.txt +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/entry_points.txt +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/top_level.txt +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/setup.cfg +0 -0
- {flowtask-5.13.2 → flowtask-5.13.4}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flowtask
|
|
3
|
-
Version: 5.13.
|
|
3
|
+
Version: 5.13.4
|
|
4
4
|
Summary: Framework for Task orchestration
|
|
5
5
|
Author-email: Jesus Lara <jesuslarag@gmail.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -22,14 +22,14 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.13
|
|
23
23
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
24
24
|
Classifier: Framework :: AsyncIO
|
|
25
|
-
Requires-Python: <3.14,>=3.11
|
|
25
|
+
Requires-Python: <3.14,>=3.11.4
|
|
26
26
|
Description-Content-Type: text/markdown
|
|
27
27
|
License-File: LICENSE
|
|
28
28
|
Requires-Dist: borax==3.5.0
|
|
29
29
|
Requires-Dist: PyDrive==1.3.1
|
|
30
30
|
Requires-Dist: chardet==5.2.0
|
|
31
31
|
Requires-Dist: aiohttp-jinja2==1.6
|
|
32
|
-
Requires-Dist: asyncssh[bcrypt,fido2,pkcs11,pyopenssl]
|
|
32
|
+
Requires-Dist: asyncssh[bcrypt,fido2,pkcs11,pyopenssl]<3,>=2.24.0
|
|
33
33
|
Requires-Dist: pyxlsb==1.0.10
|
|
34
34
|
Requires-Dist: python-calamine==0.2.3
|
|
35
35
|
Requires-Dist: pyecharts==2.0.8
|
|
@@ -46,7 +46,7 @@ Requires-Dist: adal==1.2.7
|
|
|
46
46
|
Requires-Dist: xlrd>=2.0.2
|
|
47
47
|
Requires-Dist: xmltodict<1.0.0,>=0.14.2
|
|
48
48
|
Requires-Dist: zeep[async]>=4.3.3
|
|
49
|
-
Requires-Dist: nltk>=3.
|
|
49
|
+
Requires-Dist: nltk>=3.10.3
|
|
50
50
|
Requires-Dist: jdcal==1.4.1
|
|
51
51
|
Requires-Dist: html5lib==1.1
|
|
52
52
|
Requires-Dist: shapely>=2.1.2
|
|
@@ -70,7 +70,7 @@ Requires-Dist: aiofiles>=24.1.0
|
|
|
70
70
|
Requires-Dist: filetype==1.2.0
|
|
71
71
|
Requires-Dist: proxylists>=0.14.0
|
|
72
72
|
Requires-Dist: aioftp==0.23.1
|
|
73
|
-
Requires-Dist: py7zr
|
|
73
|
+
Requires-Dist: py7zr<2,>=1.1.3
|
|
74
74
|
Requires-Dist: rarfile==4.2
|
|
75
75
|
Requires-Dist: python-pptx==1.0.2
|
|
76
76
|
Requires-Dist: google-auth>=2.35.0
|
|
@@ -101,7 +101,7 @@ Requires-Dist: pyheif==0.8.0
|
|
|
101
101
|
Requires-Dist: filetype==1.2.0
|
|
102
102
|
Requires-Dist: exif==1.6.1
|
|
103
103
|
Requires-Dist: pillow-avif-plugin==1.5.2
|
|
104
|
-
Requires-Dist: pillow-heif
|
|
104
|
+
Requires-Dist: pillow-heif<2,>=1.3.0
|
|
105
105
|
Requires-Dist: pgvector==0.4.1
|
|
106
106
|
Requires-Dist: proxylists>=0.14.0
|
|
107
107
|
Requires-Dist: async-notify[all]>=1.4.0
|
|
@@ -35,14 +35,17 @@ from ..interfaces.flow import FlowComponent
|
|
|
35
35
|
from ..interfaces import HTTPService, SeleniumService
|
|
36
36
|
from ..interfaces.http import ua
|
|
37
37
|
from ..utils.bestbuy_greedy import (
|
|
38
|
-
NOT_ENABLED_STATES,
|
|
39
38
|
CoverageMap,
|
|
40
39
|
SeedCoverage,
|
|
40
|
+
SkuFulfillment,
|
|
41
41
|
StoreAvailability,
|
|
42
42
|
Target,
|
|
43
|
+
availability_types,
|
|
44
|
+
fulfillment_slice,
|
|
43
45
|
greedy_next_seed,
|
|
44
46
|
load_coverage,
|
|
45
47
|
parse_fulfillment,
|
|
48
|
+
parse_sku_fulfillment,
|
|
46
49
|
save_coverage,
|
|
47
50
|
)
|
|
48
51
|
|
|
@@ -101,11 +104,31 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
101
104
|
| storage_path | No | Directory for stored results and the default coverage file. Required when use_storage is true. |
|
|
102
105
|
| chunk_size | No | Rows per processing chunk (default 100). |
|
|
103
106
|
| task_parts | No | Number of task partitions (default 10). |
|
|
104
|
-
| concurrency | No | Max concurrent requests and sticky proxy-session pool size (default
|
|
107
|
+
| concurrency | No | Max concurrent requests and sticky proxy-session pool size (default 6). |
|
|
105
108
|
| bulk_mode | No | availability only: greedy set-cover over GraphQL nearby stores (default false = one call per row). The `enabled` column comes from the SKU button state returned with the seed call. |
|
|
106
109
|
| coverage_file | No | Coverage map JSON (default <storage_path>/bestbuy_coverage.json; in-memory when unset). |
|
|
107
110
|
| proxy_session_max_requests | No | Requests before a sticky proxy session is rotated (default 50). |
|
|
108
111
|
| proxy_session_max_age | No | Seconds before a sticky proxy session is rotated (default 540). |
|
|
112
|
+
| request_timeout | No | Hard deadline in seconds for one availability request through the proxy (default 45). |
|
|
113
|
+
| debug_payload | No | availability only: log the full GraphQL JSON of every call; with storage_path also dump it to <storage_path>/payloads/ (default false). |
|
|
114
|
+
|
|
115
|
+
``type: availability`` output columns (one row per store × sku). Legacy contract:
|
|
116
|
+
``enabled``, ``locationId``, ``location_data``, ``availability`` (pickup ``fulfillmentType``),
|
|
117
|
+
``inStoreAvailability`` / ``inStoreAvailable`` (pickup eligible AND inventory in store),
|
|
118
|
+
``onShelfDisplay`` (kept for compatibility; the API has no shelf-display signal, so it stays
|
|
119
|
+
``NULL`` unless the input already carries it), ``pickupEligible``,
|
|
120
|
+
``availablePickupQuantity``, ``availableInStoreQuantity``, ``checked``.
|
|
121
|
+
Extended columns: ``availabilityTypes`` (``IN_STORE,PICKUP,SHIPPING,DELIVERY`` summary),
|
|
122
|
+
``condition``; pickup detail ``pickupMinHours``, ``pickupMinDate``, ``pickupMaxDate``,
|
|
123
|
+
``pickupFulfillDate``, ``pickupDisplayDateType``, ``pickupInStoreOnly``, ``pickupPreorderable``,
|
|
124
|
+
``pickupBackordered``, ``pickupWhenAvailable``, ``pickupRestrictions``, ``storeDistance``;
|
|
125
|
+
shipping (for the request zipcode) ``shippingEligible``, ``shippingZipcode``, ``shippingBackordered``,
|
|
126
|
+
``shippingInStoreOnly``, ``shippingPreorderable``, ``fulfillByVendor``, ``directToBoxEligible``,
|
|
127
|
+
``shippingSameDay``, ``shippingDefaultOption``, ``shippingFastestDate``, ``shippingFastestPrice``,
|
|
128
|
+
``shippingFreeDate``, ``shippingOptions`` (list of dicts); home delivery ``deliveryEligible``,
|
|
129
|
+
``deliverable``, ``deliveryBackordered``, ``deliveryInStoreOnly``, ``installationEligible``;
|
|
130
|
+
and ``fulfillment_data``, the raw JSON slice (button states, store, pickup entry, shipping,
|
|
131
|
+
delivery) the columns were derived from.
|
|
109
132
|
|
|
110
133
|
:consumes: dataframe
|
|
111
134
|
:produces: dataframe
|
|
@@ -118,7 +141,7 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
118
141
|
brand: Epson
|
|
119
142
|
bulk_mode: true
|
|
120
143
|
storage_path: /home/ubuntu/symbits/bestbuy/
|
|
121
|
-
concurrency:
|
|
144
|
+
concurrency: 6
|
|
122
145
|
```
|
|
123
146
|
"""
|
|
124
147
|
_version = "1.0.0"
|
|
@@ -183,19 +206,22 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
183
206
|
"User-Agent": random.choice(ua),
|
|
184
207
|
**self.headers
|
|
185
208
|
}
|
|
186
|
-
# Cap concurrent storeAvailability requests
|
|
187
|
-
#
|
|
188
|
-
#
|
|
189
|
-
#
|
|
190
|
-
|
|
191
|
-
# bottlenecked by 403s, not network capacity).
|
|
192
|
-
self.semaphore = asyncio.Semaphore(kwargs.get('concurrency', 12))
|
|
209
|
+
# Cap concurrent storeAvailability requests: under load the Oxylabs
|
|
210
|
+
# gateway fails the CONNECT tunnel with 522 (httpx.ProxyError) when
|
|
211
|
+
# sticky residential exit nodes can't reach bestbuy.com. 12 produced
|
|
212
|
+
# those 522s in production; 6 keeps the pool smaller and steadier.
|
|
213
|
+
self.semaphore = asyncio.Semaphore(kwargs.get('concurrency', 6))
|
|
193
214
|
# Selenium driver is not thread-safe: serialize all execute_async_script calls
|
|
194
215
|
self._selenium_semaphore = asyncio.Semaphore(1)
|
|
195
216
|
# FEAT-561: sticky Oxylabs session pool (K = concurrency)
|
|
196
|
-
self._pool_size: int = kwargs.get('concurrency',
|
|
217
|
+
self._pool_size: int = kwargs.get('concurrency', 6)
|
|
197
218
|
self.proxy_session_max_requests: int = kwargs.get('proxy_session_max_requests', 50)
|
|
198
219
|
self.proxy_session_max_age: float = kwargs.get('proxy_session_max_age', 540)
|
|
220
|
+
# Hard per-request deadline: a stalled Oxylabs CONNECT can outlive httpx's
|
|
221
|
+
# per-operation timeouts and freeze the sequential bulk seed loop.
|
|
222
|
+
self.request_timeout: float = kwargs.get('request_timeout', 45)
|
|
223
|
+
# Debug: dump the raw GraphQL availability payload (log + optional file)
|
|
224
|
+
self.debug_payload: bool = kwargs.get('debug_payload', False)
|
|
199
225
|
self._session_pool: list[ProxySession] = []
|
|
200
226
|
self._pool_lock = asyncio.Lock()
|
|
201
227
|
self._pool_cursor: int = 0
|
|
@@ -969,11 +995,19 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
969
995
|
if attempt < 3:
|
|
970
996
|
continue
|
|
971
997
|
return None
|
|
972
|
-
r = await
|
|
998
|
+
r = await asyncio.wait_for(
|
|
999
|
+
client.get(url, headers=api_headers), timeout=self.request_timeout
|
|
1000
|
+
)
|
|
973
1001
|
except (httpx.ConnectError, httpx.ConnectTimeout, httpx.ReadTimeout,
|
|
974
|
-
httpx.RemoteProtocolError) as ex:
|
|
1002
|
+
httpx.RemoteProtocolError, httpx.ProxyError, asyncio.TimeoutError) as ex:
|
|
1003
|
+
# ProxyError: the Oxylabs CONNECT tunnel failed (e.g. "522 status code 522"
|
|
1004
|
+
# when the sticky exit node can't reach bestbuy.com) — retry on a fresh session.
|
|
975
1005
|
await self._release_session(session, status=None, error=ex)
|
|
976
1006
|
if attempt < 3:
|
|
1007
|
+
self._logger.warning(
|
|
1008
|
+
f"GraphQL fulfillment attempt {attempt}/3 failed for sku={sku} "
|
|
1009
|
+
f"store={store_id}: {ex!r}; retrying."
|
|
1010
|
+
)
|
|
977
1011
|
await asyncio.sleep(0.5 * attempt)
|
|
978
1012
|
continue
|
|
979
1013
|
self._logger.warning(
|
|
@@ -989,8 +1023,15 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
989
1023
|
await self._release_session(session, status=r.status_code)
|
|
990
1024
|
if r.status_code == 200:
|
|
991
1025
|
self._num_iterations += 1
|
|
992
|
-
|
|
1026
|
+
payload = r.json()
|
|
1027
|
+
if self.debug_payload:
|
|
1028
|
+
await self._dump_availability_payload(payload, sku, store_id, nearby)
|
|
1029
|
+
return payload
|
|
993
1030
|
if r.status_code in (522, 502, 503, 504) and attempt < 3:
|
|
1031
|
+
self._logger.warning(
|
|
1032
|
+
f"GraphQL fulfillment attempt {attempt}/3 for sku={sku} store={store_id}: "
|
|
1033
|
+
f"HTTP {r.status_code}; retrying."
|
|
1034
|
+
)
|
|
994
1035
|
await asyncio.sleep(0.5 * attempt)
|
|
995
1036
|
continue
|
|
996
1037
|
if r.status_code == 403 and attempt < 3:
|
|
@@ -1005,6 +1046,36 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1005
1046
|
return None
|
|
1006
1047
|
return None
|
|
1007
1048
|
|
|
1049
|
+
async def _dump_availability_payload(self, payload: dict, sku: str, store_id: str,
|
|
1050
|
+
nearby: bool) -> None:
|
|
1051
|
+
"""Log the raw GraphQL fulfillment payload and optionally persist it to disk.
|
|
1052
|
+
|
|
1053
|
+
Enabled with ``debug_payload: true``. The full JSON is written to the logger
|
|
1054
|
+
and, when ``storage_path`` is configured, saved as
|
|
1055
|
+
``<storage_path>/payloads/availability_<sku>_<store_id>[_nearby].json``.
|
|
1056
|
+
|
|
1057
|
+
Args:
|
|
1058
|
+
payload: Decoded JSON returned by ``/gateway/graphql/fulfillment``.
|
|
1059
|
+
sku: Product SKU of the request.
|
|
1060
|
+
store_id: Seed store id of the request.
|
|
1061
|
+
nearby: Whether the request asked for nearby stores (bulk mode seed call).
|
|
1062
|
+
"""
|
|
1063
|
+
pretty = json.dumps(payload, indent=2, ensure_ascii=False, default=str)
|
|
1064
|
+
self._logger.info(
|
|
1065
|
+
f"BestBuy availability payload sku={sku} store={store_id} nearby={nearby}:\n{pretty}"
|
|
1066
|
+
)
|
|
1067
|
+
if not self.storage_path:
|
|
1068
|
+
return
|
|
1069
|
+
suffix = "_nearby" if nearby else ""
|
|
1070
|
+
out_dir = Path(self.storage_path).joinpath("payloads")
|
|
1071
|
+
out_file = out_dir.joinpath(f"availability_{sku}_{store_id}{suffix}.json")
|
|
1072
|
+
try:
|
|
1073
|
+
await asyncio.to_thread(out_dir.mkdir, parents=True, exist_ok=True)
|
|
1074
|
+
await asyncio.to_thread(out_file.write_text, pretty, encoding="utf-8")
|
|
1075
|
+
self._logger.debug(f"BestBuy: availability payload saved to {out_file}")
|
|
1076
|
+
except OSError as exc:
|
|
1077
|
+
self._logger.warning(f"BestBuy: could not save availability payload: {exc}")
|
|
1078
|
+
|
|
1008
1079
|
def _build_oxylabs_us_proxy_url(self, sessid: str | None = None) -> Optional[str]:
|
|
1009
1080
|
"""Build an Oxylabs Residential URL pinned to a US sticky session.
|
|
1010
1081
|
|
|
@@ -1187,7 +1258,8 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1187
1258
|
status in (403, 429)
|
|
1188
1259
|
or (status is not None and status >= 500)
|
|
1189
1260
|
or isinstance(error, (
|
|
1190
|
-
httpx.ConnectError, httpx.ConnectTimeout, httpx.RemoteProtocolError
|
|
1261
|
+
httpx.ConnectError, httpx.ConnectTimeout, httpx.RemoteProtocolError,
|
|
1262
|
+
httpx.ProxyError, asyncio.TimeoutError,
|
|
1191
1263
|
))
|
|
1192
1264
|
)
|
|
1193
1265
|
if burn and not session.burned:
|
|
@@ -1254,46 +1326,150 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1254
1326
|
if avail is None:
|
|
1255
1327
|
self._write_unavailable(idx, result, sku)
|
|
1256
1328
|
return row
|
|
1257
|
-
self._write_row(idx, avail, brand)
|
|
1329
|
+
self._write_row(idx, avail, brand, parse_sku_fulfillment(result, sku))
|
|
1258
1330
|
return row
|
|
1259
1331
|
|
|
1332
|
+
# Extended availability columns -> default value when the column is created.
|
|
1333
|
+
EXTENDED_AVAILABILITY_COLUMNS: dict[str, Any] = {
|
|
1334
|
+
'availabilityTypes': None,
|
|
1335
|
+
'condition': None,
|
|
1336
|
+
'pickupMinHours': None,
|
|
1337
|
+
'pickupMinDate': None,
|
|
1338
|
+
'pickupMaxDate': None,
|
|
1339
|
+
'pickupFulfillDate': None,
|
|
1340
|
+
'pickupDisplayDateType': None,
|
|
1341
|
+
'pickupInStoreOnly': None,
|
|
1342
|
+
'pickupPreorderable': None,
|
|
1343
|
+
'pickupBackordered': None,
|
|
1344
|
+
'pickupWhenAvailable': None,
|
|
1345
|
+
'pickupRestrictions': None,
|
|
1346
|
+
'storeDistance': None,
|
|
1347
|
+
'shippingEligible': None,
|
|
1348
|
+
'shippingZipcode': None,
|
|
1349
|
+
'shippingBackordered': None,
|
|
1350
|
+
'shippingInStoreOnly': None,
|
|
1351
|
+
'shippingPreorderable': None,
|
|
1352
|
+
'fulfillByVendor': None,
|
|
1353
|
+
'directToBoxEligible': None,
|
|
1354
|
+
'shippingSameDay': None,
|
|
1355
|
+
'shippingDefaultOption': None,
|
|
1356
|
+
'shippingFastestDate': None,
|
|
1357
|
+
'shippingFastestPrice': None,
|
|
1358
|
+
'shippingFreeDate': None,
|
|
1359
|
+
'shippingOptions': None,
|
|
1360
|
+
'deliveryEligible': None,
|
|
1361
|
+
'deliverable': None,
|
|
1362
|
+
'deliveryBackordered': None,
|
|
1363
|
+
'deliveryInStoreOnly': None,
|
|
1364
|
+
'installationEligible': None,
|
|
1365
|
+
'fulfillment_data': None,
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
def _ensure_extended_columns(self) -> None:
|
|
1369
|
+
"""Create any missing extended availability column (idempotent, object dtype)."""
|
|
1370
|
+
missing = [c for c in self.EXTENDED_AVAILABILITY_COLUMNS if c not in self.data.columns]
|
|
1371
|
+
for column in missing:
|
|
1372
|
+
self.data[column] = pd.Series(
|
|
1373
|
+
[self.EXTENDED_AVAILABILITY_COLUMNS[column]] * len(self.data),
|
|
1374
|
+
index=self.data.index, dtype=object,
|
|
1375
|
+
)
|
|
1376
|
+
|
|
1260
1377
|
def _write_unavailable(self, idx: Any, data: dict, sku: str) -> None:
|
|
1261
|
-
"""No
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
state = states[0].get('buttonState') or ''
|
|
1271
|
-
self.data.loc[idx, 'enabled'] = state not in NOT_ENABLED_STATES
|
|
1378
|
+
"""No per-store pickup info in the response: write the SKU-level columns and ``checked``.
|
|
1379
|
+
|
|
1380
|
+
``enabled`` still comes from the button state (legacy behaviour); shipping / delivery
|
|
1381
|
+
columns and ``fulfillment_data`` are filled when the payload carries them, so a
|
|
1382
|
+
ship-only SKU is still fully described.
|
|
1383
|
+
"""
|
|
1384
|
+
info = parse_sku_fulfillment(data, sku)
|
|
1385
|
+
self.data.loc[idx, 'enabled'] = info.enabled
|
|
1386
|
+
self._write_sku_columns(idx, None, info)
|
|
1272
1387
|
self.data.loc[idx, 'checked'] = True
|
|
1273
1388
|
|
|
1274
|
-
def
|
|
1389
|
+
def _write_sku_columns(self, idx: Any, avail: StoreAvailability | None,
|
|
1390
|
+
info: SkuFulfillment) -> None:
|
|
1391
|
+
"""Write the SKU-level (button state, shipping, delivery) columns plus the JSON slice.
|
|
1392
|
+
|
|
1393
|
+
Args:
|
|
1394
|
+
idx: DataFrame index label.
|
|
1395
|
+
avail: Per-store availability when known (used for the summary / JSON), else None.
|
|
1396
|
+
info: SKU-level fulfillment info parsed from the same response.
|
|
1397
|
+
"""
|
|
1398
|
+
self._ensure_extended_columns()
|
|
1399
|
+
d = self.data
|
|
1400
|
+
types = availability_types(avail, info)
|
|
1401
|
+
d.at[idx, 'availabilityTypes'] = ','.join(types) if types else None
|
|
1402
|
+
d.at[idx, 'condition'] = (avail.condition if avail and avail.condition else None) or info.condition
|
|
1403
|
+
d.at[idx, 'shippingEligible'] = info.shipping_eligible
|
|
1404
|
+
d.at[idx, 'shippingZipcode'] = info.shipping_zipcode
|
|
1405
|
+
d.at[idx, 'shippingBackordered'] = info.shipping_backordered
|
|
1406
|
+
d.at[idx, 'shippingInStoreOnly'] = info.shipping_in_store_only
|
|
1407
|
+
d.at[idx, 'shippingPreorderable'] = info.shipping_preorderable
|
|
1408
|
+
d.at[idx, 'fulfillByVendor'] = info.fulfill_by_vendor
|
|
1409
|
+
d.at[idx, 'directToBoxEligible'] = info.direct_to_box_eligible
|
|
1410
|
+
d.at[idx, 'shippingSameDay'] = info.shipping_same_day
|
|
1411
|
+
d.at[idx, 'shippingDefaultOption'] = info.shipping_default_option
|
|
1412
|
+
d.at[idx, 'shippingFastestDate'] = info.shipping_fastest_date
|
|
1413
|
+
d.at[idx, 'shippingFastestPrice'] = info.shipping_fastest_price
|
|
1414
|
+
d.at[idx, 'shippingFreeDate'] = info.shipping_free_date
|
|
1415
|
+
d.at[idx, 'shippingOptions'] = (
|
|
1416
|
+
[o.model_dump() for o in info.shipping_options] if info.shipping_options else None
|
|
1417
|
+
)
|
|
1418
|
+
d.at[idx, 'deliveryEligible'] = info.delivery_eligible
|
|
1419
|
+
d.at[idx, 'deliverable'] = info.deliverable
|
|
1420
|
+
d.at[idx, 'deliveryBackordered'] = info.delivery_backordered
|
|
1421
|
+
d.at[idx, 'deliveryInStoreOnly'] = info.delivery_in_store_only
|
|
1422
|
+
installation = [
|
|
1423
|
+
x for x in (
|
|
1424
|
+
avail.installation_eligible if avail else None,
|
|
1425
|
+
info.shipping_installation_eligible,
|
|
1426
|
+
info.delivery_installation_eligible,
|
|
1427
|
+
) if x is not None
|
|
1428
|
+
]
|
|
1429
|
+
d.at[idx, 'installationEligible'] = any(installation) if installation else None
|
|
1430
|
+
d.at[idx, 'fulfillment_data'] = fulfillment_slice(avail, info)
|
|
1431
|
+
|
|
1432
|
+
def _write_row(self, idx: Any, avail: StoreAvailability, brand: Any,
|
|
1433
|
+
info: SkuFulfillment | None = None) -> None:
|
|
1275
1434
|
"""Write the output-contract columns for one DataFrame row and set checked=True.
|
|
1276
1435
|
|
|
1277
1436
|
Args:
|
|
1278
1437
|
idx: DataFrame index label.
|
|
1279
1438
|
avail: Normalized availability for that row's (store, sku).
|
|
1280
1439
|
brand: Brand value to copy into the row.
|
|
1440
|
+
info: SKU-level fulfillment info (button state, shipping, delivery) parsed from the
|
|
1441
|
+
same response. When omitted only the per-store columns are written.
|
|
1281
1442
|
"""
|
|
1282
1443
|
is_in_store_pickup = (
|
|
1283
1444
|
avail.pickup_eligible and avail.instore_inventory and avail.fulfillment_type == 'PICKUP'
|
|
1284
1445
|
)
|
|
1285
|
-
self.
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1446
|
+
self._ensure_extended_columns()
|
|
1447
|
+
d = self.data
|
|
1448
|
+
d.loc[idx, 'enabled'] = avail.enabled
|
|
1449
|
+
d.loc[idx, 'locationId'] = avail.store.get('storeId') or avail.store_id
|
|
1450
|
+
d.at[idx, 'brand'] = brand
|
|
1451
|
+
d.at[idx, 'location_data'] = avail.store
|
|
1452
|
+
d.loc[idx, 'availability'] = avail.fulfillment_type
|
|
1453
|
+
d.loc[idx, 'inStoreAvailability'] = is_in_store_pickup
|
|
1454
|
+
d.loc[idx, 'inStoreAvailable'] = is_in_store_pickup
|
|
1455
|
+
d.loc[idx, 'pickupEligible'] = avail.pickup_eligible
|
|
1456
|
+
d.loc[idx, 'availablePickupQuantity'] = avail.quantity if avail.pickup_eligible else 0
|
|
1457
|
+
d.loc[idx, 'availableInStoreQuantity'] = avail.quantity if is_in_store_pickup else 0
|
|
1458
|
+
# pickup detail
|
|
1459
|
+
d.at[idx, 'pickupMinHours'] = avail.min_pickup_hours
|
|
1460
|
+
d.at[idx, 'pickupMinDate'] = avail.min_date
|
|
1461
|
+
d.at[idx, 'pickupMaxDate'] = avail.max_date
|
|
1462
|
+
d.at[idx, 'pickupFulfillDate'] = avail.fulfill_date
|
|
1463
|
+
d.at[idx, 'pickupDisplayDateType'] = avail.display_date_type
|
|
1464
|
+
d.at[idx, 'pickupInStoreOnly'] = avail.in_store_only
|
|
1465
|
+
d.at[idx, 'pickupPreorderable'] = avail.preorderable
|
|
1466
|
+
d.at[idx, 'pickupBackordered'] = avail.backordered
|
|
1467
|
+
d.at[idx, 'pickupWhenAvailable'] = avail.when_available_flag
|
|
1468
|
+
d.at[idx, 'pickupRestrictions'] = avail.restrictions
|
|
1469
|
+
d.at[idx, 'storeDistance'] = avail.distance
|
|
1470
|
+
if info is not None:
|
|
1471
|
+
self._write_sku_columns(idx, avail, info)
|
|
1472
|
+
d.loc[idx, 'checked'] = True
|
|
1297
1473
|
|
|
1298
1474
|
def column_exists(self, column: str, default_val: Any = None):
|
|
1299
1475
|
if column not in self.data.columns:
|
|
@@ -1501,12 +1677,13 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1501
1677
|
self.column_exists('locationId')
|
|
1502
1678
|
self.column_exists('availability')
|
|
1503
1679
|
self.column_exists('inStoreAvailability')
|
|
1504
|
-
self.column_exists('onShelfDisplay'
|
|
1680
|
+
self.column_exists('onShelfDisplay') # not provided by the API: NULL unless set upstream
|
|
1505
1681
|
self.column_exists('availableInStoreQuantity', 0)
|
|
1506
1682
|
self.column_exists('inStoreAvailable', False)
|
|
1507
1683
|
self.column_exists('pickupEligible', False)
|
|
1508
1684
|
self.column_exists('availablePickupQuantity', 0)
|
|
1509
1685
|
self.column_exists('enabled', False)
|
|
1686
|
+
self._ensure_extended_columns()
|
|
1510
1687
|
self.data['checked'] = False # Add 'checked' flag column
|
|
1511
1688
|
self._logger.info(
|
|
1512
1689
|
f"BestBuy availability: {len(self.data)} rows, bulk_mode={self.bulk_mode}"
|
|
@@ -1557,16 +1734,25 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1557
1734
|
self._row_index.setdefault((sid, sku), []).append(idx)
|
|
1558
1735
|
|
|
1559
1736
|
if targets and skus:
|
|
1737
|
+
self._logger.info(
|
|
1738
|
+
f"BestBuy bulk: {len(skus)} SKUs x {len(targets)} stores; "
|
|
1739
|
+
f"resolving sku {skus[0]} (1/{len(skus)}) dynamically."
|
|
1740
|
+
)
|
|
1560
1741
|
order = await self._resolve_sku_dynamic(
|
|
1561
1742
|
skus[0], {t for t in targets if (t, skus[0]) in self._row_index}, targets
|
|
1562
1743
|
)
|
|
1563
|
-
for sku in skus[1:]:
|
|
1744
|
+
for n, sku in enumerate(skus[1:], start=2):
|
|
1745
|
+
self._logger.info(
|
|
1746
|
+
f"BestBuy bulk: sku {sku} ({n}/{len(skus)}); seeds={self._num_seeds}, "
|
|
1747
|
+
f"http_calls={self._num_iterations}."
|
|
1748
|
+
)
|
|
1564
1749
|
uncovered = await self._resolve_sku_replay(sku, order, targets)
|
|
1565
1750
|
if uncovered:
|
|
1566
1751
|
await self._resolve_sku_dynamic(sku, uncovered, targets)
|
|
1567
1752
|
|
|
1568
1753
|
# Fallback: every (store, sku) not covered by a seed response.
|
|
1569
1754
|
leftovers = [pair for pair in self._row_index if pair not in self._seed_resolved]
|
|
1755
|
+
self._logger.info(f"BestBuy bulk: {len(leftovers)} (store, sku) pairs to fallback.")
|
|
1570
1756
|
await self._processing_tasks([self._fallback_pair(*pair) for pair in leftovers])
|
|
1571
1757
|
|
|
1572
1758
|
total_pairs = len(self._row_index)
|
|
@@ -1591,11 +1777,12 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1591
1777
|
return
|
|
1592
1778
|
by_store, returned, _max = parse_fulfillment(data, sku, store_id)
|
|
1593
1779
|
avail = by_store.get(store_id) or (by_store.get(returned[0]) if returned else None)
|
|
1780
|
+
info = parse_sku_fulfillment(data, sku)
|
|
1594
1781
|
for idx in idxs:
|
|
1595
1782
|
if avail is None:
|
|
1596
1783
|
self._write_unavailable(idx, data, sku)
|
|
1597
1784
|
else:
|
|
1598
|
-
self._write_row(idx, avail, self.data.at[idx, 'brand'])
|
|
1785
|
+
self._write_row(idx, avail, self.data.at[idx, 'brand'], info)
|
|
1599
1786
|
|
|
1600
1787
|
def _apply_response(self, sku: str, seed: str, data: dict, targets: dict[str, Target]) -> set[str]:
|
|
1601
1788
|
"""Parse one nearby response, write every covered target row, update coverage.
|
|
@@ -1604,13 +1791,14 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1604
1791
|
The target store ids covered by the response.
|
|
1605
1792
|
"""
|
|
1606
1793
|
by_store, returned, max_dist = parse_fulfillment(data, sku, seed)
|
|
1794
|
+
info = parse_sku_fulfillment(data, sku)
|
|
1607
1795
|
covered: set[str] = set()
|
|
1608
1796
|
for sid, avail in by_store.items():
|
|
1609
1797
|
if sid not in targets:
|
|
1610
1798
|
continue
|
|
1611
1799
|
idxs = self._row_index.get((sid, sku), [])
|
|
1612
1800
|
for idx in idxs:
|
|
1613
|
-
self._write_row(idx, avail, self.data.at[idx, 'brand'])
|
|
1801
|
+
self._write_row(idx, avail, self.data.at[idx, 'brand'], info)
|
|
1614
1802
|
if idxs:
|
|
1615
1803
|
self._seed_resolved.add((sid, sku))
|
|
1616
1804
|
covered.add(sid)
|
|
@@ -1639,6 +1827,9 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1639
1827
|
pending -= got
|
|
1640
1828
|
covered |= got | {seed}
|
|
1641
1829
|
# on failure the neighbours stay pending; the seed goes to fallback
|
|
1830
|
+
self._logger.debug(
|
|
1831
|
+
f"BestBuy bulk: sku={sku} seed={seed} ok={bool(data)}; {len(pending)} stores pending."
|
|
1832
|
+
)
|
|
1642
1833
|
return order
|
|
1643
1834
|
|
|
1644
1835
|
async def _resolve_sku_replay(self, sku: str, seeds: list[str],
|