scitex 2.14.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2498) hide show
  1. scitex/.mcp.json +46 -0
  2. scitex/__init__.py +268 -0
  3. scitex/__main__.py +45 -0
  4. scitex/__version__.py +16 -0
  5. scitex/_install_guide.py +262 -0
  6. scitex/_mcp_tools/__init__.py +36 -0
  7. scitex/_mcp_tools/audio.py +134 -0
  8. scitex/_mcp_tools/canvas.py +128 -0
  9. scitex/_mcp_tools/capture.py +174 -0
  10. scitex/_mcp_tools/diagram.py +106 -0
  11. scitex/_mcp_tools/plt.py +350 -0
  12. scitex/_mcp_tools/scholar.py +373 -0
  13. scitex/_mcp_tools/stats.py +206 -0
  14. scitex/_mcp_tools/template.py +66 -0
  15. scitex/_mcp_tools/ui.py +80 -0
  16. scitex/_mcp_tools/writer.py +220 -0
  17. scitex/_optional_deps.py +333 -0
  18. scitex/ai/README.md +295 -0
  19. scitex/ai/__init__.py +74 -0
  20. scitex/ai/_gen_ai/_Anthropic.py +173 -0
  21. scitex/ai/_gen_ai/_BaseGenAI.py +337 -0
  22. scitex/ai/_gen_ai/_DeepSeek.py +183 -0
  23. scitex/ai/_gen_ai/_Google.py +162 -0
  24. scitex/ai/_gen_ai/_Groq.py +95 -0
  25. scitex/ai/_gen_ai/_Llama.py +144 -0
  26. scitex/ai/_gen_ai/_OpenAI.py +235 -0
  27. scitex/ai/_gen_ai/_PARAMS.py +552 -0
  28. scitex/ai/_gen_ai/_Perplexity.py +207 -0
  29. scitex/ai/_gen_ai/__init__.py +44 -0
  30. scitex/ai/_gen_ai/_calc_cost.py +78 -0
  31. scitex/ai/_gen_ai/_format_output_func.py +185 -0
  32. scitex/ai/_gen_ai/_genai_factory.py +71 -0
  33. scitex/ai/activation/__init__.py +8 -0
  34. scitex/ai/activation/_define.py +11 -0
  35. scitex/ai/classification/Classifier.py +131 -0
  36. scitex/ai/classification/CrossValidationExperiment.py +368 -0
  37. scitex/ai/classification/README.md +251 -0
  38. scitex/ai/classification/__init__.py +46 -0
  39. scitex/ai/classification/examples/timeseries_cv_demo.py +416 -0
  40. scitex/ai/classification/examples/verify_multi/config.json +13 -0
  41. scitex/ai/classification/examples/verify_multi/multi_task_comparison.md +20 -0
  42. scitex/ai/classification/examples/verify_multi/multi_task_validation.json +103 -0
  43. scitex/ai/classification/examples/verify_multi/paper_export/README.md +20 -0
  44. scitex/ai/classification/examples/verify_multi/paper_export/raw_results.json +174 -0
  45. scitex/ai/classification/examples/verify_multi/task1/metadata.json +56 -0
  46. scitex/ai/classification/examples/verify_multi/task1/paper_export/README.md +20 -0
  47. scitex/ai/classification/examples/verify_multi/task1/paper_export/raw_results.json +93 -0
  48. scitex/ai/classification/examples/verify_multi/task1/paper_export/summary_table.tex +15 -0
  49. scitex/ai/classification/examples/verify_multi/task1/report.md +31 -0
  50. scitex/ai/classification/examples/verify_multi/task1/validation_report.json +47 -0
  51. scitex/ai/classification/examples/verify_multi/task2/metadata.json +56 -0
  52. scitex/ai/classification/examples/verify_multi/task2/paper_export/README.md +20 -0
  53. scitex/ai/classification/examples/verify_multi/task2/paper_export/raw_results.json +93 -0
  54. scitex/ai/classification/examples/verify_multi/task2/paper_export/summary_table.tex +15 -0
  55. scitex/ai/classification/examples/verify_multi/task2/report.md +31 -0
  56. scitex/ai/classification/examples/verify_multi/task2/validation_report.json +47 -0
  57. scitex/ai/classification/examples/verify_test/metadata.json +62 -0
  58. scitex/ai/classification/examples/verify_test/paper_export/README.md +20 -0
  59. scitex/ai/classification/examples/verify_test/paper_export/raw_results.json +131 -0
  60. scitex/ai/classification/examples/verify_test/paper_export/summary_table.tex +15 -0
  61. scitex/ai/classification/examples/verify_test/report.md +31 -0
  62. scitex/ai/classification/examples/verify_test/validation_report.json +52 -0
  63. scitex/ai/classification/reporters/_BaseClassificationReporter.py +283 -0
  64. scitex/ai/classification/reporters/_ClassificationReporter.py +758 -0
  65. scitex/ai/classification/reporters/_MultiClassificationReporter.py +403 -0
  66. scitex/ai/classification/reporters/_SingleClassificationReporter.py +1778 -0
  67. scitex/ai/classification/reporters/__init__.py +11 -0
  68. scitex/ai/classification/reporters/reporter_utils/_Plotter.py +1122 -0
  69. scitex/ai/classification/reporters/reporter_utils/__init__.py +72 -0
  70. scitex/ai/classification/reporters/reporter_utils/aggregation.py +439 -0
  71. scitex/ai/classification/reporters/reporter_utils/data_models.py +321 -0
  72. scitex/ai/classification/reporters/reporter_utils/reporting.py +1223 -0
  73. scitex/ai/classification/reporters/reporter_utils/storage.py +224 -0
  74. scitex/ai/classification/reporters/reporter_utils/validation.py +382 -0
  75. scitex/ai/classification/timeseries/README.md +313 -0
  76. scitex/ai/classification/timeseries/_TimeSeriesBlockingSplit.py +643 -0
  77. scitex/ai/classification/timeseries/_TimeSeriesCalendarSplit.py +732 -0
  78. scitex/ai/classification/timeseries/_TimeSeriesMetadata.py +139 -0
  79. scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit.py +1640 -0
  80. scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit_v01-not-using-n_splits.py +1609 -0
  81. scitex/ai/classification/timeseries/_TimeSeriesStrategy.py +83 -0
  82. scitex/ai/classification/timeseries/_TimeSeriesStratifiedSplit.py +697 -0
  83. scitex/ai/classification/timeseries/__init__.py +37 -0
  84. scitex/ai/classification/timeseries/_normalize_timestamp.py +439 -0
  85. scitex/ai/classification/timeseries/run_all.sh +30 -0
  86. scitex/ai/clustering/__init__.py +11 -0
  87. scitex/ai/clustering/_pca.py +114 -0
  88. scitex/ai/clustering/_umap.py +375 -0
  89. scitex/ai/feature_extraction/__init__.py +58 -0
  90. scitex/ai/feature_extraction/vit.py +148 -0
  91. scitex/ai/feature_selection/__init__.py +30 -0
  92. scitex/ai/feature_selection/feature_selection.py +359 -0
  93. scitex/ai/loss/_L1L2Losses.py +34 -0
  94. scitex/ai/loss/__init__.py +12 -0
  95. scitex/ai/loss/multi_task_loss.py +47 -0
  96. scitex/ai/metrics/__init__.py +56 -0
  97. scitex/ai/metrics/_calc_bacc.py +61 -0
  98. scitex/ai/metrics/_calc_bacc_from_conf_mat.py +38 -0
  99. scitex/ai/metrics/_calc_clf_report.py +78 -0
  100. scitex/ai/metrics/_calc_conf_mat.py +95 -0
  101. scitex/ai/metrics/_calc_feature_importance.py +179 -0
  102. scitex/ai/metrics/_calc_mcc.py +61 -0
  103. scitex/ai/metrics/_calc_pre_rec_auc.py +116 -0
  104. scitex/ai/metrics/_calc_roc_auc.py +112 -0
  105. scitex/ai/metrics/_calc_seizure_prediction_metrics.py +505 -0
  106. scitex/ai/metrics/_calc_silhouette_score.py +501 -0
  107. scitex/ai/metrics/_normalize_labels.py +83 -0
  108. scitex/ai/optim/MIGRATION.md +43 -0
  109. scitex/ai/optim/Ranger_Deep_Learning_Optimizer/LICENSE +201 -0
  110. scitex/ai/optim/Ranger_Deep_Learning_Optimizer/README.md +80 -0
  111. scitex/ai/optim/Ranger_Deep_Learning_Optimizer/__init__.py +0 -0
  112. scitex/ai/optim/Ranger_Deep_Learning_Optimizer/ranger/__init__.py +3 -0
  113. scitex/ai/optim/Ranger_Deep_Learning_Optimizer/ranger/ranger.py +204 -0
  114. scitex/ai/optim/Ranger_Deep_Learning_Optimizer/ranger/ranger2020.py +235 -0
  115. scitex/ai/optim/Ranger_Deep_Learning_Optimizer/ranger/ranger913A.py +212 -0
  116. scitex/ai/optim/Ranger_Deep_Learning_Optimizer/ranger/rangerqh.py +184 -0
  117. scitex/ai/optim/Ranger_Deep_Learning_Optimizer/ranger-init.jpg +0 -0
  118. scitex/ai/optim/Ranger_Deep_Learning_Optimizer/ranger-with-gc-options.jpg +0 -0
  119. scitex/ai/optim/Ranger_Deep_Learning_Optimizer/setup.py +24 -0
  120. scitex/ai/optim/__init__.py +13 -0
  121. scitex/ai/optim/_get_set.py +31 -0
  122. scitex/ai/optim/_optimizers.py +71 -0
  123. scitex/ai/plt/__init__.py +65 -0
  124. scitex/ai/plt/_plot_feature_importance.py +321 -0
  125. scitex/ai/plt/_plot_learning_curve.py +330 -0
  126. scitex/ai/plt/_plot_optuna_study.py +226 -0
  127. scitex/ai/plt/_plot_pre_rec_curve.py +284 -0
  128. scitex/ai/plt/_plot_roc_curve.py +253 -0
  129. scitex/ai/plt/_stx_conf_mat.py +662 -0
  130. scitex/ai/sampling/undersample.py +44 -0
  131. scitex/ai/sk/__init__.py +11 -0
  132. scitex/ai/sk/_clf.py +58 -0
  133. scitex/ai/sk/_to_sktime.py +100 -0
  134. scitex/ai/sklearn/__init__.py +26 -0
  135. scitex/ai/sklearn/clf.py +58 -0
  136. scitex/ai/sklearn/to_sktime.py +100 -0
  137. scitex/ai/training/_EarlyStopping.py +149 -0
  138. scitex/ai/training/_LearningCurveLogger.py +552 -0
  139. scitex/ai/training/__init__.py +7 -0
  140. scitex/ai/utils/__init__.py +22 -0
  141. scitex/ai/utils/_check_params.py +49 -0
  142. scitex/ai/utils/_default_dataset.py +46 -0
  143. scitex/ai/utils/_format_samples_for_sktime.py +26 -0
  144. scitex/ai/utils/_label_encoder.py +134 -0
  145. scitex/ai/utils/_merge_labels.py +22 -0
  146. scitex/ai/utils/_sliding_window_data_augmentation.py +11 -0
  147. scitex/ai/utils/_under_sample.py +51 -0
  148. scitex/ai/utils/_verify_n_gpus.py +16 -0
  149. scitex/ai/utils/grid_search.py +148 -0
  150. scitex/audio/README.md +129 -0
  151. scitex/audio/__init__.py +392 -0
  152. scitex/audio/__main__.py +125 -0
  153. scitex/audio/_cross_process_lock.py +139 -0
  154. scitex/audio/_mcp/__init__.py +4 -0
  155. scitex/audio/_mcp/handlers.py +366 -0
  156. scitex/audio/_mcp/tool_schemas.py +203 -0
  157. scitex/audio/_tts.py +334 -0
  158. scitex/audio/engines/__init__.py +44 -0
  159. scitex/audio/engines/base.py +275 -0
  160. scitex/audio/engines/elevenlabs_engine.py +146 -0
  161. scitex/audio/engines/gtts_engine.py +162 -0
  162. scitex/audio/engines/pyttsx3_engine.py +131 -0
  163. scitex/audio/mcp_server.py +293 -0
  164. scitex/benchmark/__init__.py +42 -0
  165. scitex/benchmark/benchmark.py +407 -0
  166. scitex/benchmark/monitor.py +380 -0
  167. scitex/benchmark/profiler.py +300 -0
  168. scitex/bridge/__init__.py +121 -0
  169. scitex/bridge/_figrecipe.py +277 -0
  170. scitex/bridge/_helpers.py +150 -0
  171. scitex/bridge/_plt_vis.py +542 -0
  172. scitex/bridge/_protocol.py +283 -0
  173. scitex/bridge/_stats_plt.py +272 -0
  174. scitex/bridge/_stats_vis.py +281 -0
  175. scitex/browser/README.md +167 -0
  176. scitex/browser/__init__.py +139 -0
  177. scitex/browser/auth/__init__.py +35 -0
  178. scitex/browser/auth/google.py +386 -0
  179. scitex/browser/automation/CookieHandler.py +215 -0
  180. scitex/browser/automation/__init__.py +11 -0
  181. scitex/browser/collaboration/__init__.py +62 -0
  182. scitex/browser/collaboration/auth_helpers.py +96 -0
  183. scitex/browser/collaboration/collaborative_agent.py +138 -0
  184. scitex/browser/collaboration/credential_manager.py +188 -0
  185. scitex/browser/collaboration/interactive_panel.py +400 -0
  186. scitex/browser/collaboration/persistent_browser.py +170 -0
  187. scitex/browser/collaboration/shared_session.py +392 -0
  188. scitex/browser/collaboration/standard_interactions.py +247 -0
  189. scitex/browser/collaboration/visual_feedback.py +181 -0
  190. scitex/browser/core/BrowserMixin.py +321 -0
  191. scitex/browser/core/ChromeProfileManager.py +438 -0
  192. scitex/browser/core/__init__.py +18 -0
  193. scitex/browser/debugging/__init__.py +74 -0
  194. scitex/browser/debugging/_browser_logger.py +644 -0
  195. scitex/browser/debugging/_failure_capture.py +379 -0
  196. scitex/browser/debugging/_highlight_element.py +152 -0
  197. scitex/browser/debugging/_show_grid.py +153 -0
  198. scitex/browser/debugging/_sync_session.py +260 -0
  199. scitex/browser/debugging/_test_monitor.py +293 -0
  200. scitex/browser/debugging/_visual_cursor.py +443 -0
  201. scitex/browser/docs/ABOUT_PLAYWRIGHT.md +49 -0
  202. scitex/browser/interaction/__init__.py +24 -0
  203. scitex/browser/interaction/click_center.py +150 -0
  204. scitex/browser/interaction/click_with_fallbacks.py +203 -0
  205. scitex/browser/interaction/close_popups.py +511 -0
  206. scitex/browser/interaction/fill_with_fallbacks.py +209 -0
  207. scitex/browser/pdf/__init__.py +16 -0
  208. scitex/browser/pdf/click_download_for_chrome_pdf_viewer.py +201 -0
  209. scitex/browser/pdf/detect_chrome_pdf_viewer.py +195 -0
  210. scitex/browser/remote/CaptchaHandler.py +447 -0
  211. scitex/browser/remote/ZenRowsAPIClient.py +341 -0
  212. scitex/browser/remote/ZenRowsBrowserManager.py +596 -0
  213. scitex/browser/remote/__init__.py +11 -0
  214. scitex/browser/stealth/HumanBehavior.py +339 -0
  215. scitex/browser/stealth/StealthManager.py +993 -0
  216. scitex/browser/stealth/__init__.py +9 -0
  217. scitex/canvas/README.md +386 -0
  218. scitex/canvas/__init__.py +340 -0
  219. scitex/canvas/_mcp/__init__.py +4 -0
  220. scitex/canvas/_mcp/handlers.py +372 -0
  221. scitex/canvas/_mcp/tool_schemas.py +219 -0
  222. scitex/canvas/backend/__init__.py +56 -0
  223. scitex/canvas/backend/_export.py +166 -0
  224. scitex/canvas/backend/_parser.py +188 -0
  225. scitex/canvas/backend/_render.py +385 -0
  226. scitex/canvas/canvas.py +434 -0
  227. scitex/canvas/docs/CANVAS_ARCHITECTURE.md +307 -0
  228. scitex/canvas/editor/__init__.py +26 -0
  229. scitex/canvas/editor/_dearpygui_editor.py +1976 -0
  230. scitex/canvas/editor/_defaults.py +300 -0
  231. scitex/canvas/editor/_flask_editor.py +37 -0
  232. scitex/canvas/editor/_mpl_editor.py +246 -0
  233. scitex/canvas/editor/_qt_editor.py +1096 -0
  234. scitex/canvas/editor/_tkinter_editor.py +523 -0
  235. scitex/canvas/editor/edit/__init__.py +47 -0
  236. scitex/canvas/editor/edit/backend_detector.py +109 -0
  237. scitex/canvas/editor/edit/bundle_resolver.py +248 -0
  238. scitex/canvas/editor/edit/editor_launcher.py +292 -0
  239. scitex/canvas/editor/edit/manual_handler.py +53 -0
  240. scitex/canvas/editor/edit/panel_loader.py +246 -0
  241. scitex/canvas/editor/edit/path_resolver.py +67 -0
  242. scitex/canvas/editor/flask_editor/__init__.py +21 -0
  243. scitex/canvas/editor/flask_editor/_bbox.py +1340 -0
  244. scitex/canvas/editor/flask_editor/_core.py +1688 -0
  245. scitex/canvas/editor/flask_editor/_plotter.py +601 -0
  246. scitex/canvas/editor/flask_editor/_renderer.py +854 -0
  247. scitex/canvas/editor/flask_editor/_utils.py +80 -0
  248. scitex/canvas/editor/flask_editor/static/css/base/reset.css +41 -0
  249. scitex/canvas/editor/flask_editor/static/css/base/typography.css +16 -0
  250. scitex/canvas/editor/flask_editor/static/css/base/variables.css +85 -0
  251. scitex/canvas/editor/flask_editor/static/css/components/buttons.css +217 -0
  252. scitex/canvas/editor/flask_editor/static/css/components/context-menu.css +93 -0
  253. scitex/canvas/editor/flask_editor/static/css/components/dropdown.css +57 -0
  254. scitex/canvas/editor/flask_editor/static/css/components/forms.css +112 -0
  255. scitex/canvas/editor/flask_editor/static/css/components/modal.css +59 -0
  256. scitex/canvas/editor/flask_editor/static/css/components/sections.css +212 -0
  257. scitex/canvas/editor/flask_editor/static/css/features/canvas.css +176 -0
  258. scitex/canvas/editor/flask_editor/static/css/features/element-inspector.css +190 -0
  259. scitex/canvas/editor/flask_editor/static/css/features/loading.css +59 -0
  260. scitex/canvas/editor/flask_editor/static/css/features/overlay.css +45 -0
  261. scitex/canvas/editor/flask_editor/static/css/features/panel-grid.css +95 -0
  262. scitex/canvas/editor/flask_editor/static/css/features/selection.css +101 -0
  263. scitex/canvas/editor/flask_editor/static/css/features/statistics.css +138 -0
  264. scitex/canvas/editor/flask_editor/static/css/index.css +31 -0
  265. scitex/canvas/editor/flask_editor/static/css/layout/container.css +7 -0
  266. scitex/canvas/editor/flask_editor/static/css/layout/controls.css +56 -0
  267. scitex/canvas/editor/flask_editor/static/css/layout/preview.css +78 -0
  268. scitex/canvas/editor/flask_editor/static/js/alignment/axis.js +314 -0
  269. scitex/canvas/editor/flask_editor/static/js/alignment/basic.js +107 -0
  270. scitex/canvas/editor/flask_editor/static/js/alignment/distribute.js +54 -0
  271. scitex/canvas/editor/flask_editor/static/js/canvas/canvas.js +172 -0
  272. scitex/canvas/editor/flask_editor/static/js/canvas/dragging.js +258 -0
  273. scitex/canvas/editor/flask_editor/static/js/canvas/resize.js +48 -0
  274. scitex/canvas/editor/flask_editor/static/js/canvas/selection.js +71 -0
  275. scitex/canvas/editor/flask_editor/static/js/core/api.js +287 -0
  276. scitex/canvas/editor/flask_editor/static/js/core/state.js +143 -0
  277. scitex/canvas/editor/flask_editor/static/js/core/utils.js +245 -0
  278. scitex/canvas/editor/flask_editor/static/js/dev/element-inspector.js +992 -0
  279. scitex/canvas/editor/flask_editor/static/js/editor/bbox.js +339 -0
  280. scitex/canvas/editor/flask_editor/static/js/editor/element-drag.js +286 -0
  281. scitex/canvas/editor/flask_editor/static/js/editor/overlay.js +371 -0
  282. scitex/canvas/editor/flask_editor/static/js/editor/preview.js +293 -0
  283. scitex/canvas/editor/flask_editor/static/js/main.js +426 -0
  284. scitex/canvas/editor/flask_editor/static/js/shortcuts/context-menu.js +152 -0
  285. scitex/canvas/editor/flask_editor/static/js/shortcuts/keyboard.js +265 -0
  286. scitex/canvas/editor/flask_editor/static/js/ui/controls.js +184 -0
  287. scitex/canvas/editor/flask_editor/static/js/ui/download.js +57 -0
  288. scitex/canvas/editor/flask_editor/static/js/ui/help.js +100 -0
  289. scitex/canvas/editor/flask_editor/static/js/ui/theme.js +34 -0
  290. scitex/canvas/editor/flask_editor/templates/__init__.py +123 -0
  291. scitex/canvas/editor/flask_editor/templates/_html.py +852 -0
  292. scitex/canvas/editor/flask_editor/templates/_scripts.py +4933 -0
  293. scitex/canvas/editor/flask_editor/templates/_styles.py +1658 -0
  294. scitex/canvas/io/__init__.py +105 -0
  295. scitex/canvas/io/_bundle.py +1121 -0
  296. scitex/canvas/io/_canvas.py +230 -0
  297. scitex/canvas/io/_data.py +208 -0
  298. scitex/canvas/io/_directory.py +205 -0
  299. scitex/canvas/io/_export.py +463 -0
  300. scitex/canvas/io/_load.py +168 -0
  301. scitex/canvas/io/_panel.py +432 -0
  302. scitex/canvas/io/_save.py +131 -0
  303. scitex/canvas/mcp_server.py +151 -0
  304. scitex/canvas/model/__init__.py +118 -0
  305. scitex/canvas/model/_annotations.py +116 -0
  306. scitex/canvas/model/_axes.py +153 -0
  307. scitex/canvas/model/_figure.py +139 -0
  308. scitex/canvas/model/_guides.py +105 -0
  309. scitex/canvas/model/_plot.py +124 -0
  310. scitex/canvas/model/_plot_types.py +682 -0
  311. scitex/canvas/model/_styles.py +246 -0
  312. scitex/canvas/utils/__init__.py +75 -0
  313. scitex/canvas/utils/_defaults.py +334 -0
  314. scitex/canvas/utils/_validate.py +198 -0
  315. scitex/capture/README.md +284 -0
  316. scitex/capture/TODO.md +40 -0
  317. scitex/capture/__init__.py +109 -0
  318. scitex/capture/__main__.py +24 -0
  319. scitex/capture/_mcp/__init__.py +11 -0
  320. scitex/capture/_mcp/handlers.py +438 -0
  321. scitex/capture/_mcp/tool_schemas.py +270 -0
  322. scitex/capture/capture.py +820 -0
  323. scitex/capture/cli.py +208 -0
  324. scitex/capture/gif.py +340 -0
  325. scitex/capture/grid.py +487 -0
  326. scitex/capture/mcp_server.py +977 -0
  327. scitex/capture/powershell/capture_all_desktops.ps1 +79 -0
  328. scitex/capture/powershell/capture_all_monitors.ps1 +63 -0
  329. scitex/capture/powershell/capture_single_monitor.ps1 +77 -0
  330. scitex/capture/powershell/capture_url.ps1 +170 -0
  331. scitex/capture/powershell/capture_window_by_handle.ps1 +129 -0
  332. scitex/capture/powershell/detect_monitors_and_desktops.ps1 +143 -0
  333. scitex/capture/powershell/enumerate_virtual_desktops.ps1 +60 -0
  334. scitex/capture/session.py +71 -0
  335. scitex/capture/utils.py +670 -0
  336. scitex/cli/__init__.py +64 -0
  337. scitex/cli/audio.py +331 -0
  338. scitex/cli/browser.py +310 -0
  339. scitex/cli/capture.py +325 -0
  340. scitex/cli/cloud.py +764 -0
  341. scitex/cli/config.py +224 -0
  342. scitex/cli/convert.py +425 -0
  343. scitex/cli/main.py +235 -0
  344. scitex/cli/mcp.py +336 -0
  345. scitex/cli/repro.py +251 -0
  346. scitex/cli/resource.py +258 -0
  347. scitex/cli/scholar/__init__.py +89 -0
  348. scitex/cli/scholar/_fetch.py +347 -0
  349. scitex/cli/scholar/_jobs.py +306 -0
  350. scitex/cli/scholar/_library.py +152 -0
  351. scitex/cli/scholar/_utils.py +35 -0
  352. scitex/cli/security.py +103 -0
  353. scitex/cli/stats.py +343 -0
  354. scitex/cli/template.py +254 -0
  355. scitex/cli/tex.py +304 -0
  356. scitex/cli/web.py +405 -0
  357. scitex/cli/writer.py +329 -0
  358. scitex/cloud/__init__.py +134 -0
  359. scitex/cloud/_matplotlib_hook.py +146 -0
  360. scitex/compat/__init__.py +74 -0
  361. scitex/config/README.md +313 -0
  362. scitex/config/_PriorityConfig.py +292 -0
  363. scitex/config/_ScitexConfig.py +319 -0
  364. scitex/config/__init__.py +56 -0
  365. scitex/config/_paths.py +325 -0
  366. scitex/config/default.yaml +112 -0
  367. scitex/context/__init__.py +9 -0
  368. scitex/context/_suppress_output.py +39 -0
  369. scitex/cv/__init__.py +87 -0
  370. scitex/cv/_draw.py +236 -0
  371. scitex/cv/_filters.py +217 -0
  372. scitex/cv/_io.py +157 -0
  373. scitex/cv/_transform.py +184 -0
  374. scitex/datetime/__init__.py +46 -0
  375. scitex/datetime/_linspace.py +100 -0
  376. scitex/datetime/_normalize_timestamp.py +306 -0
  377. scitex/db/README.md +281 -0
  378. scitex/db/_BaseMixins/_BaseBackupMixin.py +32 -0
  379. scitex/db/_BaseMixins/_BaseBatchMixin.py +33 -0
  380. scitex/db/_BaseMixins/_BaseBlobMixin.py +83 -0
  381. scitex/db/_BaseMixins/_BaseConnectionMixin.py +43 -0
  382. scitex/db/_BaseMixins/_BaseImportExportMixin.py +37 -0
  383. scitex/db/_BaseMixins/_BaseIndexMixin.py +31 -0
  384. scitex/db/_BaseMixins/_BaseMaintenanceMixin.py +31 -0
  385. scitex/db/_BaseMixins/_BaseQueryMixin.py +54 -0
  386. scitex/db/_BaseMixins/_BaseRowMixin.py +34 -0
  387. scitex/db/_BaseMixins/_BaseSchemaMixin.py +44 -0
  388. scitex/db/_BaseMixins/_BaseTableMixin.py +68 -0
  389. scitex/db/_BaseMixins/_BaseTransactionMixin.py +50 -0
  390. scitex/db/_BaseMixins/__init__.py +30 -0
  391. scitex/db/__init__.py +49 -0
  392. scitex/db/__main__.py +62 -0
  393. scitex/db/_check_health.py +365 -0
  394. scitex/db/_delete_duplicates.py +39 -0
  395. scitex/db/_inspect.py +368 -0
  396. scitex/db/_inspect_optimized.py +305 -0
  397. scitex/db/_postgresql/_PostgreSQL.py +125 -0
  398. scitex/db/_postgresql/_PostgreSQLMixins/_BackupMixin.py +166 -0
  399. scitex/db/_postgresql/_PostgreSQLMixins/_BatchMixin.py +82 -0
  400. scitex/db/_postgresql/_PostgreSQLMixins/_BlobMixin.py +233 -0
  401. scitex/db/_postgresql/_PostgreSQLMixins/_ConnectionMixin.py +90 -0
  402. scitex/db/_postgresql/_PostgreSQLMixins/_ImportExportMixin.py +57 -0
  403. scitex/db/_postgresql/_PostgreSQLMixins/_IndexMixin.py +64 -0
  404. scitex/db/_postgresql/_PostgreSQLMixins/_MaintenanceMixin.py +172 -0
  405. scitex/db/_postgresql/_PostgreSQLMixins/_QueryMixin.py +108 -0
  406. scitex/db/_postgresql/_PostgreSQLMixins/_RowMixin.py +77 -0
  407. scitex/db/_postgresql/_PostgreSQLMixins/_SchemaMixin.py +126 -0
  408. scitex/db/_postgresql/_PostgreSQLMixins/_TableMixin.py +176 -0
  409. scitex/db/_postgresql/_PostgreSQLMixins/_TransactionMixin.py +55 -0
  410. scitex/db/_postgresql/_PostgreSQLMixins/__init__.py +34 -0
  411. scitex/db/_postgresql/__init__.py +6 -0
  412. scitex/db/_sqlite3/README.md +191 -0
  413. scitex/db/_sqlite3/README_v01.md +126 -0
  414. scitex/db/_sqlite3/_SQLite3.py +208 -0
  415. scitex/db/_sqlite3/_SQLite3Mixins/_ArrayMixin.py +580 -0
  416. scitex/db/_sqlite3/_SQLite3Mixins/_ArrayMixin_v01-need-_hash-col.py +522 -0
  417. scitex/db/_sqlite3/_SQLite3Mixins/_BatchMixin.py +245 -0
  418. scitex/db/_sqlite3/_SQLite3Mixins/_BlobMixin.py +281 -0
  419. scitex/db/_sqlite3/_SQLite3Mixins/_ColumnMixin.py +555 -0
  420. scitex/db/_sqlite3/_SQLite3Mixins/_ConnectionMixin.py +122 -0
  421. scitex/db/_sqlite3/_SQLite3Mixins/_GitMixin.py +555 -0
  422. scitex/db/_sqlite3/_SQLite3Mixins/_ImportExportMixin.py +78 -0
  423. scitex/db/_sqlite3/_SQLite3Mixins/_IndexMixin.py +34 -0
  424. scitex/db/_sqlite3/_SQLite3Mixins/_MaintenanceMixin.py +177 -0
  425. scitex/db/_sqlite3/_SQLite3Mixins/_QueryMixin.py +109 -0
  426. scitex/db/_sqlite3/_SQLite3Mixins/_RowMixin.py +115 -0
  427. scitex/db/_sqlite3/_SQLite3Mixins/_TableMixin.py +236 -0
  428. scitex/db/_sqlite3/_SQLite3Mixins/_TransactionMixin.py +71 -0
  429. scitex/db/_sqlite3/_SQLite3Mixins/__init__.py +43 -0
  430. scitex/db/_sqlite3/__init__.py +7 -0
  431. scitex/db/_sqlite3/_delete_duplicates.py +285 -0
  432. scitex/decorators/BLUEPRINT.md +101 -0
  433. scitex/decorators/README.md +179 -0
  434. scitex/decorators/__init__.py +90 -0
  435. scitex/decorators/_auto_order.py +172 -0
  436. scitex/decorators/_batch_fn.py +134 -0
  437. scitex/decorators/_cache_disk.py +39 -0
  438. scitex/decorators/_cache_disk_async.py +50 -0
  439. scitex/decorators/_cache_mem.py +12 -0
  440. scitex/decorators/_combined.py +104 -0
  441. scitex/decorators/_converters.py +303 -0
  442. scitex/decorators/_deprecated.py +201 -0
  443. scitex/decorators/_not_implemented.py +30 -0
  444. scitex/decorators/_numpy_fn.py +101 -0
  445. scitex/decorators/_pandas_fn.py +138 -0
  446. scitex/decorators/_preserve_doc.py +19 -0
  447. scitex/decorators/_signal_fn.py +111 -0
  448. scitex/decorators/_timeout.py +55 -0
  449. scitex/decorators/_torch_fn.py +155 -0
  450. scitex/decorators/_wrap.py +39 -0
  451. scitex/decorators/_xarray_fn.py +108 -0
  452. scitex/dev/__init__.py +20 -0
  453. scitex/dev/_analyze_code_flow.py +282 -0
  454. scitex/dev/_pyproject.py +405 -0
  455. scitex/dev/_reload.py +59 -0
  456. scitex/dev/cv/__init__.py +60 -0
  457. scitex/dev/cv/_compose.py +330 -0
  458. scitex/dev/cv/_title_card.py +351 -0
  459. scitex/dev/plt/__init__.py +271 -0
  460. scitex/dev/plt/data/mpl/PLOTTING_FUNCTIONS.yaml +90 -0
  461. scitex/dev/plt/data/mpl/PLOTTING_SIGNATURES.yaml +1571 -0
  462. scitex/dev/plt/data/mpl/PLOTTING_SIGNATURES_DETAILED.yaml +6262 -0
  463. scitex/dev/plt/data/mpl/SIGNATURES_FLATTENED.yaml +1274 -0
  464. scitex/dev/plt/data/mpl/dir_ax.txt +459 -0
  465. scitex/dev/plt/demo_plotters/__init__.py +0 -0
  466. scitex/dev/plt/demo_plotters/plot_mpl_axhline.py +28 -0
  467. scitex/dev/plt/demo_plotters/plot_mpl_axhspan.py +28 -0
  468. scitex/dev/plt/demo_plotters/plot_mpl_axvline.py +28 -0
  469. scitex/dev/plt/demo_plotters/plot_mpl_axvspan.py +28 -0
  470. scitex/dev/plt/demo_plotters/plot_mpl_bar.py +29 -0
  471. scitex/dev/plt/demo_plotters/plot_mpl_barh.py +29 -0
  472. scitex/dev/plt/demo_plotters/plot_mpl_boxplot.py +28 -0
  473. scitex/dev/plt/demo_plotters/plot_mpl_contour.py +31 -0
  474. scitex/dev/plt/demo_plotters/plot_mpl_contourf.py +31 -0
  475. scitex/dev/plt/demo_plotters/plot_mpl_errorbar.py +30 -0
  476. scitex/dev/plt/demo_plotters/plot_mpl_eventplot.py +28 -0
  477. scitex/dev/plt/demo_plotters/plot_mpl_fill.py +30 -0
  478. scitex/dev/plt/demo_plotters/plot_mpl_fill_between.py +31 -0
  479. scitex/dev/plt/demo_plotters/plot_mpl_hexbin.py +28 -0
  480. scitex/dev/plt/demo_plotters/plot_mpl_hist.py +28 -0
  481. scitex/dev/plt/demo_plotters/plot_mpl_hist2d.py +28 -0
  482. scitex/dev/plt/demo_plotters/plot_mpl_imshow.py +29 -0
  483. scitex/dev/plt/demo_plotters/plot_mpl_pcolormesh.py +31 -0
  484. scitex/dev/plt/demo_plotters/plot_mpl_pie.py +29 -0
  485. scitex/dev/plt/demo_plotters/plot_mpl_plot.py +29 -0
  486. scitex/dev/plt/demo_plotters/plot_mpl_quiver.py +31 -0
  487. scitex/dev/plt/demo_plotters/plot_mpl_scatter.py +28 -0
  488. scitex/dev/plt/demo_plotters/plot_mpl_stackplot.py +31 -0
  489. scitex/dev/plt/demo_plotters/plot_mpl_stem.py +29 -0
  490. scitex/dev/plt/demo_plotters/plot_mpl_step.py +29 -0
  491. scitex/dev/plt/demo_plotters/plot_mpl_violinplot.py +28 -0
  492. scitex/dev/plt/demo_plotters/plot_sns_barplot.py +29 -0
  493. scitex/dev/plt/demo_plotters/plot_sns_boxplot.py +29 -0
  494. scitex/dev/plt/demo_plotters/plot_sns_heatmap.py +28 -0
  495. scitex/dev/plt/demo_plotters/plot_sns_histplot.py +29 -0
  496. scitex/dev/plt/demo_plotters/plot_sns_kdeplot.py +29 -0
  497. scitex/dev/plt/demo_plotters/plot_sns_lineplot.py +31 -0
  498. scitex/dev/plt/demo_plotters/plot_sns_scatterplot.py +29 -0
  499. scitex/dev/plt/demo_plotters/plot_sns_stripplot.py +29 -0
  500. scitex/dev/plt/demo_plotters/plot_sns_swarmplot.py +29 -0
  501. scitex/dev/plt/demo_plotters/plot_sns_violinplot.py +29 -0
  502. scitex/dev/plt/demo_plotters/plot_stx_bar.py +29 -0
  503. scitex/dev/plt/demo_plotters/plot_stx_barh.py +29 -0
  504. scitex/dev/plt/demo_plotters/plot_stx_box.py +28 -0
  505. scitex/dev/plt/demo_plotters/plot_stx_boxplot.py +28 -0
  506. scitex/dev/plt/demo_plotters/plot_stx_conf_mat.py +28 -0
  507. scitex/dev/plt/demo_plotters/plot_stx_contour.py +31 -0
  508. scitex/dev/plt/demo_plotters/plot_stx_ecdf.py +28 -0
  509. scitex/dev/plt/demo_plotters/plot_stx_errorbar.py +30 -0
  510. scitex/dev/plt/demo_plotters/plot_stx_fill_between.py +31 -0
  511. scitex/dev/plt/demo_plotters/plot_stx_fillv.py +28 -0
  512. scitex/dev/plt/demo_plotters/plot_stx_heatmap.py +28 -0
  513. scitex/dev/plt/demo_plotters/plot_stx_image.py +28 -0
  514. scitex/dev/plt/demo_plotters/plot_stx_imshow.py +28 -0
  515. scitex/dev/plt/demo_plotters/plot_stx_joyplot.py +28 -0
  516. scitex/dev/plt/demo_plotters/plot_stx_kde.py +28 -0
  517. scitex/dev/plt/demo_plotters/plot_stx_line.py +28 -0
  518. scitex/dev/plt/demo_plotters/plot_stx_mean_ci.py +28 -0
  519. scitex/dev/plt/demo_plotters/plot_stx_mean_std.py +28 -0
  520. scitex/dev/plt/demo_plotters/plot_stx_median_iqr.py +28 -0
  521. scitex/dev/plt/demo_plotters/plot_stx_raster.py +28 -0
  522. scitex/dev/plt/demo_plotters/plot_stx_rectangle.py +28 -0
  523. scitex/dev/plt/demo_plotters/plot_stx_scatter.py +29 -0
  524. scitex/dev/plt/demo_plotters/plot_stx_shaded_line.py +29 -0
  525. scitex/dev/plt/demo_plotters/plot_stx_violin.py +28 -0
  526. scitex/dev/plt/demo_plotters/plot_stx_violinplot.py +28 -0
  527. scitex/dev/plt/mpl/get_dir_ax.py +46 -0
  528. scitex/dev/plt/mpl/get_signatures.py +176 -0
  529. scitex/dev/plt/mpl/get_signatures_details.py +522 -0
  530. scitex/dev/plt/plot_mpl_axhline.py +28 -0
  531. scitex/dev/plt/plot_mpl_axhspan.py +28 -0
  532. scitex/dev/plt/plot_mpl_axvline.py +28 -0
  533. scitex/dev/plt/plot_mpl_axvspan.py +28 -0
  534. scitex/dev/plt/plot_mpl_bar.py +29 -0
  535. scitex/dev/plt/plot_mpl_barh.py +29 -0
  536. scitex/dev/plt/plot_mpl_boxplot.py +28 -0
  537. scitex/dev/plt/plot_mpl_contour.py +31 -0
  538. scitex/dev/plt/plot_mpl_contourf.py +31 -0
  539. scitex/dev/plt/plot_mpl_errorbar.py +30 -0
  540. scitex/dev/plt/plot_mpl_eventplot.py +28 -0
  541. scitex/dev/plt/plot_mpl_fill.py +30 -0
  542. scitex/dev/plt/plot_mpl_fill_between.py +31 -0
  543. scitex/dev/plt/plot_mpl_hexbin.py +28 -0
  544. scitex/dev/plt/plot_mpl_hist.py +28 -0
  545. scitex/dev/plt/plot_mpl_hist2d.py +28 -0
  546. scitex/dev/plt/plot_mpl_imshow.py +29 -0
  547. scitex/dev/plt/plot_mpl_pcolormesh.py +31 -0
  548. scitex/dev/plt/plot_mpl_pie.py +29 -0
  549. scitex/dev/plt/plot_mpl_plot.py +29 -0
  550. scitex/dev/plt/plot_mpl_quiver.py +31 -0
  551. scitex/dev/plt/plot_mpl_scatter.py +28 -0
  552. scitex/dev/plt/plot_mpl_stackplot.py +31 -0
  553. scitex/dev/plt/plot_mpl_stem.py +29 -0
  554. scitex/dev/plt/plot_mpl_step.py +29 -0
  555. scitex/dev/plt/plot_mpl_violinplot.py +28 -0
  556. scitex/dev/plt/plot_sns_barplot.py +29 -0
  557. scitex/dev/plt/plot_sns_boxplot.py +29 -0
  558. scitex/dev/plt/plot_sns_heatmap.py +28 -0
  559. scitex/dev/plt/plot_sns_histplot.py +29 -0
  560. scitex/dev/plt/plot_sns_kdeplot.py +29 -0
  561. scitex/dev/plt/plot_sns_lineplot.py +31 -0
  562. scitex/dev/plt/plot_sns_scatterplot.py +29 -0
  563. scitex/dev/plt/plot_sns_stripplot.py +29 -0
  564. scitex/dev/plt/plot_sns_swarmplot.py +29 -0
  565. scitex/dev/plt/plot_sns_violinplot.py +29 -0
  566. scitex/dev/plt/plot_stx_bar.py +29 -0
  567. scitex/dev/plt/plot_stx_barh.py +29 -0
  568. scitex/dev/plt/plot_stx_box.py +28 -0
  569. scitex/dev/plt/plot_stx_boxplot.py +28 -0
  570. scitex/dev/plt/plot_stx_conf_mat.py +28 -0
  571. scitex/dev/plt/plot_stx_contour.py +31 -0
  572. scitex/dev/plt/plot_stx_ecdf.py +28 -0
  573. scitex/dev/plt/plot_stx_errorbar.py +30 -0
  574. scitex/dev/plt/plot_stx_fill_between.py +31 -0
  575. scitex/dev/plt/plot_stx_fillv.py +28 -0
  576. scitex/dev/plt/plot_stx_heatmap.py +28 -0
  577. scitex/dev/plt/plot_stx_image.py +28 -0
  578. scitex/dev/plt/plot_stx_imshow.py +28 -0
  579. scitex/dev/plt/plot_stx_joyplot.py +28 -0
  580. scitex/dev/plt/plot_stx_kde.py +28 -0
  581. scitex/dev/plt/plot_stx_line.py +28 -0
  582. scitex/dev/plt/plot_stx_mean_ci.py +28 -0
  583. scitex/dev/plt/plot_stx_mean_std.py +28 -0
  584. scitex/dev/plt/plot_stx_median_iqr.py +28 -0
  585. scitex/dev/plt/plot_stx_raster.py +28 -0
  586. scitex/dev/plt/plot_stx_rectangle.py +28 -0
  587. scitex/dev/plt/plot_stx_scatter.py +29 -0
  588. scitex/dev/plt/plot_stx_shaded_line.py +29 -0
  589. scitex/dev/plt/plot_stx_violin.py +28 -0
  590. scitex/dev/plt/plot_stx_violinplot.py +28 -0
  591. scitex/diagram/README.md +197 -0
  592. scitex/diagram/__init__.py +48 -0
  593. scitex/diagram/_compile.py +312 -0
  594. scitex/diagram/_diagram.py +355 -0
  595. scitex/diagram/_mcp/__init__.py +4 -0
  596. scitex/diagram/_mcp/handlers.py +400 -0
  597. scitex/diagram/_mcp/tool_schemas.py +157 -0
  598. scitex/diagram/_presets.py +173 -0
  599. scitex/diagram/_schema.py +182 -0
  600. scitex/diagram/_split.py +278 -0
  601. scitex/diagram/mcp_server.py +151 -0
  602. scitex/dict/_DotDict.py +423 -0
  603. scitex/dict/__init__.py +21 -0
  604. scitex/dict/_flatten.py +20 -0
  605. scitex/dict/_listed_dict.py +42 -0
  606. scitex/dict/_pop_keys.py +30 -0
  607. scitex/dict/_replace.py +12 -0
  608. scitex/dict/_safe_merge.py +53 -0
  609. scitex/dict/_to_str.py +34 -0
  610. scitex/dsp/README.md +147 -0
  611. scitex/dsp/__init__.py +86 -0
  612. scitex/dsp/_crop.py +124 -0
  613. scitex/dsp/_demo_sig.py +377 -0
  614. scitex/dsp/_detect_ripples.py +214 -0
  615. scitex/dsp/_ensure_3d.py +18 -0
  616. scitex/dsp/_hilbert.py +78 -0
  617. scitex/dsp/_listen.py +702 -0
  618. scitex/dsp/_misc.py +30 -0
  619. scitex/dsp/_mne.py +43 -0
  620. scitex/dsp/_modulation_index.py +93 -0
  621. scitex/dsp/_pac.py +337 -0
  622. scitex/dsp/_psd.py +114 -0
  623. scitex/dsp/_resample.py +86 -0
  624. scitex/dsp/_time.py +39 -0
  625. scitex/dsp/_transform.py +81 -0
  626. scitex/dsp/_wavelet.py +212 -0
  627. scitex/dsp/add_noise.py +128 -0
  628. scitex/dsp/audio.md +22 -0
  629. scitex/dsp/example.py +262 -0
  630. scitex/dsp/filt.py +165 -0
  631. scitex/dsp/norm.py +33 -0
  632. scitex/dsp/params.py +51 -0
  633. scitex/dsp/reference.py +60 -0
  634. scitex/dsp/template.py +26 -0
  635. scitex/dsp/utils/__init__.py +19 -0
  636. scitex/dsp/utils/_differential_bandpass_filters.py +148 -0
  637. scitex/dsp/utils/_ensure_3d.py +18 -0
  638. scitex/dsp/utils/_ensure_even_len.py +10 -0
  639. scitex/dsp/utils/_zero_pad.py +62 -0
  640. scitex/dsp/utils/filter.py +408 -0
  641. scitex/dsp/utils/pac.py +177 -0
  642. scitex/dt/__init__.py +45 -0
  643. scitex/dt/_linspace.py +130 -0
  644. scitex/dt/_normalize_timestamp.py +435 -0
  645. scitex/errors.py +130 -0
  646. scitex/etc/__init__.py +15 -0
  647. scitex/etc/wait_key.py +34 -0
  648. scitex/gen/README.md +71 -0
  649. scitex/gen/_DimHandler.py +196 -0
  650. scitex/gen/_TimeStamper.py +244 -0
  651. scitex/gen/__init__.py +170 -0
  652. scitex/gen/_alternate_kwarg.py +13 -0
  653. scitex/gen/_cache.py +11 -0
  654. scitex/gen/_check_host.py +34 -0
  655. scitex/gen/_ci.py +12 -0
  656. scitex/gen/_deprecated_close.py +81 -0
  657. scitex/gen/_deprecated_start.py +28 -0
  658. scitex/gen/_detect_environment.py +155 -0
  659. scitex/gen/_detect_notebook_path.py +173 -0
  660. scitex/gen/_embed.py +82 -0
  661. scitex/gen/_get_notebook_path.py +276 -0
  662. scitex/gen/_inspect_module.py +256 -0
  663. scitex/gen/_is_ipython.py +12 -0
  664. scitex/gen/_less.py +48 -0
  665. scitex/gen/_list_packages.py +139 -0
  666. scitex/gen/_mat2py.py +88 -0
  667. scitex/gen/_norm.py +214 -0
  668. scitex/gen/_norm_cache.py +282 -0
  669. scitex/gen/_paste.py +18 -0
  670. scitex/gen/_print_config.py +81 -0
  671. scitex/gen/_shell.py +48 -0
  672. scitex/gen/_src.py +108 -0
  673. scitex/gen/_symlink.py +55 -0
  674. scitex/gen/_symlog.py +27 -0
  675. scitex/gen/_title2path.py +60 -0
  676. scitex/gen/_title_case.py +89 -0
  677. scitex/gen/_to_even.py +84 -0
  678. scitex/gen/_to_odd.py +34 -0
  679. scitex/gen/_to_rank.py +39 -0
  680. scitex/gen/_transpose.py +37 -0
  681. scitex/gen/_type.py +78 -0
  682. scitex/gen/_var_info.py +73 -0
  683. scitex/gen/_wrap.py +17 -0
  684. scitex/gen/_xml2dict.py +76 -0
  685. scitex/gen/misc.py +755 -0
  686. scitex/gen/path.py +0 -0
  687. scitex/gists/_SigMacro_processFigure_S.py +128 -0
  688. scitex/gists/_SigMacro_toBlue.py +172 -0
  689. scitex/gists/__init__.py +15 -0
  690. scitex/gists/guideline.md +42 -0
  691. scitex/git/README.md +121 -0
  692. scitex/git/__init__.py +61 -0
  693. scitex/git/_branch.py +185 -0
  694. scitex/git/_clone.py +167 -0
  695. scitex/git/_commit.py +170 -0
  696. scitex/git/_constants.py +17 -0
  697. scitex/git/_init.py +179 -0
  698. scitex/git/_remote.py +191 -0
  699. scitex/git/_result.py +70 -0
  700. scitex/git/_retry.py +113 -0
  701. scitex/git/_session.py +60 -0
  702. scitex/git/_types.py +136 -0
  703. scitex/git/_utils.py +28 -0
  704. scitex/git/_validation.py +117 -0
  705. scitex/git/_workflow.py +87 -0
  706. scitex/io/.gitkeep +0 -0
  707. scitex/io/README.md +376 -0
  708. scitex/io/__init__.py +116 -0
  709. scitex/io/_cache.py +101 -0
  710. scitex/io/_flush.py +27 -0
  711. scitex/io/_glob.py +109 -0
  712. scitex/io/_json2md.py +118 -0
  713. scitex/io/_load.py +453 -0
  714. scitex/io/_load_cache.py +303 -0
  715. scitex/io/_load_configs.py +175 -0
  716. scitex/io/_load_modules/_H5Explorer.py +352 -0
  717. scitex/io/_load_modules/_ZarrExplorer.py +114 -0
  718. scitex/io/_load_modules/__init__.py +41 -0
  719. scitex/io/_load_modules/_bibtex.py +206 -0
  720. scitex/io/_load_modules/_canvas.py +166 -0
  721. scitex/io/_load_modules/_catboost.py +71 -0
  722. scitex/io/_load_modules/_con.py +31 -0
  723. scitex/io/_load_modules/_docx.py +42 -0
  724. scitex/io/_load_modules/_eeg.py +125 -0
  725. scitex/io/_load_modules/_hdf5.py +73 -0
  726. scitex/io/_load_modules/_image.py +66 -0
  727. scitex/io/_load_modules/_joblib.py +19 -0
  728. scitex/io/_load_modules/_json.py +20 -0
  729. scitex/io/_load_modules/_markdown.py +103 -0
  730. scitex/io/_load_modules/_matlab.py +39 -0
  731. scitex/io/_load_modules/_numpy.py +39 -0
  732. scitex/io/_load_modules/_optuna.py +112 -0
  733. scitex/io/_load_modules/_pandas.py +75 -0
  734. scitex/io/_load_modules/_pdf.py +958 -0
  735. scitex/io/_load_modules/_pickle.py +24 -0
  736. scitex/io/_load_modules/_sqlite3.py +16 -0
  737. scitex/io/_load_modules/_torch.py +25 -0
  738. scitex/io/_load_modules/_txt.py +164 -0
  739. scitex/io/_load_modules/_xml.py +49 -0
  740. scitex/io/_load_modules/_yaml.py +24 -0
  741. scitex/io/_load_modules/_zarr.py +128 -0
  742. scitex/io/_metadata.py +47 -0
  743. scitex/io/_metadata_modules/__init__.py +46 -0
  744. scitex/io/_metadata_modules/_embed.py +70 -0
  745. scitex/io/_metadata_modules/_read.py +64 -0
  746. scitex/io/_metadata_modules/_utils.py +79 -0
  747. scitex/io/_metadata_modules/embed_metadata_jpeg.py +74 -0
  748. scitex/io/_metadata_modules/embed_metadata_pdf.py +53 -0
  749. scitex/io/_metadata_modules/embed_metadata_png.py +26 -0
  750. scitex/io/_metadata_modules/embed_metadata_svg.py +62 -0
  751. scitex/io/_metadata_modules/read_metadata_jpeg.py +57 -0
  752. scitex/io/_metadata_modules/read_metadata_pdf.py +51 -0
  753. scitex/io/_metadata_modules/read_metadata_png.py +39 -0
  754. scitex/io/_metadata_modules/read_metadata_svg.py +44 -0
  755. scitex/io/_mv_to_tmp.py +19 -0
  756. scitex/io/_path.py +286 -0
  757. scitex/io/_qr_utils.py +82 -0
  758. scitex/io/_reload.py +78 -0
  759. scitex/io/_save.py +497 -0
  760. scitex/io/_save_modules/__init__.py +130 -0
  761. scitex/io/_save_modules/_bibtex.py +199 -0
  762. scitex/io/_save_modules/_canvas.py +355 -0
  763. scitex/io/_save_modules/_catboost.py +22 -0
  764. scitex/io/_save_modules/_csv.py +95 -0
  765. scitex/io/_save_modules/_excel.py +210 -0
  766. scitex/io/_save_modules/_figure_utils.py +90 -0
  767. scitex/io/_save_modules/_hdf5.py +262 -0
  768. scitex/io/_save_modules/_html.py +48 -0
  769. scitex/io/_save_modules/_image.py +300 -0
  770. scitex/io/_save_modules/_image_csv.py +497 -0
  771. scitex/io/_save_modules/_joblib.py +25 -0
  772. scitex/io/_save_modules/_json.py +115 -0
  773. scitex/io/_save_modules/_legends.py +91 -0
  774. scitex/io/_save_modules/_listed_dfs_as_csv.py +56 -0
  775. scitex/io/_save_modules/_listed_scalars_as_csv.py +42 -0
  776. scitex/io/_save_modules/_matlab.py +24 -0
  777. scitex/io/_save_modules/_mp4.py +29 -0
  778. scitex/io/_save_modules/_numpy.py +55 -0
  779. scitex/io/_save_modules/_optuna_study_as_csv_and_pngs.py +49 -0
  780. scitex/io/_save_modules/_pickle.py +45 -0
  781. scitex/io/_save_modules/_plot_bundle.py +112 -0
  782. scitex/io/_save_modules/_plot_scitex.py +536 -0
  783. scitex/io/_save_modules/_plotly.py +27 -0
  784. scitex/io/_save_modules/_stx_bundle.py +104 -0
  785. scitex/io/_save_modules/_symlink.py +96 -0
  786. scitex/io/_save_modules/_tex.py +278 -0
  787. scitex/io/_save_modules/_text.py +23 -0
  788. scitex/io/_save_modules/_torch.py +35 -0
  789. scitex/io/_save_modules/_yaml.py +68 -0
  790. scitex/io/_save_modules/_zarr.py +206 -0
  791. scitex/io/bundle/README.md +221 -0
  792. scitex/io/bundle/_Bundle.py +759 -0
  793. scitex/io/bundle/__init__.py +142 -0
  794. scitex/io/bundle/_children.py +208 -0
  795. scitex/io/bundle/_conversion/__init__.py +15 -0
  796. scitex/io/bundle/_conversion/_bundle2dict.py +44 -0
  797. scitex/io/bundle/_conversion/_dict2bundle.py +50 -0
  798. scitex/io/bundle/_core.py +651 -0
  799. scitex/io/bundle/_dataclasses/_Axes.py +57 -0
  800. scitex/io/bundle/_dataclasses/_BBox.py +54 -0
  801. scitex/io/bundle/_dataclasses/_ColumnDef.py +72 -0
  802. scitex/io/bundle/_dataclasses/_DataFormat.py +40 -0
  803. scitex/io/bundle/_dataclasses/_DataInfo.py +135 -0
  804. scitex/io/bundle/_dataclasses/_DataSource.py +44 -0
  805. scitex/io/bundle/_dataclasses/_SizeMM.py +38 -0
  806. scitex/io/bundle/_dataclasses/_Spec.py +325 -0
  807. scitex/io/bundle/_dataclasses/_SpecRefs.py +45 -0
  808. scitex/io/bundle/_dataclasses/__init__.py +35 -0
  809. scitex/io/bundle/_extractors/__init__.py +32 -0
  810. scitex/io/bundle/_extractors/_extract_bar.py +131 -0
  811. scitex/io/bundle/_extractors/_extract_line.py +71 -0
  812. scitex/io/bundle/_extractors/_extract_scatter.py +79 -0
  813. scitex/io/bundle/_loader.py +134 -0
  814. scitex/io/bundle/_manifest.py +99 -0
  815. scitex/io/bundle/_mpl_helpers.py +480 -0
  816. scitex/io/bundle/_nested.py +726 -0
  817. scitex/io/bundle/_saver.py +268 -0
  818. scitex/io/bundle/_storage.py +200 -0
  819. scitex/io/bundle/_types.py +99 -0
  820. scitex/io/bundle/_validation.py +436 -0
  821. scitex/io/bundle/_zip.py +477 -0
  822. scitex/io/bundle/kinds/__init__.py +45 -0
  823. scitex/io/bundle/kinds/_figure/__init__.py +19 -0
  824. scitex/io/bundle/kinds/_figure/_composite.py +345 -0
  825. scitex/io/bundle/kinds/_plot/__init__.py +25 -0
  826. scitex/io/bundle/kinds/_plot/_backend/__init__.py +53 -0
  827. scitex/io/bundle/kinds/_plot/_backend/_export.py +165 -0
  828. scitex/io/bundle/kinds/_plot/_backend/_parser.py +188 -0
  829. scitex/io/bundle/kinds/_plot/_backend/_render.py +538 -0
  830. scitex/io/bundle/kinds/_plot/_dataclasses/_ChannelEncoding.py +46 -0
  831. scitex/io/bundle/kinds/_plot/_dataclasses/_Encoding.py +82 -0
  832. scitex/io/bundle/kinds/_plot/_dataclasses/_Theme.py +441 -0
  833. scitex/io/bundle/kinds/_plot/_dataclasses/_TraceEncoding.py +52 -0
  834. scitex/io/bundle/kinds/_plot/_dataclasses/__init__.py +47 -0
  835. scitex/io/bundle/kinds/_plot/_models/_Annotations.py +115 -0
  836. scitex/io/bundle/kinds/_plot/_models/_Axes.py +152 -0
  837. scitex/io/bundle/kinds/_plot/_models/_Figure.py +138 -0
  838. scitex/io/bundle/kinds/_plot/_models/_Guides.py +104 -0
  839. scitex/io/bundle/kinds/_plot/_models/_Plot.py +123 -0
  840. scitex/io/bundle/kinds/_plot/_models/_Styles.py +245 -0
  841. scitex/io/bundle/kinds/_plot/_models/__init__.py +80 -0
  842. scitex/io/bundle/kinds/_plot/_models/_plot_types/__init__.py +156 -0
  843. scitex/io/bundle/kinds/_plot/_models/_plot_types/_bar.py +43 -0
  844. scitex/io/bundle/kinds/_plot/_models/_plot_types/_box.py +38 -0
  845. scitex/io/bundle/kinds/_plot/_models/_plot_types/_distribution.py +36 -0
  846. scitex/io/bundle/kinds/_plot/_models/_plot_types/_errorbar.py +60 -0
  847. scitex/io/bundle/kinds/_plot/_models/_plot_types/_histogram.py +30 -0
  848. scitex/io/bundle/kinds/_plot/_models/_plot_types/_image.py +61 -0
  849. scitex/io/bundle/kinds/_plot/_models/_plot_types/_line.py +57 -0
  850. scitex/io/bundle/kinds/_plot/_models/_plot_types/_scatter.py +30 -0
  851. scitex/io/bundle/kinds/_plot/_models/_plot_types/_seaborn.py +121 -0
  852. scitex/io/bundle/kinds/_plot/_models/_plot_types/_violin.py +36 -0
  853. scitex/io/bundle/kinds/_plot/_utils/__init__.py +129 -0
  854. scitex/io/bundle/kinds/_plot/_utils/_auto_layout.py +127 -0
  855. scitex/io/bundle/kinds/_plot/_utils/_calc_bounds.py +111 -0
  856. scitex/io/bundle/kinds/_plot/_utils/_const_sizes.py +48 -0
  857. scitex/io/bundle/kinds/_plot/_utils/_convert_coords.py +77 -0
  858. scitex/io/bundle/kinds/_plot/_utils/_get_template.py +178 -0
  859. scitex/io/bundle/kinds/_plot/_utils/_normalize.py +73 -0
  860. scitex/io/bundle/kinds/_plot/_utils/_plot_layout.py +397 -0
  861. scitex/io/bundle/kinds/_plot/_utils/_validate.py +197 -0
  862. scitex/io/bundle/kinds/_shape/__init__.py +141 -0
  863. scitex/io/bundle/kinds/_stats/__init__.py +56 -0
  864. scitex/io/bundle/kinds/_stats/_dataclasses/_Stats.py +423 -0
  865. scitex/io/bundle/kinds/_stats/_dataclasses/__init__.py +48 -0
  866. scitex/io/bundle/kinds/_table/__init__.py +72 -0
  867. scitex/io/bundle/kinds/_table/_latex/__init__.py +93 -0
  868. scitex/io/bundle/kinds/_table/_latex/_editor/__init__.py +11 -0
  869. scitex/io/bundle/kinds/_table/_latex/_editor/_app.py +725 -0
  870. scitex/io/bundle/kinds/_table/_latex/_export.py +279 -0
  871. scitex/io/bundle/kinds/_table/_latex/_figure_exporter.py +153 -0
  872. scitex/io/bundle/kinds/_table/_latex/_stats_formatter.py +274 -0
  873. scitex/io/bundle/kinds/_table/_latex/_table_exporter.py +362 -0
  874. scitex/io/bundle/kinds/_table/_latex/_utils.py +369 -0
  875. scitex/io/bundle/kinds/_table/_latex/_validator.py +445 -0
  876. scitex/io/bundle/kinds/_text/__init__.py +77 -0
  877. scitex/io/bundle/schemas/__init__.py +30 -0
  878. scitex/io/bundle/schemas/data_info.schema.json +75 -0
  879. scitex/io/bundle/schemas/encoding.schema.json +90 -0
  880. scitex/io/bundle/schemas/node.schema.json +145 -0
  881. scitex/io/bundle/schemas/render_manifest.schema.json +62 -0
  882. scitex/io/bundle/schemas/stats.schema.json +132 -0
  883. scitex/io/bundle/schemas/theme.schema.json +141 -0
  884. scitex/io/utils/__init__.py +21 -0
  885. scitex/io/utils/h5_to_zarr.py +636 -0
  886. scitex/linalg/__init__.py +17 -0
  887. scitex/linalg/_distance.py +63 -0
  888. scitex/linalg/_geometric_median.py +69 -0
  889. scitex/linalg/_misc.py +73 -0
  890. scitex/logging/README.md +374 -0
  891. scitex/logging/_Tee.py +195 -0
  892. scitex/logging/__init__.py +216 -0
  893. scitex/logging/_config.py +161 -0
  894. scitex/logging/_context.py +105 -0
  895. scitex/logging/_errors.py +508 -0
  896. scitex/logging/_formatters.py +158 -0
  897. scitex/logging/_handlers.py +63 -0
  898. scitex/logging/_levels.py +27 -0
  899. scitex/logging/_logger.py +261 -0
  900. scitex/logging/_print_capture.py +95 -0
  901. scitex/logging/_warnings.py +261 -0
  902. scitex/mcp_server.py +91 -0
  903. scitex/ml/__init__.py +30 -0
  904. scitex/msword/__init__.py +255 -0
  905. scitex/msword/profiles.py +357 -0
  906. scitex/msword/reader.py +753 -0
  907. scitex/msword/utils.py +289 -0
  908. scitex/msword/writer.py +362 -0
  909. scitex/nn/_AxiswiseDropout.py +27 -0
  910. scitex/nn/_BNet.py +130 -0
  911. scitex/nn/_BNet_Res.py +164 -0
  912. scitex/nn/_ChannelGainChanger.py +44 -0
  913. scitex/nn/_DropoutChannels.py +50 -0
  914. scitex/nn/_Filters.py +493 -0
  915. scitex/nn/_FreqGainChanger.py +110 -0
  916. scitex/nn/_GaussianFilter.py +48 -0
  917. scitex/nn/_Hilbert.py +111 -0
  918. scitex/nn/_MNet_1000.py +157 -0
  919. scitex/nn/_ModulationIndex.py +223 -0
  920. scitex/nn/_PAC.py +415 -0
  921. scitex/nn/_PSD.py +39 -0
  922. scitex/nn/_ResNet1D.py +120 -0
  923. scitex/nn/_SpatialAttention.py +25 -0
  924. scitex/nn/_Spectrogram.py +170 -0
  925. scitex/nn/_SwapChannels.py +50 -0
  926. scitex/nn/_TransposeLayer.py +19 -0
  927. scitex/nn/_Wavelet.py +183 -0
  928. scitex/nn/__init__.py +75 -0
  929. scitex/os/__init__.py +8 -0
  930. scitex/os/_mv.py +50 -0
  931. scitex/parallel/__init__.py +8 -0
  932. scitex/parallel/_run.py +152 -0
  933. scitex/path/README.md +77 -0
  934. scitex/path/__init__.py +51 -0
  935. scitex/path/_clean.py +58 -0
  936. scitex/path/_find.py +90 -0
  937. scitex/path/_get_module_path.py +53 -0
  938. scitex/path/_get_spath.py +13 -0
  939. scitex/path/_getsize.py +32 -0
  940. scitex/path/_increment_version.py +80 -0
  941. scitex/path/_mk_spath.py +48 -0
  942. scitex/path/_path.py +12 -0
  943. scitex/path/_split.py +35 -0
  944. scitex/path/_symlink.py +343 -0
  945. scitex/path/_this_path.py +33 -0
  946. scitex/path/_version.py +102 -0
  947. scitex/pd/__init__.py +46 -0
  948. scitex/pd/_find_indi.py +126 -0
  949. scitex/pd/_find_pval.py +113 -0
  950. scitex/pd/_force_df.py +154 -0
  951. scitex/pd/_from_xyz.py +71 -0
  952. scitex/pd/_get_unique.py +100 -0
  953. scitex/pd/_ignore_SettingWithCopyWarning.py +34 -0
  954. scitex/pd/_melt_cols.py +81 -0
  955. scitex/pd/_merge_columns.py +221 -0
  956. scitex/pd/_mv.py +63 -0
  957. scitex/pd/_replace.py +62 -0
  958. scitex/pd/_round.py +97 -0
  959. scitex/pd/_slice.py +63 -0
  960. scitex/pd/_sort.py +91 -0
  961. scitex/pd/_to_numeric.py +53 -0
  962. scitex/pd/_to_xy.py +58 -0
  963. scitex/pd/_to_xyz.py +110 -0
  964. scitex/plt/README.md +1675 -0
  965. scitex/plt/__init__.py +803 -0
  966. scitex/plt/_figrecipe.py +236 -0
  967. scitex/plt/_figrecipe_integration.py +121 -0
  968. scitex/plt/_mcp/__init__.py +4 -0
  969. scitex/plt/_mcp/_handlers_annotation.py +102 -0
  970. scitex/plt/_mcp/_handlers_figure.py +195 -0
  971. scitex/plt/_mcp/_handlers_plot.py +252 -0
  972. scitex/plt/_mcp/_handlers_style.py +219 -0
  973. scitex/plt/_mcp/handlers.py +74 -0
  974. scitex/plt/_mcp/tool_schemas.py +497 -0
  975. scitex/plt/_subplots/_AxesWrapper.py +197 -0
  976. scitex/plt/_subplots/_AxisWrapper.py +374 -0
  977. scitex/plt/_subplots/_AxisWrapperMixins/_AdjustmentMixin/__init__.py +36 -0
  978. scitex/plt/_subplots/_AxisWrapperMixins/_AdjustmentMixin/_labels.py +264 -0
  979. scitex/plt/_subplots/_AxisWrapperMixins/_AdjustmentMixin/_metadata.py +213 -0
  980. scitex/plt/_subplots/_AxisWrapperMixins/_AdjustmentMixin/_visual.py +128 -0
  981. scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin/__init__.py +60 -0
  982. scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin/_base.py +34 -0
  983. scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin/_scientific.py +593 -0
  984. scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin/_statistical.py +654 -0
  985. scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin/_stx_aliases.py +527 -0
  986. scitex/plt/_subplots/_AxisWrapperMixins/_RawMatplotlibMixin.py +321 -0
  987. scitex/plt/_subplots/_AxisWrapperMixins/_SeabornMixin/__init__.py +33 -0
  988. scitex/plt/_subplots/_AxisWrapperMixins/_SeabornMixin/_base.py +152 -0
  989. scitex/plt/_subplots/_AxisWrapperMixins/_SeabornMixin/_wrappers.py +600 -0
  990. scitex/plt/_subplots/_AxisWrapperMixins/_TrackingMixin.py +197 -0
  991. scitex/plt/_subplots/_AxisWrapperMixins/_UnitAwareMixin.py +440 -0
  992. scitex/plt/_subplots/_AxisWrapperMixins/__init__.py +91 -0
  993. scitex/plt/_subplots/_FigWrapper.py +475 -0
  994. scitex/plt/_subplots/_SubplotsWrapper.py +329 -0
  995. scitex/plt/_subplots/__init__.py +121 -0
  996. scitex/plt/_subplots/_export_as_csv.py +467 -0
  997. scitex/plt/_subplots/_export_as_csv_formatters/__init__.py +83 -0
  998. scitex/plt/_subplots/_export_as_csv_formatters/_format_annotate.py +72 -0
  999. scitex/plt/_subplots/_export_as_csv_formatters/_format_bar.py +138 -0
  1000. scitex/plt/_subplots/_export_as_csv_formatters/_format_barh.py +58 -0
  1001. scitex/plt/_subplots/_export_as_csv_formatters/_format_boxplot.py +74 -0
  1002. scitex/plt/_subplots/_export_as_csv_formatters/_format_contour.py +50 -0
  1003. scitex/plt/_subplots/_export_as_csv_formatters/_format_contourf.py +62 -0
  1004. scitex/plt/_subplots/_export_as_csv_formatters/_format_errorbar.py +88 -0
  1005. scitex/plt/_subplots/_export_as_csv_formatters/_format_eventplot.py +83 -0
  1006. scitex/plt/_subplots/_export_as_csv_formatters/_format_fill.py +46 -0
  1007. scitex/plt/_subplots/_export_as_csv_formatters/_format_fill_between.py +46 -0
  1008. scitex/plt/_subplots/_export_as_csv_formatters/_format_hexbin.py +51 -0
  1009. scitex/plt/_subplots/_export_as_csv_formatters/_format_hist.py +91 -0
  1010. scitex/plt/_subplots/_export_as_csv_formatters/_format_hist2d.py +51 -0
  1011. scitex/plt/_subplots/_export_as_csv_formatters/_format_imshow.py +85 -0
  1012. scitex/plt/_subplots/_export_as_csv_formatters/_format_imshow2d.py +48 -0
  1013. scitex/plt/_subplots/_export_as_csv_formatters/_format_matshow.py +50 -0
  1014. scitex/plt/_subplots/_export_as_csv_formatters/_format_pcolormesh.py +66 -0
  1015. scitex/plt/_subplots/_export_as_csv_formatters/_format_pie.py +51 -0
  1016. scitex/plt/_subplots/_export_as_csv_formatters/_format_plot.py +222 -0
  1017. scitex/plt/_subplots/_export_as_csv_formatters/_format_plot_box.py +98 -0
  1018. scitex/plt/_subplots/_export_as_csv_formatters/_format_plot_imshow.py +53 -0
  1019. scitex/plt/_subplots/_export_as_csv_formatters/_format_plot_kde.py +59 -0
  1020. scitex/plt/_subplots/_export_as_csv_formatters/_format_plot_scatter.py +44 -0
  1021. scitex/plt/_subplots/_export_as_csv_formatters/_format_quiver.py +61 -0
  1022. scitex/plt/_subplots/_export_as_csv_formatters/_format_scatter.py +43 -0
  1023. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_barplot.py +66 -0
  1024. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_boxplot.py +112 -0
  1025. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_heatmap.py +80 -0
  1026. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_histplot.py +95 -0
  1027. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_jointplot.py +76 -0
  1028. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_kdeplot.py +91 -0
  1029. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_lineplot.py +64 -0
  1030. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_pairplot.py +57 -0
  1031. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_scatterplot.py +72 -0
  1032. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_stripplot.py +80 -0
  1033. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_swarmplot.py +80 -0
  1034. scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_violinplot.py +134 -0
  1035. scitex/plt/_subplots/_export_as_csv_formatters/_format_stackplot.py +62 -0
  1036. scitex/plt/_subplots/_export_as_csv_formatters/_format_stem.py +51 -0
  1037. scitex/plt/_subplots/_export_as_csv_formatters/_format_step.py +51 -0
  1038. scitex/plt/_subplots/_export_as_csv_formatters/_format_streamplot.py +56 -0
  1039. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_bar.py +84 -0
  1040. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_barh.py +85 -0
  1041. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_conf_mat.py +75 -0
  1042. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_contour.py +54 -0
  1043. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_ecdf.py +55 -0
  1044. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_errorbar.py +120 -0
  1045. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_fillv.py +72 -0
  1046. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_heatmap.py +74 -0
  1047. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_image.py +109 -0
  1048. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_imshow.py +63 -0
  1049. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_joyplot.py +84 -0
  1050. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_line.py +55 -0
  1051. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_mean_ci.py +50 -0
  1052. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_mean_std.py +50 -0
  1053. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_median_iqr.py +50 -0
  1054. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_raster.py +52 -0
  1055. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_rectangle.py +129 -0
  1056. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_scatter.py +51 -0
  1057. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_scatter_hist.py +92 -0
  1058. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_shaded_line.py +72 -0
  1059. scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_violin.py +115 -0
  1060. scitex/plt/_subplots/_export_as_csv_formatters/_format_text.py +61 -0
  1061. scitex/plt/_subplots/_export_as_csv_formatters/_format_violin.py +65 -0
  1062. scitex/plt/_subplots/_export_as_csv_formatters/_format_violinplot.py +82 -0
  1063. scitex/plt/_subplots/_export_as_csv_formatters/test_formatters.py +208 -0
  1064. scitex/plt/_subplots/_export_as_csv_formatters/verify_formatters.py +359 -0
  1065. scitex/plt/_subplots/_fonts.py +71 -0
  1066. scitex/plt/_subplots/_mm_layout.py +282 -0
  1067. scitex/plt/_tpl.py +29 -0
  1068. scitex/plt/ax/__init__.py +123 -0
  1069. scitex/plt/ax/_plot/__init__.py +79 -0
  1070. scitex/plt/ax/_plot/_add_fitted_line.py +152 -0
  1071. scitex/plt/ax/_plot/_plot_circular_hist.py +126 -0
  1072. scitex/plt/ax/_plot/_plot_cube.py +57 -0
  1073. scitex/plt/ax/_plot/_plot_statistical_shaded_line.py +255 -0
  1074. scitex/plt/ax/_plot/_stx_conf_mat.py +139 -0
  1075. scitex/plt/ax/_plot/_stx_ecdf.py +113 -0
  1076. scitex/plt/ax/_plot/_stx_fillv.py +57 -0
  1077. scitex/plt/ax/_plot/_stx_heatmap.py +369 -0
  1078. scitex/plt/ax/_plot/_stx_image.py +96 -0
  1079. scitex/plt/ax/_plot/_stx_joyplot.py +135 -0
  1080. scitex/plt/ax/_plot/_stx_raster.py +199 -0
  1081. scitex/plt/ax/_plot/_stx_rectangle.py +70 -0
  1082. scitex/plt/ax/_plot/_stx_scatter_hist.py +133 -0
  1083. scitex/plt/ax/_plot/_stx_shaded_line.py +219 -0
  1084. scitex/plt/ax/_plot/_stx_violin.py +352 -0
  1085. scitex/plt/ax/_style/__init__.py +42 -0
  1086. scitex/plt/ax/_style/_add_marginal_ax.py +46 -0
  1087. scitex/plt/ax/_style/_add_panel.py +92 -0
  1088. scitex/plt/ax/_style/_auto_scale_axis.py +199 -0
  1089. scitex/plt/ax/_style/_extend.py +66 -0
  1090. scitex/plt/ax/_style/_force_aspect.py +39 -0
  1091. scitex/plt/ax/_style/_format_label.py +23 -0
  1092. scitex/plt/ax/_style/_format_units.py +103 -0
  1093. scitex/plt/ax/_style/_hide_spines.py +86 -0
  1094. scitex/plt/ax/_style/_map_ticks.py +184 -0
  1095. scitex/plt/ax/_style/_rotate_labels.py +320 -0
  1096. scitex/plt/ax/_style/_rotate_labels_v01.py +258 -0
  1097. scitex/plt/ax/_style/_sci_note.py +279 -0
  1098. scitex/plt/ax/_style/_set_log_scale.py +334 -0
  1099. scitex/plt/ax/_style/_set_meta.py +291 -0
  1100. scitex/plt/ax/_style/_set_n_ticks.py +37 -0
  1101. scitex/plt/ax/_style/_set_size.py +16 -0
  1102. scitex/plt/ax/_style/_set_supxyt.py +133 -0
  1103. scitex/plt/ax/_style/_set_ticks.py +276 -0
  1104. scitex/plt/ax/_style/_set_xyt.py +130 -0
  1105. scitex/plt/ax/_style/_share_axes.py +274 -0
  1106. scitex/plt/ax/_style/_shift.py +139 -0
  1107. scitex/plt/ax/_style/_show_spines.py +334 -0
  1108. scitex/plt/ax/_style/_style_barplot.py +69 -0
  1109. scitex/plt/ax/_style/_style_boxplot.py +155 -0
  1110. scitex/plt/ax/_style/_style_errorbar.py +82 -0
  1111. scitex/plt/ax/_style/_style_scatter.py +82 -0
  1112. scitex/plt/ax/_style/_style_suptitles.py +76 -0
  1113. scitex/plt/ax/_style/_style_violinplot.py +115 -0
  1114. scitex/plt/color/_PARAMS.py +70 -0
  1115. scitex/plt/color/__init__.py +84 -0
  1116. scitex/plt/color/_add_hue_col.py +42 -0
  1117. scitex/plt/color/_colors.py +204 -0
  1118. scitex/plt/color/_get_colors_from_conf_matap.py +136 -0
  1119. scitex/plt/color/_interpolate.py +29 -0
  1120. scitex/plt/color/_vizualize_colors.py +53 -0
  1121. scitex/plt/docs/FIGURE_ARCHITECTURE.md +315 -0
  1122. scitex/plt/gallery/README.md +75 -0
  1123. scitex/plt/gallery/__init__.py +126 -0
  1124. scitex/plt/gallery/_generate.py +586 -0
  1125. scitex/plt/gallery/_plots.py +594 -0
  1126. scitex/plt/gallery/_registry.py +153 -0
  1127. scitex/plt/gallery.md +170 -0
  1128. scitex/plt/io/__init__.py +51 -0
  1129. scitex/plt/io/_bundle.py +537 -0
  1130. scitex/plt/io/_layered_bundle.py +1478 -0
  1131. scitex/plt/mcp_server.py +231 -0
  1132. scitex/plt/styles/SCITEX_STYLE.yaml +130 -0
  1133. scitex/plt/styles/__init__.py +71 -0
  1134. scitex/plt/styles/_plot_defaults.py +210 -0
  1135. scitex/plt/styles/_plot_postprocess.py +487 -0
  1136. scitex/plt/styles/_postprocess_helpers.py +158 -0
  1137. scitex/plt/styles/_style_loader.py +268 -0
  1138. scitex/plt/styles/presets.py +311 -0
  1139. scitex/plt/utils/__init__.py +114 -0
  1140. scitex/plt/utils/_calc_bacc_from_conf_mat.py +46 -0
  1141. scitex/plt/utils/_calc_nice_ticks.py +101 -0
  1142. scitex/plt/utils/_close.py +73 -0
  1143. scitex/plt/utils/_collect_figure_metadata.py +3384 -0
  1144. scitex/plt/utils/_colorbar.py +156 -0
  1145. scitex/plt/utils/_configure_mpl.py +427 -0
  1146. scitex/plt/utils/_crop.py +297 -0
  1147. scitex/plt/utils/_csv_column_naming.py +474 -0
  1148. scitex/plt/utils/_dimension_viewer.py +425 -0
  1149. scitex/plt/utils/_figure_from_axes_mm.py +407 -0
  1150. scitex/plt/utils/_figure_mm.py +472 -0
  1151. scitex/plt/utils/_get_actual_font.py +57 -0
  1152. scitex/plt/utils/_histogram_utils.py +134 -0
  1153. scitex/plt/utils/_hitmap.py +1643 -0
  1154. scitex/plt/utils/_im2grid.py +70 -0
  1155. scitex/plt/utils/_is_valid_axis.py +82 -0
  1156. scitex/plt/utils/_mk_colorbar.py +65 -0
  1157. scitex/plt/utils/_mk_patches.py +26 -0
  1158. scitex/plt/utils/_scientific_captions.py +701 -0
  1159. scitex/plt/utils/_scitex_config.py +224 -0
  1160. scitex/plt/utils/_units.py +123 -0
  1161. scitex/plt/utils/metadata/__init__.py +61 -0
  1162. scitex/plt/utils/metadata/_artist_extraction.py +119 -0
  1163. scitex/plt/utils/metadata/_axes_metadata.py +93 -0
  1164. scitex/plt/utils/metadata/_collection_artists.py +292 -0
  1165. scitex/plt/utils/metadata/_core.py +207 -0
  1166. scitex/plt/utils/metadata/_csv_column_extraction.py +186 -0
  1167. scitex/plt/utils/metadata/_csv_hash.py +115 -0
  1168. scitex/plt/utils/metadata/_csv_verification.py +95 -0
  1169. scitex/plt/utils/metadata/_data_linkage.py +263 -0
  1170. scitex/plt/utils/metadata/_dimensions.py +242 -0
  1171. scitex/plt/utils/metadata/_editable_export.py +405 -0
  1172. scitex/plt/utils/metadata/_figure_metadata.py +58 -0
  1173. scitex/plt/utils/metadata/_geometry_extraction.py +570 -0
  1174. scitex/plt/utils/metadata/_image_text_artists.py +168 -0
  1175. scitex/plt/utils/metadata/_label_parsing.py +82 -0
  1176. scitex/plt/utils/metadata/_legend_extraction.py +120 -0
  1177. scitex/plt/utils/metadata/_line_artists.py +367 -0
  1178. scitex/plt/utils/metadata/_line_semantic_handling.py +173 -0
  1179. scitex/plt/utils/metadata/_patch_artists.py +211 -0
  1180. scitex/plt/utils/metadata/_plot_content.py +26 -0
  1181. scitex/plt/utils/metadata/_plot_type_detection.py +184 -0
  1182. scitex/plt/utils/metadata/_precision.py +134 -0
  1183. scitex/plt/utils/metadata/_precision_config.py +68 -0
  1184. scitex/plt/utils/metadata/_precision_sections.py +211 -0
  1185. scitex/plt/utils/metadata/_recipe_extraction.py +267 -0
  1186. scitex/plt/utils/metadata/_style_parsing.py +174 -0
  1187. scitex/repro/README_RandomStateManager.md +211 -0
  1188. scitex/repro/_RandomStateManager.py +684 -0
  1189. scitex/repro/__init__.py +66 -0
  1190. scitex/repro/_gen_ID.py +137 -0
  1191. scitex/repro/_gen_timestamp.py +114 -0
  1192. scitex/repro/_hash_array.py +139 -0
  1193. scitex/reproduce/__init__.py +26 -0
  1194. scitex/resource/README.md +81 -0
  1195. scitex/resource/__init__.py +31 -0
  1196. scitex/resource/_get_processor_usages.py +283 -0
  1197. scitex/resource/_get_specs/info.yaml +122 -0
  1198. scitex/resource/_get_specs/specs.yaml +129 -0
  1199. scitex/resource/_get_specs.py +280 -0
  1200. scitex/resource/_log_processor_usages.py +192 -0
  1201. scitex/resource/_utils/__init__.py +31 -0
  1202. scitex/resource/_utils/_get_env_info.py +469 -0
  1203. scitex/resource/limit_ram.py +33 -0
  1204. scitex/rng/__init__.py +32 -0
  1205. scitex/schema/README.md +178 -0
  1206. scitex/schema/__init__.py +222 -0
  1207. scitex/schema/_canvas.py +444 -0
  1208. scitex/schema/_encoding.py +273 -0
  1209. scitex/schema/_figure_elements.py +406 -0
  1210. scitex/schema/_plot.py +1015 -0
  1211. scitex/schema/_stats.py +762 -0
  1212. scitex/schema/_theme.py +360 -0
  1213. scitex/schema/_validation.py +492 -0
  1214. scitex/scholar/.gitignore +23 -0
  1215. scitex/scholar/README.md +122 -0
  1216. scitex/scholar/__init__.py +354 -0
  1217. scitex/scholar/__main__.py +339 -0
  1218. scitex/scholar/_mcp/__init__.py +4 -0
  1219. scitex/scholar/_mcp/all_handlers.py +74 -0
  1220. scitex/scholar/_mcp/handlers.py +1478 -0
  1221. scitex/scholar/_mcp/job_handlers.py +172 -0
  1222. scitex/scholar/_mcp/job_tool_schemas.py +166 -0
  1223. scitex/scholar/_mcp/tool_schemas.py +505 -0
  1224. scitex/scholar/auth/README.md +83 -0
  1225. scitex/scholar/auth/ScholarAuthManager.py +285 -0
  1226. scitex/scholar/auth/__init__.py +21 -0
  1227. scitex/scholar/auth/core/AuthenticationGateway.py +459 -0
  1228. scitex/scholar/auth/core/BrowserAuthenticator.py +468 -0
  1229. scitex/scholar/auth/core/StrategyResolver.py +292 -0
  1230. scitex/scholar/auth/core/__init__.py +20 -0
  1231. scitex/scholar/auth/gateway/_OpenURLLinkFinder.py +110 -0
  1232. scitex/scholar/auth/gateway/_OpenURLResolver.py +201 -0
  1233. scitex/scholar/auth/gateway/__init__.py +38 -0
  1234. scitex/scholar/auth/gateway/_resolve_functions.py +101 -0
  1235. scitex/scholar/auth/providers/BaseAuthenticator.py +167 -0
  1236. scitex/scholar/auth/providers/EZProxyAuthenticator.py +477 -0
  1237. scitex/scholar/auth/providers/OpenAthensAuthenticator.py +436 -0
  1238. scitex/scholar/auth/providers/ShibbolethAuthenticator.py +700 -0
  1239. scitex/scholar/auth/providers/__init__.py +18 -0
  1240. scitex/scholar/auth/providers/_notifications.py +417 -0
  1241. scitex/scholar/auth/session/AuthCacheManager.py +186 -0
  1242. scitex/scholar/auth/session/SessionManager.py +157 -0
  1243. scitex/scholar/auth/session/__init__.py +11 -0
  1244. scitex/scholar/auth/sso/BaseSSOAutomator.py +386 -0
  1245. scitex/scholar/auth/sso/OpenAthensSSOAutomator.py +349 -0
  1246. scitex/scholar/auth/sso/README.md +204 -0
  1247. scitex/scholar/auth/sso/SSOAutomator.py +173 -0
  1248. scitex/scholar/auth/sso/UniversityOfMelbourneSSOAutomator.py +363 -0
  1249. scitex/scholar/auth/sso/__init__.py +15 -0
  1250. scitex/scholar/browser/README.md +60 -0
  1251. scitex/scholar/browser/ScholarBrowserManager.py +680 -0
  1252. scitex/scholar/browser/__init__.py +39 -0
  1253. scitex/scholar/browser/utils/README.md +96 -0
  1254. scitex/scholar/browser/utils/__init__.py +13 -0
  1255. scitex/scholar/browser/utils/click_and_wait.py +204 -0
  1256. scitex/scholar/browser/utils/close_unwanted_pages.py +137 -0
  1257. scitex/scholar/browser/utils/wait_redirects.py +707 -0
  1258. scitex/scholar/citation_graph/README.md +117 -0
  1259. scitex/scholar/citation_graph/__init__.py +28 -0
  1260. scitex/scholar/citation_graph/builder.py +210 -0
  1261. scitex/scholar/citation_graph/database.py +239 -0
  1262. scitex/scholar/citation_graph/example.py +91 -0
  1263. scitex/scholar/citation_graph/models.py +80 -0
  1264. scitex/scholar/cli/README.md +368 -0
  1265. scitex/scholar/cli/_CentralArgumentParser.py +137 -0
  1266. scitex/scholar/cli/_argument_groups.py +222 -0
  1267. scitex/scholar/cli/_doi_operations.py +56 -0
  1268. scitex/scholar/cli/_url_utils.py +219 -0
  1269. scitex/scholar/cli/chrome.py +101 -0
  1270. scitex/scholar/cli/download_pdf.py +236 -0
  1271. scitex/scholar/cli/handlers/__init__.py +23 -0
  1272. scitex/scholar/cli/handlers/bibtex_handler.py +165 -0
  1273. scitex/scholar/cli/handlers/doi_handler.py +63 -0
  1274. scitex/scholar/cli/handlers/project_handler.py +261 -0
  1275. scitex/scholar/cli/open_browser.py +297 -0
  1276. scitex/scholar/cli/open_browser_auto.py +368 -0
  1277. scitex/scholar/cli/open_browser_monitored.py +407 -0
  1278. scitex/scholar/config/PublisherRules.py +132 -0
  1279. scitex/scholar/config/README.md +31 -0
  1280. scitex/scholar/config/ScholarConfig.py +143 -0
  1281. scitex/scholar/config/__init__.py +18 -0
  1282. scitex/scholar/config/_categories/README.md +149 -0
  1283. scitex/scholar/config/_categories/api_keys.yaml +19 -0
  1284. scitex/scholar/config/_categories/auth_gateway.yaml +149 -0
  1285. scitex/scholar/config/_categories/authentication.yaml +24 -0
  1286. scitex/scholar/config/_categories/browser.yaml +24 -0
  1287. scitex/scholar/config/_categories/core.yaml +24 -0
  1288. scitex/scholar/config/_categories/doi_publishers.yaml +53 -0
  1289. scitex/scholar/config/_categories/notifications.yaml +11 -0
  1290. scitex/scholar/config/_categories/pdf_download.yaml +15 -0
  1291. scitex/scholar/config/_categories/publishers_pdf_rules.yaml +184 -0
  1292. scitex/scholar/config/_categories/search_engines.yaml +22 -0
  1293. scitex/scholar/config/_categories/url_finder_openurl.yaml +87 -0
  1294. scitex/scholar/config/_categories/url_finder_selectors.yaml +147 -0
  1295. scitex/scholar/config/core/_CascadeConfig.py +156 -0
  1296. scitex/scholar/config/core/_PathManager.py +535 -0
  1297. scitex/scholar/config/default.yaml +727 -0
  1298. scitex/scholar/core/Paper.py +708 -0
  1299. scitex/scholar/core/Papers.py +711 -0
  1300. scitex/scholar/core/README.md +109 -0
  1301. scitex/scholar/core/Scholar.py +1857 -0
  1302. scitex/scholar/core/__init__.py +53 -0
  1303. scitex/scholar/core/journal_normalizer.py +538 -0
  1304. scitex/scholar/core/oa_cache.py +289 -0
  1305. scitex/scholar/core/open_access.py +466 -0
  1306. scitex/scholar/data/.gitkeep +0 -0
  1307. scitex/scholar/data/README.md +44 -0
  1308. scitex/scholar/data/bib_files/bibliography.bib +1952 -0
  1309. scitex/scholar/data/bib_files/neurovista.bib +277 -0
  1310. scitex/scholar/data/bib_files/neurovista_enriched.bib +441 -0
  1311. scitex/scholar/data/bib_files/neurovista_enriched_enriched.bib +441 -0
  1312. scitex/scholar/data/bib_files/neurovista_processed.bib +338 -0
  1313. scitex/scholar/data/bib_files/openaccess.bib +89 -0
  1314. scitex/scholar/data/bib_files/pac-seizure_prediction_enriched.bib +2178 -0
  1315. scitex/scholar/data/bib_files/pac.bib +698 -0
  1316. scitex/scholar/data/bib_files/pac_enriched.bib +1061 -0
  1317. scitex/scholar/data/bib_files/pac_processed.bib +0 -0
  1318. scitex/scholar/data/bib_files/pac_titles.txt +75 -0
  1319. scitex/scholar/data/bib_files/paywalled.bib +98 -0
  1320. scitex/scholar/data/bib_files/related-papers-by-coauthors.bib +58 -0
  1321. scitex/scholar/data/bib_files/related-papers-by-coauthors_enriched.bib +87 -0
  1322. scitex/scholar/data/bib_files/seizure_prediction.bib +694 -0
  1323. scitex/scholar/data/bib_files/seizure_prediction_processed.bib +0 -0
  1324. scitex/scholar/data/bib_files/test_complete_enriched.bib +437 -0
  1325. scitex/scholar/data/bib_files/test_final_enriched.bib +437 -0
  1326. scitex/scholar/data/bib_files/test_seizure.bib +46 -0
  1327. scitex/scholar/data/impact_factor/JCR_IF_2022.xlsx +0 -0
  1328. scitex/scholar/data/impact_factor/JCR_IF_2024.db +0 -0
  1329. scitex/scholar/data/impact_factor/JCR_IF_2024.xlsx +0 -0
  1330. scitex/scholar/data/impact_factor/JCR_IF_2024_v01.db +0 -0
  1331. scitex/scholar/data/impact_factor.db +0 -0
  1332. scitex/scholar/docs/00_SUMMARY.md +127 -0
  1333. scitex/scholar/docs/01_STORAGE_ARCHITECTURE.md +118 -0
  1334. scitex/scholar/docs/02_PIPELINE_ORGANIZATION.md +251 -0
  1335. scitex/scholar/docs/03_PIPELINE_IMPLEMENTATION_PLAN.md +425 -0
  1336. scitex/scholar/docs/04_PIPELINE_IMPLEMENTATION_COMPLETE.md +324 -0
  1337. scitex/scholar/docs/05_DETAILS_FOR_DEVELOPERS.md +464 -0
  1338. scitex/scholar/docs/06_IMPACT_FACTOR_CITATION_INTEGRATION.md +295 -0
  1339. scitex/scholar/docs/bibfile.bib +66 -0
  1340. scitex/scholar/docs/from_agents/OPENATHENS_SECURITY.md +101 -0
  1341. scitex/scholar/docs/from_agents/feature-requests/scholar-openathens-authentication.md +107 -0
  1342. scitex/scholar/docs/from_agents/scholar_enhancements_summary.md +66 -0
  1343. scitex/scholar/docs/from_user/crawl4ai.md +15 -0
  1344. scitex/scholar/docs/from_user/medium_article_on_logined_page_for_zenrows_1.md +363 -0
  1345. scitex/scholar/docs/from_user/medium_article_on_logined_page_for_zenrows_2.md +1496 -0
  1346. scitex/scholar/docs/from_user/papers.bib +698 -0
  1347. scitex/scholar/docs/from_user/renamed-async_functions.md +970 -0
  1348. scitex/scholar/docs/from_user/suggestions.md +97 -0
  1349. scitex/scholar/docs/sample_data/PAYWALLED.json +84 -0
  1350. scitex/scholar/docs/sample_data/openaccess.json +74 -0
  1351. scitex/scholar/docs/sample_data/papers-enriched.bib +675 -0
  1352. scitex/scholar/docs/sample_data/papers-partial-enriched.bib +601 -0
  1353. scitex/scholar/docs/sample_data/test_papers.bib +18 -0
  1354. scitex/scholar/docs/template.py +123 -0
  1355. scitex/scholar/docs/zenrows_official/FAQ.md +434 -0
  1356. scitex/scholar/docs/zenrows_official/captcha_integration.md +698 -0
  1357. scitex/scholar/docs/zenrows_official/final_url.md +204 -0
  1358. scitex/scholar/docs/zenrows_official/with_playwright.md +336 -0
  1359. scitex/scholar/examples/00_config.py +270 -0
  1360. scitex/scholar/examples/01_auth.py +165 -0
  1361. scitex/scholar/examples/02_browser.py +169 -0
  1362. scitex/scholar/examples/03_01-engine.py +486 -0
  1363. scitex/scholar/examples/03_02-engine-for-bibtex.py +166 -0
  1364. scitex/scholar/examples/04_01-url.py +218 -0
  1365. scitex/scholar/examples/04_02-url-for-bibtex.py +283 -0
  1366. scitex/scholar/examples/04_02-url-for-dois.py +305 -0
  1367. scitex/scholar/examples/05_download_pdf.py +225 -0
  1368. scitex/scholar/examples/06_find_and_download.py +217 -0
  1369. scitex/scholar/examples/06_parse_bibtex.py +256 -0
  1370. scitex/scholar/examples/07_storage_integration.py +253 -0
  1371. scitex/scholar/examples/99_fullpipeline-for-bibtex.py +349 -0
  1372. scitex/scholar/examples/99_fullpipeline-for-one-entry.py +293 -0
  1373. scitex/scholar/examples/99_maintenance.py +134 -0
  1374. scitex/scholar/examples/README.md +18 -0
  1375. scitex/scholar/examples/SUGGESTIONS.md +865 -0
  1376. scitex/scholar/examples/dev.py +38 -0
  1377. scitex/scholar/examples/zotero_integration.py +246 -0
  1378. scitex/scholar/impact_factor/ImpactFactorEngine.py +202 -0
  1379. scitex/scholar/impact_factor/README.md +135 -0
  1380. scitex/scholar/impact_factor/__init__.py +20 -0
  1381. scitex/scholar/impact_factor/estimation/ImpactFactorEstimationEngine.py +0 -0
  1382. scitex/scholar/impact_factor/estimation/README.md +351 -0
  1383. scitex/scholar/impact_factor/estimation/__init__.py +39 -0
  1384. scitex/scholar/impact_factor/estimation/build_database.py +0 -0
  1385. scitex/scholar/impact_factor/estimation/core/__init__.py +24 -0
  1386. scitex/scholar/impact_factor/estimation/core/cache_manager.py +535 -0
  1387. scitex/scholar/impact_factor/estimation/core/calculator.py +389 -0
  1388. scitex/scholar/impact_factor/estimation/core/journal_matcher.py +473 -0
  1389. scitex/scholar/impact_factor/jcr/ImpactFactorJCREngine.py +323 -0
  1390. scitex/scholar/impact_factor/jcr/README.md +84 -0
  1391. scitex/scholar/impact_factor/jcr/TODO.md +28 -0
  1392. scitex/scholar/impact_factor/jcr/build_database.py +268 -0
  1393. scitex/scholar/integration/MIGRATION.md +138 -0
  1394. scitex/scholar/integration/README.md +464 -0
  1395. scitex/scholar/integration/__init__.py +59 -0
  1396. scitex/scholar/integration/base.py +494 -0
  1397. scitex/scholar/integration/mendeley/__init__.py +22 -0
  1398. scitex/scholar/integration/mendeley/exporter.py +164 -0
  1399. scitex/scholar/integration/mendeley/importer.py +236 -0
  1400. scitex/scholar/integration/mendeley/linker.py +79 -0
  1401. scitex/scholar/integration/mendeley/mapper.py +215 -0
  1402. scitex/scholar/integration/zotero/README.md +336 -0
  1403. scitex/scholar/integration/zotero/__init__.py +27 -0
  1404. scitex/scholar/integration/zotero/__main__.py +247 -0
  1405. scitex/scholar/integration/zotero/exporter.py +355 -0
  1406. scitex/scholar/integration/zotero/importer.py +374 -0
  1407. scitex/scholar/integration/zotero/linker.py +411 -0
  1408. scitex/scholar/integration/zotero/mapper.py +291 -0
  1409. scitex/scholar/jobs/_Job.py +266 -0
  1410. scitex/scholar/jobs/_JobManager.py +458 -0
  1411. scitex/scholar/jobs/__init__.py +74 -0
  1412. scitex/scholar/jobs/_errors.py +346 -0
  1413. scitex/scholar/jobs/_executors.py +373 -0
  1414. scitex/scholar/mcp_server.py +365 -0
  1415. scitex/scholar/metadata_engines/.combined-SemanticScholarSource/_SemanticScholarSource.py +289 -0
  1416. scitex/scholar/metadata_engines/.combined-SemanticScholarSource/_SemanticScholarSourceEnhanced.py +229 -0
  1417. scitex/scholar/metadata_engines/README.md +42 -0
  1418. scitex/scholar/metadata_engines/ScholarEngine.py +574 -0
  1419. scitex/scholar/metadata_engines/__init__.py +28 -0
  1420. scitex/scholar/metadata_engines/individual/ArXivEngine.py +378 -0
  1421. scitex/scholar/metadata_engines/individual/CrossRefEngine.py +264 -0
  1422. scitex/scholar/metadata_engines/individual/CrossRefLocalEngine.py +303 -0
  1423. scitex/scholar/metadata_engines/individual/OpenAlexEngine.py +340 -0
  1424. scitex/scholar/metadata_engines/individual/PubMedEngine.py +312 -0
  1425. scitex/scholar/metadata_engines/individual/SemanticScholarEngine.py +431 -0
  1426. scitex/scholar/metadata_engines/individual/URLDOIEngine.py +399 -0
  1427. scitex/scholar/metadata_engines/individual/_BaseDOIEngine.py +458 -0
  1428. scitex/scholar/metadata_engines/individual/__init__.py +7 -0
  1429. scitex/scholar/metadata_engines/utils/_PubMedConverter.py +465 -0
  1430. scitex/scholar/metadata_engines/utils/_URLDOIExtractor.py +296 -0
  1431. scitex/scholar/metadata_engines/utils/__init__.py +32 -0
  1432. scitex/scholar/metadata_engines/utils/_metadata2bibtex.py +106 -0
  1433. scitex/scholar/metadata_engines/utils/_standardize_metadata.py +375 -0
  1434. scitex/scholar/pdf_download/README.md +51 -0
  1435. scitex/scholar/pdf_download/ScholarPDFDownloader.py +704 -0
  1436. scitex/scholar/pdf_download/__init__.py +5 -0
  1437. scitex/scholar/pdf_download/strategies/__init__.py +44 -0
  1438. scitex/scholar/pdf_download/strategies/chrome_pdf_viewer.py +368 -0
  1439. scitex/scholar/pdf_download/strategies/direct_download.py +127 -0
  1440. scitex/scholar/pdf_download/strategies/manual_download_fallback.py +167 -0
  1441. scitex/scholar/pdf_download/strategies/manual_download_utils.py +989 -0
  1442. scitex/scholar/pdf_download/strategies/open_access_download.py +204 -0
  1443. scitex/scholar/pdf_download/strategies/response_body.py +196 -0
  1444. scitex/scholar/pipelines/README.md +172 -0
  1445. scitex/scholar/pipelines/ScholarPipelineBibTeX.py +355 -0
  1446. scitex/scholar/pipelines/ScholarPipelineMetadataParallel.py +269 -0
  1447. scitex/scholar/pipelines/ScholarPipelineMetadataSingle.py +403 -0
  1448. scitex/scholar/pipelines/ScholarPipelineParallel.py +462 -0
  1449. scitex/scholar/pipelines/ScholarPipelineSearchParallel.py +873 -0
  1450. scitex/scholar/pipelines/ScholarPipelineSearchSingle.py +553 -0
  1451. scitex/scholar/pipelines/ScholarPipelineSingle.py +188 -0
  1452. scitex/scholar/pipelines/SearchQueryParser.py +270 -0
  1453. scitex/scholar/pipelines/__init__.py +55 -0
  1454. scitex/scholar/pipelines/_single_steps.py +430 -0
  1455. scitex/scholar/search_engines/ScholarSearchEngine.py +278 -0
  1456. scitex/scholar/search_engines/_BaseSearchEngine.py +180 -0
  1457. scitex/scholar/search_engines/__init__.py +0 -0
  1458. scitex/scholar/search_engines/individual/ArXivSearchEngine.py +194 -0
  1459. scitex/scholar/search_engines/individual/CrossRefSearchEngine.py +159 -0
  1460. scitex/scholar/search_engines/individual/OpenAlexSearchEngine.py +177 -0
  1461. scitex/scholar/search_engines/individual/PubMedSearchEngine.py +186 -0
  1462. scitex/scholar/search_engines/individual/SemanticScholarSearchEngine.py +158 -0
  1463. scitex/scholar/search_engines/individual/__init__.py +0 -0
  1464. scitex/scholar/storage/BibTeXHandler.py +1151 -0
  1465. scitex/scholar/storage/PaperIO.py +500 -0
  1466. scitex/scholar/storage/ScholarLibrary.py +203 -0
  1467. scitex/scholar/storage/_BibTeXValidator.py +571 -0
  1468. scitex/scholar/storage/_DeduplicationManager.py +575 -0
  1469. scitex/scholar/storage/_LibraryCacheManager.py +697 -0
  1470. scitex/scholar/storage/_LibraryManager.py +1725 -0
  1471. scitex/scholar/storage/__init__.py +42 -0
  1472. scitex/scholar/url_finder/README.md +74 -0
  1473. scitex/scholar/url_finder/ScholarURLFinder.py +364 -0
  1474. scitex/scholar/url_finder/__init__.py +7 -0
  1475. scitex/scholar/url_finder/docs/CORE_URL_TYPES.md +187 -0
  1476. scitex/scholar/url_finder/docs/URL_SCHEMA.md +223 -0
  1477. scitex/scholar/url_finder/strategies/__init__.py +33 -0
  1478. scitex/scholar/url_finder/strategies/find_pdf_urls_by_direct_links.py +261 -0
  1479. scitex/scholar/url_finder/strategies/find_pdf_urls_by_dropdown.py +67 -0
  1480. scitex/scholar/url_finder/strategies/find_pdf_urls_by_href.py +200 -0
  1481. scitex/scholar/url_finder/strategies/find_pdf_urls_by_navigation.py +254 -0
  1482. scitex/scholar/url_finder/strategies/find_pdf_urls_by_publisher_patterns.py +158 -0
  1483. scitex/scholar/url_finder/strategies/find_pdf_urls_by_zotero_translators.py +164 -0
  1484. scitex/scholar/url_finder/strategies/find_supplementary_urls_by_href.py +70 -0
  1485. scitex/scholar/url_finder/translators/__init__.py +31 -0
  1486. scitex/scholar/url_finder/translators/core/__init__.py +6 -0
  1487. scitex/scholar/url_finder/translators/core/base.py +50 -0
  1488. scitex/scholar/url_finder/translators/core/patterns.py +40 -0
  1489. scitex/scholar/url_finder/translators/core/registry.py +372 -0
  1490. scitex/scholar/url_finder/translators/individual/BOFiP_Impots.py +200 -0
  1491. scitex/scholar/url_finder/translators/individual/Baidu_Scholar.py +229 -0
  1492. scitex/scholar/url_finder/translators/individual/Bangkok_Post.py +152 -0
  1493. scitex/scholar/url_finder/translators/individual/Baruch_Foundation.py +197 -0
  1494. scitex/scholar/url_finder/translators/individual/Beobachter.py +193 -0
  1495. scitex/scholar/url_finder/translators/individual/Bezneng_Gajit.py +203 -0
  1496. scitex/scholar/url_finder/translators/individual/BibLaTeX.py +329 -0
  1497. scitex/scholar/url_finder/translators/individual/BibTeX.py +330 -0
  1498. scitex/scholar/url_finder/translators/individual/Biblio_com.py +222 -0
  1499. scitex/scholar/url_finder/translators/individual/Bibliontology_RDF.py +228 -0
  1500. scitex/scholar/url_finder/translators/individual/CLASE.py +23 -0
  1501. scitex/scholar/url_finder/translators/individual/COBISS.py +23 -0
  1502. scitex/scholar/url_finder/translators/individual/COinS.py +23 -0
  1503. scitex/scholar/url_finder/translators/individual/CQ_Press.py +23 -0
  1504. scitex/scholar/url_finder/translators/individual/CROSBI.py +23 -0
  1505. scitex/scholar/url_finder/translators/individual/CSL_JSON.py +23 -0
  1506. scitex/scholar/url_finder/translators/individual/CSV.py +23 -0
  1507. scitex/scholar/url_finder/translators/individual/CalMatters.py +23 -0
  1508. scitex/scholar/url_finder/translators/individual/Calisphere.py +23 -0
  1509. scitex/scholar/url_finder/translators/individual/Camara_Brasileira_do_Livro_ISBN.py +290 -0
  1510. scitex/scholar/url_finder/translators/individual/CanLII.py +151 -0
  1511. scitex/scholar/url_finder/translators/individual/Canada_com.py +127 -0
  1512. scitex/scholar/url_finder/translators/individual/Canadian_Letters_and_Images.py +152 -0
  1513. scitex/scholar/url_finder/translators/individual/Canadiana_ca.py +195 -0
  1514. scitex/scholar/url_finder/translators/individual/Cascadilla_Proceedings_Project.py +202 -0
  1515. scitex/scholar/url_finder/translators/individual/Central_and_Eastern_European_Online_Library_Journals.py +172 -0
  1516. scitex/scholar/url_finder/translators/individual/Champlain_Society_Collection.py +172 -0
  1517. scitex/scholar/url_finder/translators/individual/Chicago_Journal_of_Theoretical_Computer_Science.py +210 -0
  1518. scitex/scholar/url_finder/translators/individual/Christian_Science_Monitor.py +118 -0
  1519. scitex/scholar/url_finder/translators/individual/Columbia_University_Press.py +232 -0
  1520. scitex/scholar/url_finder/translators/individual/Common_Place.py +245 -0
  1521. scitex/scholar/url_finder/translators/individual/Cornell_LII.py +165 -0
  1522. scitex/scholar/url_finder/translators/individual/Cornell_University_Press.py +156 -0
  1523. scitex/scholar/url_finder/translators/individual/CourtListener.py +173 -0
  1524. scitex/scholar/url_finder/translators/individual/DAI_Zenon.py +160 -0
  1525. scitex/scholar/url_finder/translators/individual/FULL_DOWNLOAD_LOG.txt +2 -0
  1526. scitex/scholar/url_finder/translators/individual/FULL_DOWNLOAD_LOG_colored.txt +1 -0
  1527. scitex/scholar/url_finder/translators/individual/__init__.py +25 -0
  1528. scitex/scholar/url_finder/translators/individual/abc_news_australia.py +23 -0
  1529. scitex/scholar/url_finder/translators/individual/access_engineering.py +23 -0
  1530. scitex/scholar/url_finder/translators/individual/access_medicine.py +255 -0
  1531. scitex/scholar/url_finder/translators/individual/access_science.py +23 -0
  1532. scitex/scholar/url_finder/translators/individual/acls_humanities_ebook.py +23 -0
  1533. scitex/scholar/url_finder/translators/individual/aclweb.py +23 -0
  1534. scitex/scholar/url_finder/translators/individual/acm.py +11 -0
  1535. scitex/scholar/url_finder/translators/individual/acm_digital_library.py +355 -0
  1536. scitex/scholar/url_finder/translators/individual/acs.py +23 -0
  1537. scitex/scholar/url_finder/translators/individual/acs_publications.py +23 -0
  1538. scitex/scholar/url_finder/translators/individual/adam_matthew_digital.py +23 -0
  1539. scitex/scholar/url_finder/translators/individual/ads_bibcode.py +23 -0
  1540. scitex/scholar/url_finder/translators/individual/aea_web.py +23 -0
  1541. scitex/scholar/url_finder/translators/individual/agencia_del_isbn.py +23 -0
  1542. scitex/scholar/url_finder/translators/individual/agris.py +23 -0
  1543. scitex/scholar/url_finder/translators/individual/ahval_news.py +23 -0
  1544. scitex/scholar/url_finder/translators/individual/aip.py +23 -0
  1545. scitex/scholar/url_finder/translators/individual/air_university_journals.py +23 -0
  1546. scitex/scholar/url_finder/translators/individual/airiti.py +25 -0
  1547. scitex/scholar/url_finder/translators/individual/alexander_street_press.py +23 -0
  1548. scitex/scholar/url_finder/translators/individual/all_africa.py +23 -0
  1549. scitex/scholar/url_finder/translators/individual/allafrica.py +23 -0
  1550. scitex/scholar/url_finder/translators/individual/alsharekh.py +23 -0
  1551. scitex/scholar/url_finder/translators/individual/alternet.py +23 -0
  1552. scitex/scholar/url_finder/translators/individual/aluka.py +23 -0
  1553. scitex/scholar/url_finder/translators/individual/amazon.py +23 -0
  1554. scitex/scholar/url_finder/translators/individual/american_archive_public_broadcasting.py +23 -0
  1555. scitex/scholar/url_finder/translators/individual/american_institute_aeronautics_astronautics.py +23 -0
  1556. scitex/scholar/url_finder/translators/individual/american_prospect.py +23 -0
  1557. scitex/scholar/url_finder/translators/individual/ams_journals.py +23 -0
  1558. scitex/scholar/url_finder/translators/individual/ams_mathscinet.py +23 -0
  1559. scitex/scholar/url_finder/translators/individual/ams_mathscinet_legacy.py +23 -0
  1560. scitex/scholar/url_finder/translators/individual/ancestry_com_us_federal_census.py +23 -0
  1561. scitex/scholar/url_finder/translators/individual/ancestry_us_federal_census.py +23 -0
  1562. scitex/scholar/url_finder/translators/individual/annual_reviews.py +23 -0
  1563. scitex/scholar/url_finder/translators/individual/antikvarium_hu.py +23 -0
  1564. scitex/scholar/url_finder/translators/individual/aosic.py +25 -0
  1565. scitex/scholar/url_finder/translators/individual/apa_psycnet.py +23 -0
  1566. scitex/scholar/url_finder/translators/individual/apn_ru.py +23 -0
  1567. scitex/scholar/url_finder/translators/individual/aps.py +23 -0
  1568. scitex/scholar/url_finder/translators/individual/aps_physics.py +115 -0
  1569. scitex/scholar/url_finder/translators/individual/aquadocs.py +23 -0
  1570. scitex/scholar/url_finder/translators/individual/archeion.py +23 -0
  1571. scitex/scholar/url_finder/translators/individual/archiv_fuer_sozialgeschichte.py +23 -0
  1572. scitex/scholar/url_finder/translators/individual/archive_ouverte_aosic.py +25 -0
  1573. scitex/scholar/url_finder/translators/individual/archive_ouverte_en_sciences_de_l_information_et_de_la_communication___aosic_.py +27 -0
  1574. scitex/scholar/url_finder/translators/individual/archives_canada.py +23 -0
  1575. scitex/scholar/url_finder/translators/individual/ariana_news.py +23 -0
  1576. scitex/scholar/url_finder/translators/individual/art_institute_of_chicago.py +23 -0
  1577. scitex/scholar/url_finder/translators/individual/artefacts_canada.py +23 -0
  1578. scitex/scholar/url_finder/translators/individual/artfl_encyclopedie.py +23 -0
  1579. scitex/scholar/url_finder/translators/individual/artforum.py +152 -0
  1580. scitex/scholar/url_finder/translators/individual/artnet.py +23 -0
  1581. scitex/scholar/url_finder/translators/individual/artnews.py +23 -0
  1582. scitex/scholar/url_finder/translators/individual/artstor.py +23 -0
  1583. scitex/scholar/url_finder/translators/individual/arxiv.py +39 -0
  1584. scitex/scholar/url_finder/translators/individual/arxiv_org.py +122 -0
  1585. scitex/scholar/url_finder/translators/individual/asce.py +23 -0
  1586. scitex/scholar/url_finder/translators/individual/asco_meeting_library.py +23 -0
  1587. scitex/scholar/url_finder/translators/individual/astis.py +23 -0
  1588. scitex/scholar/url_finder/translators/individual/atlanta_journal_constitution.py +145 -0
  1589. scitex/scholar/url_finder/translators/individual/ats_international_journal.py +23 -0
  1590. scitex/scholar/url_finder/translators/individual/atypon.py +23 -0
  1591. scitex/scholar/url_finder/translators/individual/atypon_journals.py +253 -0
  1592. scitex/scholar/url_finder/translators/individual/austlii_and_nzlii.py +251 -0
  1593. scitex/scholar/url_finder/translators/individual/australian_dictionary_of_biography.py +124 -0
  1594. scitex/scholar/url_finder/translators/individual/bailii.py +122 -0
  1595. scitex/scholar/url_finder/translators/individual/bbc.py +229 -0
  1596. scitex/scholar/url_finder/translators/individual/bbc_genome.py +180 -0
  1597. scitex/scholar/url_finder/translators/individual/beck_online.py +23 -0
  1598. scitex/scholar/url_finder/translators/individual/biblioteca_nacional_de_maestros.py +144 -0
  1599. scitex/scholar/url_finder/translators/individual/bibliotheque_archives_nationale_quebec_pistard.py +134 -0
  1600. scitex/scholar/url_finder/translators/individual/bibliotheque_archives_nationales_quebec.py +187 -0
  1601. scitex/scholar/url_finder/translators/individual/bibliotheque_et_archives_nationale_du_quebec__pistard_.py +23 -0
  1602. scitex/scholar/url_finder/translators/individual/bibliotheque_et_archives_nationales_du_quebec.py +23 -0
  1603. scitex/scholar/url_finder/translators/individual/bibliotheque_nationale_de_france.py +23 -0
  1604. scitex/scholar/url_finder/translators/individual/bibliotheque_nationale_france.py +163 -0
  1605. scitex/scholar/url_finder/translators/individual/bibsys.py +162 -0
  1606. scitex/scholar/url_finder/translators/individual/bioconductor.py +184 -0
  1607. scitex/scholar/url_finder/translators/individual/biomed_central.py +151 -0
  1608. scitex/scholar/url_finder/translators/individual/bioone.py +23 -0
  1609. scitex/scholar/url_finder/translators/individual/biorxiv.py +146 -0
  1610. scitex/scholar/url_finder/translators/individual/blaetter.py +23 -0
  1611. scitex/scholar/url_finder/translators/individual/blogger.py +148 -0
  1612. scitex/scholar/url_finder/translators/individual/bloomberg.py +168 -0
  1613. scitex/scholar/url_finder/translators/individual/bloomsbury_food_library.py +135 -0
  1614. scitex/scholar/url_finder/translators/individual/bluesky.py +129 -0
  1615. scitex/scholar/url_finder/translators/individual/bnf_isbn.py +118 -0
  1616. scitex/scholar/url_finder/translators/individual/bocc.py +247 -0
  1617. scitex/scholar/url_finder/translators/individual/boe.py +196 -0
  1618. scitex/scholar/url_finder/translators/individual/bookmarks.py +23 -0
  1619. scitex/scholar/url_finder/translators/individual/bookshop_org.py +23 -0
  1620. scitex/scholar/url_finder/translators/individual/boston_review.py +23 -0
  1621. scitex/scholar/url_finder/translators/individual/bosworth_toller_anglo_saxon_dictionary.py +23 -0
  1622. scitex/scholar/url_finder/translators/individual/bosworth_toller_s_anglo_saxon_dictionary_online.py +23 -0
  1623. scitex/scholar/url_finder/translators/individual/bracero_history_archive.py +23 -0
  1624. scitex/scholar/url_finder/translators/individual/brill.py +25 -0
  1625. scitex/scholar/url_finder/translators/individual/brukerhandboken.py +23 -0
  1626. scitex/scholar/url_finder/translators/individual/bryn_mawr_classical_review.py +23 -0
  1627. scitex/scholar/url_finder/translators/individual/bundesgesetzblatt.py +23 -0
  1628. scitex/scholar/url_finder/translators/individual/business_standard.py +178 -0
  1629. scitex/scholar/url_finder/translators/individual/cabi___cab_abstracts.py +23 -0
  1630. scitex/scholar/url_finder/translators/individual/cabi_cab_abstracts.py +176 -0
  1631. scitex/scholar/url_finder/translators/individual/cairn.py +23 -0
  1632. scitex/scholar/url_finder/translators/individual/cairn_info.py +23 -0
  1633. scitex/scholar/url_finder/translators/individual/cambridge.py +25 -0
  1634. scitex/scholar/url_finder/translators/individual/cambridge_core.py +178 -0
  1635. scitex/scholar/url_finder/translators/individual/cambridge_engage_preprints.py +23 -0
  1636. scitex/scholar/url_finder/translators/individual/caod.py +224 -0
  1637. scitex/scholar/url_finder/translators/individual/cbc.py +281 -0
  1638. scitex/scholar/url_finder/translators/individual/ccfr__bnf_.py +23 -0
  1639. scitex/scholar/url_finder/translators/individual/ccfr_bnf.py +223 -0
  1640. scitex/scholar/url_finder/translators/individual/cell_press.py +150 -0
  1641. scitex/scholar/url_finder/translators/individual/cern_document_server.py +23 -0
  1642. scitex/scholar/url_finder/translators/individual/ceur_workshop_proceedings.py +23 -0
  1643. scitex/scholar/url_finder/translators/individual/cff.py +23 -0
  1644. scitex/scholar/url_finder/translators/individual/cff_references.py +23 -0
  1645. scitex/scholar/url_finder/translators/individual/champlain_society___collection.py +23 -0
  1646. scitex/scholar/url_finder/translators/individual/chronicling_america.py +23 -0
  1647. scitex/scholar/url_finder/translators/individual/cia_world_factbook.py +163 -0
  1648. scitex/scholar/url_finder/translators/individual/cinii_research.py +23 -0
  1649. scitex/scholar/url_finder/translators/individual/citavi_5_xml.py +23 -0
  1650. scitex/scholar/url_finder/translators/individual/citeseer.py +23 -0
  1651. scitex/scholar/url_finder/translators/individual/citizen_lab.py +23 -0
  1652. scitex/scholar/url_finder/translators/individual/civilization_ca.py +23 -0
  1653. scitex/scholar/url_finder/translators/individual/clacso.py +23 -0
  1654. scitex/scholar/url_finder/translators/individual/climate_change_and_human_health_literature_portal.py +23 -0
  1655. scitex/scholar/url_finder/translators/individual/climate_change_human_health.py +23 -0
  1656. scitex/scholar/url_finder/translators/individual/clinical_key.py +23 -0
  1657. scitex/scholar/url_finder/translators/individual/clinicaltrials_gov.py +23 -0
  1658. scitex/scholar/url_finder/translators/individual/cnki.py +23 -0
  1659. scitex/scholar/url_finder/translators/individual/code4lib_journal.py +23 -0
  1660. scitex/scholar/url_finder/translators/individual/colorado_state_legislature.py +23 -0
  1661. scitex/scholar/url_finder/translators/individual/computer_history_museum_archive.py +23 -0
  1662. scitex/scholar/url_finder/translators/individual/copernicus.py +23 -0
  1663. scitex/scholar/url_finder/translators/individual/crossref_rest.py +618 -0
  1664. scitex/scholar/url_finder/translators/individual/crossref_unixref_xml.py +23 -0
  1665. scitex/scholar/url_finder/translators/individual/csiro_publishing.py +23 -0
  1666. scitex/scholar/url_finder/translators/individual/csiro_publishing_dup.py +23 -0
  1667. scitex/scholar/url_finder/translators/individual/current_affairs.py +112 -0
  1668. scitex/scholar/url_finder/translators/individual/dabi.py +205 -0
  1669. scitex/scholar/url_finder/translators/individual/dagens_nyheter.py +25 -0
  1670. scitex/scholar/url_finder/translators/individual/dagstuhl.py +147 -0
  1671. scitex/scholar/url_finder/translators/individual/dagstuhl_research_online_publication_server.py +23 -0
  1672. scitex/scholar/url_finder/translators/individual/dar_almandumah.py +160 -0
  1673. scitex/scholar/url_finder/translators/individual/dart_europe.py +172 -0
  1674. scitex/scholar/url_finder/translators/individual/data_gov.py +145 -0
  1675. scitex/scholar/url_finder/translators/individual/databrary.py +144 -0
  1676. scitex/scholar/url_finder/translators/individual/datacite_json.py +278 -0
  1677. scitex/scholar/url_finder/translators/individual/dataverse.py +190 -0
  1678. scitex/scholar/url_finder/translators/individual/daum_news.py +133 -0
  1679. scitex/scholar/url_finder/translators/individual/dblp.py +151 -0
  1680. scitex/scholar/url_finder/translators/individual/dblp_computer_science_bibliography.py +104 -0
  1681. scitex/scholar/url_finder/translators/individual/dbpia.py +102 -0
  1682. scitex/scholar/url_finder/translators/individual/de_gruyter_brill.py +23 -0
  1683. scitex/scholar/url_finder/translators/individual/defense_technical_information_center.py +114 -0
  1684. scitex/scholar/url_finder/translators/individual/dejure_org.py +23 -0
  1685. scitex/scholar/url_finder/translators/individual/delpher.py +224 -0
  1686. scitex/scholar/url_finder/translators/individual/demographic_research.py +160 -0
  1687. scitex/scholar/url_finder/translators/individual/denik_cz.py +155 -0
  1688. scitex/scholar/url_finder/translators/individual/depatisnet.py +145 -0
  1689. scitex/scholar/url_finder/translators/individual/der_freitag.py +214 -0
  1690. scitex/scholar/url_finder/translators/individual/der_spiegel.py +189 -0
  1691. scitex/scholar/url_finder/translators/individual/desiring_god.py +23 -0
  1692. scitex/scholar/url_finder/translators/individual/deutsche_fotothek.py +23 -0
  1693. scitex/scholar/url_finder/translators/individual/deutsche_nationalbibliothek.py +23 -0
  1694. scitex/scholar/url_finder/translators/individual/dhistory.py +23 -0
  1695. scitex/scholar/url_finder/translators/individual/dialnet.py +23 -0
  1696. scitex/scholar/url_finder/translators/individual/die_zeit.py +23 -0
  1697. scitex/scholar/url_finder/translators/individual/digibib_net.py +25 -0
  1698. scitex/scholar/url_finder/translators/individual/digital_humanities_quarterly.py +23 -0
  1699. scitex/scholar/url_finder/translators/individual/digital_spy.py +23 -0
  1700. scitex/scholar/url_finder/translators/individual/digizeitschriften.py +25 -0
  1701. scitex/scholar/url_finder/translators/individual/dimensions.py +23 -0
  1702. scitex/scholar/url_finder/translators/individual/dlibra.py +23 -0
  1703. scitex/scholar/url_finder/translators/individual/doaj.py +23 -0
  1704. scitex/scholar/url_finder/translators/individual/doi.py +23 -0
  1705. scitex/scholar/url_finder/translators/individual/doi_content_negotiation.py +23 -0
  1706. scitex/scholar/url_finder/translators/individual/douban.py +23 -0
  1707. scitex/scholar/url_finder/translators/individual/dpla.py +200 -0
  1708. scitex/scholar/url_finder/translators/individual/dreier_neuerscheinungsdienst.py +23 -0
  1709. scitex/scholar/url_finder/translators/individual/drugbank_ca.py +23 -0
  1710. scitex/scholar/url_finder/translators/individual/dryad.py +23 -0
  1711. scitex/scholar/url_finder/translators/individual/dryad_digital_repository.py +23 -0
  1712. scitex/scholar/url_finder/translators/individual/dspace.py +109 -0
  1713. scitex/scholar/url_finder/translators/individual/dspace_intermediate_metadata.py +23 -0
  1714. scitex/scholar/url_finder/translators/individual/duke_university_press_books.py +23 -0
  1715. scitex/scholar/url_finder/translators/individual/e_periodica_switzerland.py +23 -0
  1716. scitex/scholar/url_finder/translators/individual/eastview.py +23 -0
  1717. scitex/scholar/url_finder/translators/individual/ebrary.py +25 -0
  1718. scitex/scholar/url_finder/translators/individual/ebsco_discovery_layer.py +23 -0
  1719. scitex/scholar/url_finder/translators/individual/ebscohost.py +25 -0
  1720. scitex/scholar/url_finder/translators/individual/edinburgh_university_press_journals.py +23 -0
  1721. scitex/scholar/url_finder/translators/individual/education_week.py +23 -0
  1722. scitex/scholar/url_finder/translators/individual/eidr.py +23 -0
  1723. scitex/scholar/url_finder/translators/individual/el_comercio__peru_.py +23 -0
  1724. scitex/scholar/url_finder/translators/individual/el_pais.py +23 -0
  1725. scitex/scholar/url_finder/translators/individual/electronic_colloquium_on_computational_complexity.py +25 -0
  1726. scitex/scholar/url_finder/translators/individual/elibrary_ru.py +23 -0
  1727. scitex/scholar/url_finder/translators/individual/elicit.py +23 -0
  1728. scitex/scholar/url_finder/translators/individual/elife.py +25 -0
  1729. scitex/scholar/url_finder/translators/individual/elsevier_health.py +23 -0
  1730. scitex/scholar/url_finder/translators/individual/elsevier_health_journals.py +25 -0
  1731. scitex/scholar/url_finder/translators/individual/elsevier_pure.py +23 -0
  1732. scitex/scholar/url_finder/translators/individual/embedded_metadata.py +23 -0
  1733. scitex/scholar/url_finder/translators/individual/emedicine.py +23 -0
  1734. scitex/scholar/url_finder/translators/individual/emerald.py +25 -0
  1735. scitex/scholar/url_finder/translators/individual/emerald_insight.py +25 -0
  1736. scitex/scholar/url_finder/translators/individual/emja.py +23 -0
  1737. scitex/scholar/url_finder/translators/individual/encyclopedia_of_chicago.py +23 -0
  1738. scitex/scholar/url_finder/translators/individual/encyclopedia_of_korean_culture.py +23 -0
  1739. scitex/scholar/url_finder/translators/individual/endnote_xml.py +23 -0
  1740. scitex/scholar/url_finder/translators/individual/engineering_village.py +23 -0
  1741. scitex/scholar/url_finder/translators/individual/envidat.py +23 -0
  1742. scitex/scholar/url_finder/translators/individual/epa_national_library_catalog.py +23 -0
  1743. scitex/scholar/url_finder/translators/individual/epicurious.py +25 -0
  1744. scitex/scholar/url_finder/translators/individual/eprint_iacr.py +23 -0
  1745. scitex/scholar/url_finder/translators/individual/eric.py +23 -0
  1746. scitex/scholar/url_finder/translators/individual/erudit.py +23 -0
  1747. scitex/scholar/url_finder/translators/individual/espacenet.py +23 -0
  1748. scitex/scholar/url_finder/translators/individual/etatar_ru.py +23 -0
  1749. scitex/scholar/url_finder/translators/individual/euclid.py +23 -0
  1750. scitex/scholar/url_finder/translators/individual/eur_lex.py +23 -0
  1751. scitex/scholar/url_finder/translators/individual/eurasianet.py +23 -0
  1752. scitex/scholar/url_finder/translators/individual/eurogamerusgamer.py +25 -0
  1753. scitex/scholar/url_finder/translators/individual/europe_pmc.py +23 -0
  1754. scitex/scholar/url_finder/translators/individual/evernote.py +23 -0
  1755. scitex/scholar/url_finder/translators/individual/f1000_research.py +23 -0
  1756. scitex/scholar/url_finder/translators/individual/fachportal_padagogik.py +25 -0
  1757. scitex/scholar/url_finder/translators/individual/factiva.py +23 -0
  1758. scitex/scholar/url_finder/translators/individual/failed_architecture.py +23 -0
  1759. scitex/scholar/url_finder/translators/individual/fairfax_australia.py +23 -0
  1760. scitex/scholar/url_finder/translators/individual/fao_publications.py +23 -0
  1761. scitex/scholar/url_finder/translators/individual/fatcat.py +23 -0
  1762. scitex/scholar/url_finder/translators/individual/faz_net.py +23 -0
  1763. scitex/scholar/url_finder/translators/individual/feb_web_ru.py +23 -0
  1764. scitex/scholar/url_finder/translators/individual/figshare.py +23 -0
  1765. scitex/scholar/url_finder/translators/individual/financial_times.py +23 -0
  1766. scitex/scholar/url_finder/translators/individual/finna.py +23 -0
  1767. scitex/scholar/url_finder/translators/individual/fishpond_co_nz.py +23 -0
  1768. scitex/scholar/url_finder/translators/individual/flickr.py +23 -0
  1769. scitex/scholar/url_finder/translators/individual/foreign_affairs.py +23 -0
  1770. scitex/scholar/url_finder/translators/individual/foreign_policy.py +23 -0
  1771. scitex/scholar/url_finder/translators/individual/fr_online_de.py +23 -0
  1772. scitex/scholar/url_finder/translators/individual/freecite.py +23 -0
  1773. scitex/scholar/url_finder/translators/individual/freepatentsonline.py +23 -0
  1774. scitex/scholar/url_finder/translators/individual/frieze.py +23 -0
  1775. scitex/scholar/url_finder/translators/individual/frontiers.py +84 -0
  1776. scitex/scholar/url_finder/translators/individual/gale_databases.py +25 -0
  1777. scitex/scholar/url_finder/translators/individual/galegdc.py +23 -0
  1778. scitex/scholar/url_finder/translators/individual/galegroup.py +23 -0
  1779. scitex/scholar/url_finder/translators/individual/gallica.py +23 -0
  1780. scitex/scholar/url_finder/translators/individual/game_studies.py +23 -0
  1781. scitex/scholar/url_finder/translators/individual/gamespot.py +23 -0
  1782. scitex/scholar/url_finder/translators/individual/gamestar_gamepro.py +23 -0
  1783. scitex/scholar/url_finder/translators/individual/gasyrlar_awazy.py +23 -0
  1784. scitex/scholar/url_finder/translators/individual/gemeinsamer_bibliotheksverbund_isbn.py +23 -0
  1785. scitex/scholar/url_finder/translators/individual/gene_ontology.py +23 -0
  1786. scitex/scholar/url_finder/translators/individual/github.py +23 -0
  1787. scitex/scholar/url_finder/translators/individual/globes.py +23 -0
  1788. scitex/scholar/url_finder/translators/individual/gmail.py +23 -0
  1789. scitex/scholar/url_finder/translators/individual/gms_german_medical_science.py +111 -0
  1790. scitex/scholar/url_finder/translators/individual/goodreads.py +23 -0
  1791. scitex/scholar/url_finder/translators/individual/google_books.py +23 -0
  1792. scitex/scholar/url_finder/translators/individual/google_patents.py +23 -0
  1793. scitex/scholar/url_finder/translators/individual/google_play.py +23 -0
  1794. scitex/scholar/url_finder/translators/individual/google_presentation.py +23 -0
  1795. scitex/scholar/url_finder/translators/individual/google_research.py +23 -0
  1796. scitex/scholar/url_finder/translators/individual/google_scholar.py +23 -0
  1797. scitex/scholar/url_finder/translators/individual/govinfo.py +23 -0
  1798. scitex/scholar/url_finder/translators/individual/gpo_access_e_cfr.py +23 -0
  1799. scitex/scholar/url_finder/translators/individual/gulag_many_days__many_lives.py +23 -0
  1800. scitex/scholar/url_finder/translators/individual/haaretz.py +23 -0
  1801. scitex/scholar/url_finder/translators/individual/habr.py +23 -0
  1802. scitex/scholar/url_finder/translators/individual/hal.py +23 -0
  1803. scitex/scholar/url_finder/translators/individual/hal_archives_ouvertes.py +23 -0
  1804. scitex/scholar/url_finder/translators/individual/handelszeitung.py +23 -0
  1805. scitex/scholar/url_finder/translators/individual/hanrei_watch.py +23 -0
  1806. scitex/scholar/url_finder/translators/individual/harper_s_magazine.py +23 -0
  1807. scitex/scholar/url_finder/translators/individual/harvard_business_review.py +23 -0
  1808. scitex/scholar/url_finder/translators/individual/harvard_caselaw_access_project.py +23 -0
  1809. scitex/scholar/url_finder/translators/individual/harvard_university_press_books.py +23 -0
  1810. scitex/scholar/url_finder/translators/individual/hathitrust.py +23 -0
  1811. scitex/scholar/url_finder/translators/individual/hcsp.py +23 -0
  1812. scitex/scholar/url_finder/translators/individual/heinonline.py +23 -0
  1813. scitex/scholar/url_finder/translators/individual/heise.py +23 -0
  1814. scitex/scholar/url_finder/translators/individual/herder.py +23 -0
  1815. scitex/scholar/url_finder/translators/individual/highbeam.py +23 -0
  1816. scitex/scholar/url_finder/translators/individual/highwire.py +23 -0
  1817. scitex/scholar/url_finder/translators/individual/highwire2.py +23 -0
  1818. scitex/scholar/url_finder/translators/individual/highwire_2_0.py +23 -0
  1819. scitex/scholar/url_finder/translators/individual/hindawi.py +23 -0
  1820. scitex/scholar/url_finder/translators/individual/hindawi_publishers.py +23 -0
  1821. scitex/scholar/url_finder/translators/individual/hispanic_american_periodical_index.py +23 -0
  1822. scitex/scholar/url_finder/translators/individual/homeland_security_digital_library.py +23 -0
  1823. scitex/scholar/url_finder/translators/individual/hudoc.py +23 -0
  1824. scitex/scholar/url_finder/translators/individual/huff_post.py +23 -0
  1825. scitex/scholar/url_finder/translators/individual/human_rights_watch.py +23 -0
  1826. scitex/scholar/url_finder/translators/individual/ibisworld.py +23 -0
  1827. scitex/scholar/url_finder/translators/individual/idea_alm.py +23 -0
  1828. scitex/scholar/url_finder/translators/individual/idref.py +23 -0
  1829. scitex/scholar/url_finder/translators/individual/ieee_computer_society.py +118 -0
  1830. scitex/scholar/url_finder/translators/individual/ieee_xplore.py +265 -0
  1831. scitex/scholar/url_finder/translators/individual/ietf.py +23 -0
  1832. scitex/scholar/url_finder/translators/individual/ign.py +23 -0
  1833. scitex/scholar/url_finder/translators/individual/imdb.py +23 -0
  1834. scitex/scholar/url_finder/translators/individual/imf.py +23 -0
  1835. scitex/scholar/url_finder/translators/individual/in_these_times.py +23 -0
  1836. scitex/scholar/url_finder/translators/individual/informationssystem_medienpaedagogik.py +23 -0
  1837. scitex/scholar/url_finder/translators/individual/informit_database.py +23 -0
  1838. scitex/scholar/url_finder/translators/individual/infotrac.py +23 -0
  1839. scitex/scholar/url_finder/translators/individual/ingenta_connect.py +23 -0
  1840. scitex/scholar/url_finder/translators/individual/ingentaconnect.py +23 -0
  1841. scitex/scholar/url_finder/translators/individual/inside_higher_ed.py +23 -0
  1842. scitex/scholar/url_finder/translators/individual/insignia_opac.py +23 -0
  1843. scitex/scholar/url_finder/translators/individual/inspire.py +23 -0
  1844. scitex/scholar/url_finder/translators/individual/institute_of_contemporary_art.py +23 -0
  1845. scitex/scholar/url_finder/translators/individual/institute_of_physics.py +23 -0
  1846. scitex/scholar/url_finder/translators/individual/integrum.py +23 -0
  1847. scitex/scholar/url_finder/translators/individual/intellixir.py +23 -0
  1848. scitex/scholar/url_finder/translators/individual/inter_research_science_center.py +116 -0
  1849. scitex/scholar/url_finder/translators/individual/international_nuclear_information_system.py +23 -0
  1850. scitex/scholar/url_finder/translators/individual/internet_archive.py +23 -0
  1851. scitex/scholar/url_finder/translators/individual/internet_archive_scholar.py +23 -0
  1852. scitex/scholar/url_finder/translators/individual/internet_archive_wayback.py +23 -0
  1853. scitex/scholar/url_finder/translators/individual/internet_archive_wayback_machine.py +23 -0
  1854. scitex/scholar/url_finder/translators/individual/invenio_rdm.py +23 -0
  1855. scitex/scholar/url_finder/translators/individual/inveniordm.py +23 -0
  1856. scitex/scholar/url_finder/translators/individual/io_port.py +23 -0
  1857. scitex/scholar/url_finder/translators/individual/iop.py +23 -0
  1858. scitex/scholar/url_finder/translators/individual/ipcc.py +23 -0
  1859. scitex/scholar/url_finder/translators/individual/isidore.py +23 -0
  1860. scitex/scholar/url_finder/translators/individual/istc.py +23 -0
  1861. scitex/scholar/url_finder/translators/individual/j_stage.py +23 -0
  1862. scitex/scholar/url_finder/translators/individual/jahrbuch.py +23 -0
  1863. scitex/scholar/url_finder/translators/individual/japan_times_online.py +23 -0
  1864. scitex/scholar/url_finder/translators/individual/jets.py +23 -0
  1865. scitex/scholar/url_finder/translators/individual/jisc_historical_texts.py +25 -0
  1866. scitex/scholar/url_finder/translators/individual/journal_of_electronic_publishing.py +23 -0
  1867. scitex/scholar/url_finder/translators/individual/journal_of_extension.py +23 -0
  1868. scitex/scholar/url_finder/translators/individual/journal_of_machine_learning_research.py +23 -0
  1869. scitex/scholar/url_finder/translators/individual/journal_of_religion_and_society.py +23 -0
  1870. scitex/scholar/url_finder/translators/individual/jrc_publications_repository.py +23 -0
  1871. scitex/scholar/url_finder/translators/individual/jstage.py +23 -0
  1872. scitex/scholar/url_finder/translators/individual/jstor.py +211 -0
  1873. scitex/scholar/url_finder/translators/individual/juricaf.py +23 -0
  1874. scitex/scholar/url_finder/translators/individual/jurion.py +23 -0
  1875. scitex/scholar/url_finder/translators/individual/juris.py +23 -0
  1876. scitex/scholar/url_finder/translators/individual/jurpc.py +23 -0
  1877. scitex/scholar/url_finder/translators/individual/k10plus_isbn.py +23 -0
  1878. scitex/scholar/url_finder/translators/individual/kanopy.py +23 -0
  1879. scitex/scholar/url_finder/translators/individual/karger.py +23 -0
  1880. scitex/scholar/url_finder/translators/individual/khaama_press.py +23 -0
  1881. scitex/scholar/url_finder/translators/individual/kitapyurdu_com.py +23 -0
  1882. scitex/scholar/url_finder/translators/individual/kommersant.py +23 -0
  1883. scitex/scholar/url_finder/translators/individual/korean_national_library.py +25 -0
  1884. scitex/scholar/url_finder/translators/individual/kstudy.py +23 -0
  1885. scitex/scholar/url_finder/translators/individual/l_annee_philologique.py +23 -0
  1886. scitex/scholar/url_finder/translators/individual/la_croix.py +23 -0
  1887. scitex/scholar/url_finder/translators/individual/la_nacion__argentina_.py +23 -0
  1888. scitex/scholar/url_finder/translators/individual/la_presse.py +23 -0
  1889. scitex/scholar/url_finder/translators/individual/la_republica__peru_.py +23 -0
  1890. scitex/scholar/url_finder/translators/individual/la_times.py +25 -0
  1891. scitex/scholar/url_finder/translators/individual/lagen_nu.py +23 -0
  1892. scitex/scholar/url_finder/translators/individual/landesbibliographie_baden_wurttemberg.py +25 -0
  1893. scitex/scholar/url_finder/translators/individual/lapham_s_quarterly.py +23 -0
  1894. scitex/scholar/url_finder/translators/individual/le_devoir.py +23 -0
  1895. scitex/scholar/url_finder/translators/individual/le_figaro.py +23 -0
  1896. scitex/scholar/url_finder/translators/individual/le_maitron.py +23 -0
  1897. scitex/scholar/url_finder/translators/individual/le_monde.py +23 -0
  1898. scitex/scholar/url_finder/translators/individual/le_monde_diplomatique.py +23 -0
  1899. scitex/scholar/url_finder/translators/individual/legifrance.py +23 -0
  1900. scitex/scholar/url_finder/translators/individual/legislative_insight.py +25 -0
  1901. scitex/scholar/url_finder/translators/individual/lexis_.py +23 -0
  1902. scitex/scholar/url_finder/translators/individual/lexisnexis.py +23 -0
  1903. scitex/scholar/url_finder/translators/individual/libraries_tasmania.py +25 -0
  1904. scitex/scholar/url_finder/translators/individual/library_catalog__aleph_.py +23 -0
  1905. scitex/scholar/url_finder/translators/individual/library_catalog__amicus_.py +23 -0
  1906. scitex/scholar/url_finder/translators/individual/library_catalog__aquabrowser_.py +23 -0
  1907. scitex/scholar/url_finder/translators/individual/library_catalog__bibliocommons_.py +23 -0
  1908. scitex/scholar/url_finder/translators/individual/library_catalog__blacklight_.py +23 -0
  1909. scitex/scholar/url_finder/translators/individual/library_catalog__capita_prism_.py +23 -0
  1910. scitex/scholar/url_finder/translators/individual/library_catalog__dra_.py +23 -0
  1911. scitex/scholar/url_finder/translators/individual/library_catalog__dynix_.py +23 -0
  1912. scitex/scholar/url_finder/translators/individual/library_catalog__encore_.py +23 -0
  1913. scitex/scholar/url_finder/translators/individual/library_catalog__innopac_.py +23 -0
  1914. scitex/scholar/url_finder/translators/individual/library_catalog__koha_.py +25 -0
  1915. scitex/scholar/url_finder/translators/individual/library_catalog__mango_.py +23 -0
  1916. scitex/scholar/url_finder/translators/individual/library_catalog__opals_.py +23 -0
  1917. scitex/scholar/url_finder/translators/individual/library_catalog__pica2_.py +23 -0
  1918. scitex/scholar/url_finder/translators/individual/library_catalog__pica_.py +23 -0
  1919. scitex/scholar/url_finder/translators/individual/library_catalog__pika_.py +23 -0
  1920. scitex/scholar/url_finder/translators/individual/library_catalog__polaris_.py +23 -0
  1921. scitex/scholar/url_finder/translators/individual/library_catalog__quolto_.py +23 -0
  1922. scitex/scholar/url_finder/translators/individual/library_catalog__rero_ils_.py +23 -0
  1923. scitex/scholar/url_finder/translators/individual/library_catalog__sirsi_.py +23 -0
  1924. scitex/scholar/url_finder/translators/individual/library_catalog__sirsi_elibrary_.py +23 -0
  1925. scitex/scholar/url_finder/translators/individual/library_catalog__slims_.py +23 -0
  1926. scitex/scholar/url_finder/translators/individual/library_catalog__tind_ils_.py +23 -0
  1927. scitex/scholar/url_finder/translators/individual/library_catalog__tinread_.py +23 -0
  1928. scitex/scholar/url_finder/translators/individual/library_catalog__tlcyouseemore_.py +23 -0
  1929. scitex/scholar/url_finder/translators/individual/library_catalog__visual_library_2021_.py +23 -0
  1930. scitex/scholar/url_finder/translators/individual/library_catalog__voyager_.py +23 -0
  1931. scitex/scholar/url_finder/translators/individual/library_catalog__voyager_7_.py +23 -0
  1932. scitex/scholar/url_finder/translators/individual/library_catalog__vtls_.py +23 -0
  1933. scitex/scholar/url_finder/translators/individual/library_genesis.py +23 -0
  1934. scitex/scholar/url_finder/translators/individual/library_hub_discover.py +23 -0
  1935. scitex/scholar/url_finder/translators/individual/library_of_congress_digital_collections.py +23 -0
  1936. scitex/scholar/url_finder/translators/individual/library_of_congress_isbn.py +23 -0
  1937. scitex/scholar/url_finder/translators/individual/libris_isbn.py +23 -0
  1938. scitex/scholar/url_finder/translators/individual/lingbuzz.py +180 -0
  1939. scitex/scholar/url_finder/translators/individual/lippincott_williams_and_wilkins.py +23 -0
  1940. scitex/scholar/url_finder/translators/individual/literary_hub.py +23 -0
  1941. scitex/scholar/url_finder/translators/individual/litres.py +23 -0
  1942. scitex/scholar/url_finder/translators/individual/livejournal.py +23 -0
  1943. scitex/scholar/url_finder/translators/individual/livivo.py +23 -0
  1944. scitex/scholar/url_finder/translators/individual/london_review_of_books.py +23 -0
  1945. scitex/scholar/url_finder/translators/individual/lookus.py +23 -0
  1946. scitex/scholar/url_finder/translators/individual/lulu.py +23 -0
  1947. scitex/scholar/url_finder/translators/individual/lwn_net.py +23 -0
  1948. scitex/scholar/url_finder/translators/individual/lww.py +23 -0
  1949. scitex/scholar/url_finder/translators/individual/mab2.py +23 -0
  1950. scitex/scholar/url_finder/translators/individual/magazines_russ_ru.py +23 -0
  1951. scitex/scholar/url_finder/translators/individual/mailman.py +23 -0
  1952. scitex/scholar/url_finder/translators/individual/mainichi_daily_news.py +23 -0
  1953. scitex/scholar/url_finder/translators/individual/marc.py +23 -0
  1954. scitex/scholar/url_finder/translators/individual/marcxml.py +23 -0
  1955. scitex/scholar/url_finder/translators/individual/mastodon.py +23 -0
  1956. scitex/scholar/url_finder/translators/individual/matbugat_ru.py +23 -0
  1957. scitex/scholar/url_finder/translators/individual/max_planck_institute_for_the_history_of_science_virtual_laboratory_library.py +25 -0
  1958. scitex/scholar/url_finder/translators/individual/mcv.py +23 -0
  1959. scitex/scholar/url_finder/translators/individual/mdpi.py +76 -0
  1960. scitex/scholar/url_finder/translators/individual/mdpi_journals.py +23 -0
  1961. scitex/scholar/url_finder/translators/individual/medes.py +23 -0
  1962. scitex/scholar/url_finder/translators/individual/medium.py +23 -0
  1963. scitex/scholar/url_finder/translators/individual/medline_nbib.py +23 -0
  1964. scitex/scholar/url_finder/translators/individual/medlinenbib.py +23 -0
  1965. scitex/scholar/url_finder/translators/individual/medra.py +23 -0
  1966. scitex/scholar/url_finder/translators/individual/metalib.py +23 -0
  1967. scitex/scholar/url_finder/translators/individual/mets.py +23 -0
  1968. scitex/scholar/url_finder/translators/individual/microbiology_society_journals.py +25 -0
  1969. scitex/scholar/url_finder/translators/individual/microsoft_academic.py +23 -0
  1970. scitex/scholar/url_finder/translators/individual/midas_journals.py +25 -0
  1971. scitex/scholar/url_finder/translators/individual/mikromarc.py +23 -0
  1972. scitex/scholar/url_finder/translators/individual/milli_kutuphane.py +23 -0
  1973. scitex/scholar/url_finder/translators/individual/mit_press_books.py +23 -0
  1974. scitex/scholar/url_finder/translators/individual/mods.py +23 -0
  1975. scitex/scholar/url_finder/translators/individual/mpg_pure.py +23 -0
  1976. scitex/scholar/url_finder/translators/individual/musee_du_louvre.py +23 -0
  1977. scitex/scholar/url_finder/translators/individual/nagoya_university_opac.py +25 -0
  1978. scitex/scholar/url_finder/translators/individual/nasa_ads.py +23 -0
  1979. scitex/scholar/url_finder/translators/individual/nasa_ntrs.py +23 -0
  1980. scitex/scholar/url_finder/translators/individual/national_academies_press.py +23 -0
  1981. scitex/scholar/url_finder/translators/individual/national_agriculture_library.py +23 -0
  1982. scitex/scholar/url_finder/translators/individual/national_archives_of_australia.py +23 -0
  1983. scitex/scholar/url_finder/translators/individual/national_archives_of_south_africa.py +23 -0
  1984. scitex/scholar/url_finder/translators/individual/national_bureau_of_economic_research.py +23 -0
  1985. scitex/scholar/url_finder/translators/individual/national_diet_library_catalogue.py +23 -0
  1986. scitex/scholar/url_finder/translators/individual/national_gallery_of_art___usa.py +23 -0
  1987. scitex/scholar/url_finder/translators/individual/national_gallery_of_australia.py +23 -0
  1988. scitex/scholar/url_finder/translators/individual/national_library_of_australia__new_catalog_.py +23 -0
  1989. scitex/scholar/url_finder/translators/individual/national_library_of_belarus.py +23 -0
  1990. scitex/scholar/url_finder/translators/individual/national_library_of_norway.py +23 -0
  1991. scitex/scholar/url_finder/translators/individual/national_library_of_poland_isbn.py +23 -0
  1992. scitex/scholar/url_finder/translators/individual/national_post.py +23 -0
  1993. scitex/scholar/url_finder/translators/individual/national_technical_reports_library.py +23 -0
  1994. scitex/scholar/url_finder/translators/individual/national_transportation_library_rosa_p.py +23 -0
  1995. scitex/scholar/url_finder/translators/individual/nature.py +23 -0
  1996. scitex/scholar/url_finder/translators/individual/nature_publishing_group.py +193 -0
  1997. scitex/scholar/url_finder/translators/individual/nber.py +23 -0
  1998. scitex/scholar/url_finder/translators/individual/ncbi_nucleotide.py +23 -0
  1999. scitex/scholar/url_finder/translators/individual/neural_information_processing_systems.py +23 -0
  2000. scitex/scholar/url_finder/translators/individual/new_left_review.py +23 -0
  2001. scitex/scholar/url_finder/translators/individual/new_zealand_herald.py +23 -0
  2002. scitex/scholar/url_finder/translators/individual/newlines_magazine.py +23 -0
  2003. scitex/scholar/url_finder/translators/individual/news_corp_australia.py +23 -0
  2004. scitex/scholar/url_finder/translators/individual/newsbank.py +23 -0
  2005. scitex/scholar/url_finder/translators/individual/newshub_co_nz.py +23 -0
  2006. scitex/scholar/url_finder/translators/individual/newsnettamedia.py +23 -0
  2007. scitex/scholar/url_finder/translators/individual/newspapers_com.py +23 -0
  2008. scitex/scholar/url_finder/translators/individual/noor_digital_library.py +23 -0
  2009. scitex/scholar/url_finder/translators/individual/note_html.py +23 -0
  2010. scitex/scholar/url_finder/translators/individual/note_markdown.py +23 -0
  2011. scitex/scholar/url_finder/translators/individual/notre_dame_philosophical_reviews.py +23 -0
  2012. scitex/scholar/url_finder/translators/individual/npr.py +23 -0
  2013. scitex/scholar/url_finder/translators/individual/nrc_nl.py +23 -0
  2014. scitex/scholar/url_finder/translators/individual/nrc_research_press.py +23 -0
  2015. scitex/scholar/url_finder/translators/individual/ntsb_accident_reports.py +25 -0
  2016. scitex/scholar/url_finder/translators/individual/nypl_menus.py +23 -0
  2017. scitex/scholar/url_finder/translators/individual/nypl_research_catalog.py +23 -0
  2018. scitex/scholar/url_finder/translators/individual/nytimes_com.py +23 -0
  2019. scitex/scholar/url_finder/translators/individual/nzz_ch.py +23 -0
  2020. scitex/scholar/url_finder/translators/individual/oapen.py +23 -0
  2021. scitex/scholar/url_finder/translators/individual/oclc_worldcat_firstsearch.py +23 -0
  2022. scitex/scholar/url_finder/translators/individual/oecd.py +23 -0
  2023. scitex/scholar/url_finder/translators/individual/oecd_ilibrary.py +23 -0
  2024. scitex/scholar/url_finder/translators/individual/ohiolink.py +23 -0
  2025. scitex/scholar/url_finder/translators/individual/open_conf.py +23 -0
  2026. scitex/scholar/url_finder/translators/individual/open_knowledge_repository.py +23 -0
  2027. scitex/scholar/url_finder/translators/individual/open_worldcat.py +23 -0
  2028. scitex/scholar/url_finder/translators/individual/openalex.py +23 -0
  2029. scitex/scholar/url_finder/translators/individual/openalex_json.py +23 -0
  2030. scitex/scholar/url_finder/translators/individual/openedition_books.py +23 -0
  2031. scitex/scholar/url_finder/translators/individual/openedition_journals.py +161 -0
  2032. scitex/scholar/url_finder/translators/individual/openjur.py +23 -0
  2033. scitex/scholar/url_finder/translators/individual/optical_society_of_america.py +23 -0
  2034. scitex/scholar/url_finder/translators/individual/optimization_online.py +23 -0
  2035. scitex/scholar/url_finder/translators/individual/orcid.py +286 -0
  2036. scitex/scholar/url_finder/translators/individual/osa.py +23 -0
  2037. scitex/scholar/url_finder/translators/individual/osf_preprints.py +23 -0
  2038. scitex/scholar/url_finder/translators/individual/osti_energy_citations.py +23 -0
  2039. scitex/scholar/url_finder/translators/individual/ovid.py +23 -0
  2040. scitex/scholar/url_finder/translators/individual/ovid_tagged.py +23 -0
  2041. scitex/scholar/url_finder/translators/individual/oxford.py +148 -0
  2042. scitex/scholar/url_finder/translators/individual/oxford_dictionaries_premium.py +25 -0
  2043. scitex/scholar/url_finder/translators/individual/oxford_english_dictionary.py +23 -0
  2044. scitex/scholar/url_finder/translators/individual/oxford_music_and_art_online.py +23 -0
  2045. scitex/scholar/url_finder/translators/individual/oxford_reference.py +23 -0
  2046. scitex/scholar/url_finder/translators/individual/oxford_university_press.py +23 -0
  2047. scitex/scholar/url_finder/translators/individual/ozon_ru.py +25 -0
  2048. scitex/scholar/url_finder/translators/individual/pajhwok_afghan_news.py +23 -0
  2049. scitex/scholar/url_finder/translators/individual/papers_past.py +23 -0
  2050. scitex/scholar/url_finder/translators/individual/paris_review.py +23 -0
  2051. scitex/scholar/url_finder/translators/individual/pastebin.py +23 -0
  2052. scitex/scholar/url_finder/translators/individual/patents___uspto.py +23 -0
  2053. scitex/scholar/url_finder/translators/individual/pc_gamer.py +23 -0
  2054. scitex/scholar/url_finder/translators/individual/pc_games.py +23 -0
  2055. scitex/scholar/url_finder/translators/individual/peeters.py +23 -0
  2056. scitex/scholar/url_finder/translators/individual/pei_archival_information_network.py +23 -0
  2057. scitex/scholar/url_finder/translators/individual/pep_web.py +23 -0
  2058. scitex/scholar/url_finder/translators/individual/perceiving_systems.py +23 -0
  2059. scitex/scholar/url_finder/translators/individual/perlego.py +23 -0
  2060. scitex/scholar/url_finder/translators/individual/philosopher_s_imprint.py +23 -0
  2061. scitex/scholar/url_finder/translators/individual/philpapers.py +23 -0
  2062. scitex/scholar/url_finder/translators/individual/pkp_catalog_systems.py +23 -0
  2063. scitex/scholar/url_finder/translators/individual/pleade.py +23 -0
  2064. scitex/scholar/url_finder/translators/individual/plos.py +111 -0
  2065. scitex/scholar/url_finder/translators/individual/plos_journals.py +23 -0
  2066. scitex/scholar/url_finder/translators/individual/pnas.py +23 -0
  2067. scitex/scholar/url_finder/translators/individual/polygon.py +25 -0
  2068. scitex/scholar/url_finder/translators/individual/potsdamer_neueste_nachrichten.py +23 -0
  2069. scitex/scholar/url_finder/translators/individual/prc_history_review.py +23 -0
  2070. scitex/scholar/url_finder/translators/individual/preprints_org.py +23 -0
  2071. scitex/scholar/url_finder/translators/individual/primo.py +25 -0
  2072. scitex/scholar/url_finder/translators/individual/primo_2018.py +23 -0
  2073. scitex/scholar/url_finder/translators/individual/primo_normalized_xml.py +23 -0
  2074. scitex/scholar/url_finder/translators/individual/probing_the_past.py +23 -0
  2075. scitex/scholar/url_finder/translators/individual/project_gutenberg.py +23 -0
  2076. scitex/scholar/url_finder/translators/individual/project_muse.py +25 -0
  2077. scitex/scholar/url_finder/translators/individual/promed.py +23 -0
  2078. scitex/scholar/url_finder/translators/individual/proquest.py +23 -0
  2079. scitex/scholar/url_finder/translators/individual/proquest_ebook_central.py +23 -0
  2080. scitex/scholar/url_finder/translators/individual/proquest_policyfile.py +23 -0
  2081. scitex/scholar/url_finder/translators/individual/protein_data_bank.py +23 -0
  2082. scitex/scholar/url_finder/translators/individual/pubfactory_journals.py +25 -0
  2083. scitex/scholar/url_finder/translators/individual/public_record_office_victoria.py +23 -0
  2084. scitex/scholar/url_finder/translators/individual/publications_du_quebec.py +23 -0
  2085. scitex/scholar/url_finder/translators/individual/publications_office_of_the_european_union.py +23 -0
  2086. scitex/scholar/url_finder/translators/individual/pubmed.py +330 -0
  2087. scitex/scholar/url_finder/translators/individual/pubmed_central.py +71 -0
  2088. scitex/scholar/url_finder/translators/individual/pubmed_xml.py +23 -0
  2089. scitex/scholar/url_finder/translators/individual/pubpub.py +23 -0
  2090. scitex/scholar/url_finder/translators/individual/pypi.py +23 -0
  2091. scitex/scholar/url_finder/translators/individual/qatar_digital_library.py +23 -0
  2092. scitex/scholar/url_finder/translators/individual/queensland_state_archives.py +23 -0
  2093. scitex/scholar/url_finder/translators/individual/r_packages.py +23 -0
  2094. scitex/scholar/url_finder/translators/individual/radio_free_europe__radio_liberty.py +23 -0
  2095. scitex/scholar/url_finder/translators/individual/rand.py +23 -0
  2096. scitex/scholar/url_finder/translators/individual/rdf.py +23 -0
  2097. scitex/scholar/url_finder/translators/individual/rechtspraak_nl.py +25 -0
  2098. scitex/scholar/url_finder/translators/individual/redalyc.py +23 -0
  2099. scitex/scholar/url_finder/translators/individual/reddit.py +23 -0
  2100. scitex/scholar/url_finder/translators/individual/referbibix.py +23 -0
  2101. scitex/scholar/url_finder/translators/individual/refworks_tagged.py +23 -0
  2102. scitex/scholar/url_finder/translators/individual/regeringskansliet.py +23 -0
  2103. scitex/scholar/url_finder/translators/individual/repec___econpapers.py +23 -0
  2104. scitex/scholar/url_finder/translators/individual/repec___ideas.py +23 -0
  2105. scitex/scholar/url_finder/translators/individual/repec_ideas.py +23 -0
  2106. scitex/scholar/url_finder/translators/individual/research_square.py +23 -0
  2107. scitex/scholar/url_finder/translators/individual/researchgate.py +23 -0
  2108. scitex/scholar/url_finder/translators/individual/retsinformation.py +23 -0
  2109. scitex/scholar/url_finder/translators/individual/reuters.py +23 -0
  2110. scitex/scholar/url_finder/translators/individual/ris.py +23 -0
  2111. scitex/scholar/url_finder/translators/individual/rock__paper__shotgun.py +23 -0
  2112. scitex/scholar/url_finder/translators/individual/roll_call.py +23 -0
  2113. scitex/scholar/url_finder/translators/individual/rsc.py +23 -0
  2114. scitex/scholar/url_finder/translators/individual/rsc_publishing.py +23 -0
  2115. scitex/scholar/url_finder/translators/individual/russian_state_library.py +23 -0
  2116. scitex/scholar/url_finder/translators/individual/sacramento_bee.py +23 -0
  2117. scitex/scholar/url_finder/translators/individual/sae_papers.py +23 -0
  2118. scitex/scholar/url_finder/translators/individual/safari_books_online.py +23 -0
  2119. scitex/scholar/url_finder/translators/individual/sage.py +23 -0
  2120. scitex/scholar/url_finder/translators/individual/sage_journals.py +183 -0
  2121. scitex/scholar/url_finder/translators/individual/sage_knowledge.py +23 -0
  2122. scitex/scholar/url_finder/translators/individual/saildart.py +23 -0
  2123. scitex/scholar/url_finder/translators/individual/salt_research_archives.py +23 -0
  2124. scitex/scholar/url_finder/translators/individual/sbn_it.py +23 -0
  2125. scitex/scholar/url_finder/translators/individual/scholars_portal_journals.py +23 -0
  2126. scitex/scholar/url_finder/translators/individual/scholia.py +23 -0
  2127. scitex/scholar/url_finder/translators/individual/schweizer_radio_und_fernsehen_srf.py +23 -0
  2128. scitex/scholar/url_finder/translators/individual/scielo.py +23 -0
  2129. scitex/scholar/url_finder/translators/individual/sciencedirect.py +132 -0
  2130. scitex/scholar/url_finder/translators/individual/scinapse.py +110 -0
  2131. scitex/scholar/url_finder/translators/individual/scopus.py +23 -0
  2132. scitex/scholar/url_finder/translators/individual/semantic_scholar.py +23 -0
  2133. scitex/scholar/url_finder/translators/individual/semantics_visual_library.py +25 -0
  2134. scitex/scholar/url_finder/translators/individual/sfu_ipinch.py +23 -0
  2135. scitex/scholar/url_finder/translators/individual/silverchair.py +301 -0
  2136. scitex/scholar/url_finder/translators/individual/sipri.py +23 -0
  2137. scitex/scholar/url_finder/translators/individual/sirs_knowledge_source.py +23 -0
  2138. scitex/scholar/url_finder/translators/individual/slate.py +23 -0
  2139. scitex/scholar/url_finder/translators/individual/slideshare.py +23 -0
  2140. scitex/scholar/url_finder/translators/individual/slub_dresden.py +23 -0
  2141. scitex/scholar/url_finder/translators/individual/sora.py +25 -0
  2142. scitex/scholar/url_finder/translators/individual/springer.py +121 -0
  2143. scitex/scholar/url_finder/translators/individual/springer_link.py +23 -0
  2144. scitex/scholar/url_finder/translators/individual/ssoar.py +23 -0
  2145. scitex/scholar/url_finder/translators/individual/ssrn.py +63 -0
  2146. scitex/scholar/url_finder/translators/individual/stack_exchange.py +23 -0
  2147. scitex/scholar/url_finder/translators/individual/standard_ebooks.py +23 -0
  2148. scitex/scholar/url_finder/translators/individual/stanford_encyclopedia_of_philosophy.py +25 -0
  2149. scitex/scholar/url_finder/translators/individual/stanford_university_press.py +23 -0
  2150. scitex/scholar/url_finder/translators/individual/state_records_office_of_western_australia.py +23 -0
  2151. scitex/scholar/url_finder/translators/individual/state_records_office_wa.py +23 -0
  2152. scitex/scholar/url_finder/translators/individual/stitcher.py +23 -0
  2153. scitex/scholar/url_finder/translators/individual/store_norske_leksikon.py +23 -0
  2154. scitex/scholar/url_finder/translators/individual/stuff_co_nz.py +23 -0
  2155. scitex/scholar/url_finder/translators/individual/substack.py +23 -0
  2156. scitex/scholar/url_finder/translators/individual/sud_ouest.py +23 -0
  2157. scitex/scholar/url_finder/translators/individual/sueddeutsche_de.py +23 -0
  2158. scitex/scholar/url_finder/translators/individual/summon_2.py +23 -0
  2159. scitex/scholar/url_finder/translators/individual/superlib.py +25 -0
  2160. scitex/scholar/url_finder/translators/individual/svenska_dagbladet.py +23 -0
  2161. scitex/scholar/url_finder/translators/individual/sveriges_radio.py +23 -0
  2162. scitex/scholar/url_finder/translators/individual/svt_nyheter.py +23 -0
  2163. scitex/scholar/url_finder/translators/individual/tagesspiegel.py +23 -0
  2164. scitex/scholar/url_finder/translators/individual/talis_aspire.py +23 -0
  2165. scitex/scholar/url_finder/translators/individual/talisprism.py +23 -0
  2166. scitex/scholar/url_finder/translators/individual/tatknigafund.py +23 -0
  2167. scitex/scholar/url_finder/translators/individual/tatpressa_ru.py +23 -0
  2168. scitex/scholar/url_finder/translators/individual/taylor___francis_ebooks.py +23 -0
  2169. scitex/scholar/url_finder/translators/individual/taylor_and_francis_nejm.py +23 -0
  2170. scitex/scholar/url_finder/translators/individual/taylor_francis.py +23 -0
  2171. scitex/scholar/url_finder/translators/individual/taylor_francis_nejm.py +23 -0
  2172. scitex/scholar/url_finder/translators/individual/taz_de.py +23 -0
  2173. scitex/scholar/url_finder/translators/individual/tei.py +23 -0
  2174. scitex/scholar/url_finder/translators/individual/tesis_doctorals_en_xarxa.py +23 -0
  2175. scitex/scholar/url_finder/translators/individual/the_art_newspaper.py +23 -0
  2176. scitex/scholar/url_finder/translators/individual/the_atlantic.py +23 -0
  2177. scitex/scholar/url_finder/translators/individual/the_boston_globe.py +23 -0
  2178. scitex/scholar/url_finder/translators/individual/the_chronicle_of_higher_education.py +23 -0
  2179. scitex/scholar/url_finder/translators/individual/the_daily_beast.py +23 -0
  2180. scitex/scholar/url_finder/translators/individual/the_economic_times___the_times_of_india.py +23 -0
  2181. scitex/scholar/url_finder/translators/individual/the_economist.py +23 -0
  2182. scitex/scholar/url_finder/translators/individual/the_free_dictionary.py +23 -0
  2183. scitex/scholar/url_finder/translators/individual/the_globe_and_mail.py +23 -0
  2184. scitex/scholar/url_finder/translators/individual/the_guardian.py +23 -0
  2185. scitex/scholar/url_finder/translators/individual/the_hamilton_spectator.py +23 -0
  2186. scitex/scholar/url_finder/translators/individual/the_hindu.py +23 -0
  2187. scitex/scholar/url_finder/translators/individual/the_independent.py +23 -0
  2188. scitex/scholar/url_finder/translators/individual/the_intercept.py +23 -0
  2189. scitex/scholar/url_finder/translators/individual/the_met.py +23 -0
  2190. scitex/scholar/url_finder/translators/individual/the_microfinance_gateway.py +23 -0
  2191. scitex/scholar/url_finder/translators/individual/the_nation.py +23 -0
  2192. scitex/scholar/url_finder/translators/individual/the_national_archives__uk_.py +23 -0
  2193. scitex/scholar/url_finder/translators/individual/the_new_republic.py +23 -0
  2194. scitex/scholar/url_finder/translators/individual/the_new_york_review_of_books.py +23 -0
  2195. scitex/scholar/url_finder/translators/individual/the_new_yorker.py +23 -0
  2196. scitex/scholar/url_finder/translators/individual/the_open_library.py +23 -0
  2197. scitex/scholar/url_finder/translators/individual/the_straits_times.py +23 -0
  2198. scitex/scholar/url_finder/translators/individual/the_telegraph.py +23 -0
  2199. scitex/scholar/url_finder/translators/individual/the_times_and_sunday_times.py +23 -0
  2200. scitex/scholar/url_finder/translators/individual/the_times_of_israel.py +23 -0
  2201. scitex/scholar/url_finder/translators/individual/themarker.py +23 -0
  2202. scitex/scholar/url_finder/translators/individual/theory_of_computing.py +23 -0
  2203. scitex/scholar/url_finder/translators/individual/thesesfr.py +23 -0
  2204. scitex/scholar/url_finder/translators/individual/thieme.py +23 -0
  2205. scitex/scholar/url_finder/translators/individual/time_com.py +23 -0
  2206. scitex/scholar/url_finder/translators/individual/timesmachine.py +23 -0
  2207. scitex/scholar/url_finder/translators/individual/tony_blair_institute.py +23 -0
  2208. scitex/scholar/url_finder/translators/individual/tony_blair_institute_for_global_change.py +23 -0
  2209. scitex/scholar/url_finder/translators/individual/toronto_star.py +23 -0
  2210. scitex/scholar/url_finder/translators/individual/transportation_research_board.py +23 -0
  2211. scitex/scholar/url_finder/translators/individual/treesearch.py +25 -0
  2212. scitex/scholar/url_finder/translators/individual/trove.py +23 -0
  2213. scitex/scholar/url_finder/translators/individual/tumblr.py +23 -0
  2214. scitex/scholar/url_finder/translators/individual/tv_by_the_numbers.py +23 -0
  2215. scitex/scholar/url_finder/translators/individual/tvnz.py +23 -0
  2216. scitex/scholar/url_finder/translators/individual/twitter.py +23 -0
  2217. scitex/scholar/url_finder/translators/individual/ubiquity_journals.py +23 -0
  2218. scitex/scholar/url_finder/translators/individual/uchicago_vufind.py +23 -0
  2219. scitex/scholar/url_finder/translators/individual/unapi.py +23 -0
  2220. scitex/scholar/url_finder/translators/individual/unesco.py +23 -0
  2221. scitex/scholar/url_finder/translators/individual/university_of_california_press_books.py +23 -0
  2222. scitex/scholar/url_finder/translators/individual/university_of_chicago_press_books.py +25 -0
  2223. scitex/scholar/url_finder/translators/individual/university_of_wisconsin_madison_libraries_catalog.py +23 -0
  2224. scitex/scholar/url_finder/translators/individual/university_press_scholarship.py +23 -0
  2225. scitex/scholar/url_finder/translators/individual/unqualified_dublin_core_rdf.py +23 -0
  2226. scitex/scholar/url_finder/translators/individual/unz_print_archive.py +23 -0
  2227. scitex/scholar/url_finder/translators/individual/upcommons.py +23 -0
  2228. scitex/scholar/url_finder/translators/individual/uptodate_references.py +23 -0
  2229. scitex/scholar/url_finder/translators/individual/us_national_archives_research_catalog.py +23 -0
  2230. scitex/scholar/url_finder/translators/individual/usenix.py +23 -0
  2231. scitex/scholar/url_finder/translators/individual/vanity_fair.py +23 -0
  2232. scitex/scholar/url_finder/translators/individual/verniana.py +23 -0
  2233. scitex/scholar/url_finder/translators/individual/verniana_jules_verne_studies.py +23 -0
  2234. scitex/scholar/url_finder/translators/individual/verso_books.py +23 -0
  2235. scitex/scholar/url_finder/translators/individual/vice.py +23 -0
  2236. scitex/scholar/url_finder/translators/individual/victoria___albert_museum.py +23 -0
  2237. scitex/scholar/url_finder/translators/individual/vimeo.py +23 -0
  2238. scitex/scholar/url_finder/translators/individual/vlex.py +25 -0
  2239. scitex/scholar/url_finder/translators/individual/voxeu.py +23 -0
  2240. scitex/scholar/url_finder/translators/individual/wall_street_journal.py +23 -0
  2241. scitex/scholar/url_finder/translators/individual/wanfang_data.py +23 -0
  2242. scitex/scholar/url_finder/translators/individual/washington_monthly.py +23 -0
  2243. scitex/scholar/url_finder/translators/individual/washington_post.py +23 -0
  2244. scitex/scholar/url_finder/translators/individual/web_of_science.py +25 -0
  2245. scitex/scholar/url_finder/translators/individual/web_of_science_nextgen.py +25 -0
  2246. scitex/scholar/url_finder/translators/individual/web_of_science_tagged.py +23 -0
  2247. scitex/scholar/url_finder/translators/individual/welt_online.py +23 -0
  2248. scitex/scholar/url_finder/translators/individual/westlaw_uk.py +23 -0
  2249. scitex/scholar/url_finder/translators/individual/who.py +23 -0
  2250. scitex/scholar/url_finder/translators/individual/wikidata.py +23 -0
  2251. scitex/scholar/url_finder/translators/individual/wikidata_quickstatements.py +23 -0
  2252. scitex/scholar/url_finder/translators/individual/wikileaks_plusd.py +23 -0
  2253. scitex/scholar/url_finder/translators/individual/wikimedia_commons.py +23 -0
  2254. scitex/scholar/url_finder/translators/individual/wikipedia.py +23 -0
  2255. scitex/scholar/url_finder/translators/individual/wikipedia_citation_templates.py +23 -0
  2256. scitex/scholar/url_finder/translators/individual/wikisource.py +23 -0
  2257. scitex/scholar/url_finder/translators/individual/wikiwand.py +23 -0
  2258. scitex/scholar/url_finder/translators/individual/wiktionary.py +23 -0
  2259. scitex/scholar/url_finder/translators/individual/wildlife_biology_in_practice.py +23 -0
  2260. scitex/scholar/url_finder/translators/individual/wiley.py +187 -0
  2261. scitex/scholar/url_finder/translators/individual/wiley_online_library.py +23 -0
  2262. scitex/scholar/url_finder/translators/individual/wilson_center_digital_archive.py +25 -0
  2263. scitex/scholar/url_finder/translators/individual/winnipeg_free_press.py +23 -0
  2264. scitex/scholar/url_finder/translators/individual/wipo.py +23 -0
  2265. scitex/scholar/url_finder/translators/individual/wired.py +23 -0
  2266. scitex/scholar/url_finder/translators/individual/wiso.py +23 -0
  2267. scitex/scholar/url_finder/translators/individual/womennews.py +23 -0
  2268. scitex/scholar/url_finder/translators/individual/world_bank.py +23 -0
  2269. scitex/scholar/url_finder/translators/individual/world_digital_library.py +23 -0
  2270. scitex/scholar/url_finder/translators/individual/world_history_connected.py +23 -0
  2271. scitex/scholar/url_finder/translators/individual/world_shakespeare_bibliography_online.py +23 -0
  2272. scitex/scholar/url_finder/translators/individual/worldcat_discovery_service.py +23 -0
  2273. scitex/scholar/url_finder/translators/individual/xml_contextobject.py +23 -0
  2274. scitex/scholar/url_finder/translators/individual/yandex_books.py +23 -0
  2275. scitex/scholar/url_finder/translators/individual/ynet.py +23 -0
  2276. scitex/scholar/url_finder/translators/individual/youtube.py +23 -0
  2277. scitex/scholar/url_finder/translators/individual/ypfs.py +23 -0
  2278. scitex/scholar/url_finder/translators/individual/ypsf.py +23 -0
  2279. scitex/scholar/url_finder/translators/individual/zbmath.py +102 -0
  2280. scitex/scholar/url_finder/translators/individual/zenodo.py +23 -0
  2281. scitex/scholar/url_finder/translators/individual/ziponline.py +23 -0
  2282. scitex/scholar/url_finder/translators/individual/zobodat.py +23 -0
  2283. scitex/scholar/url_finder/translators/individual/zotero_org.py +23 -0
  2284. scitex/scholar/url_finder/translators/individual/zotero_rdf.py +23 -0
  2285. scitex/scholar/url_finder/translators/individual/zoterobib.py +23 -0
  2286. scitex/scholar/utils/__init__.py +25 -0
  2287. scitex/scholar/utils/bibtex/__init__.py +9 -0
  2288. scitex/scholar/utils/bibtex/_parse_bibtex.py +71 -0
  2289. scitex/scholar/utils/cleanup/__init__.py +8 -0
  2290. scitex/scholar/utils/cleanup/_cleanup_scholar_processes.py +92 -0
  2291. scitex/scholar/utils/create_demo_movie.sh +49 -0
  2292. scitex/scholar/utils/text/_TextNormalizer.py +480 -0
  2293. scitex/scholar/utils/text/__init__.py +9 -0
  2294. scitex/scholar/utils/validation/DOIValidator.py +292 -0
  2295. scitex/scholar/utils/validation/README.md +169 -0
  2296. scitex/scholar/utils/validation/__init__.py +13 -0
  2297. scitex/scholar/utils/validation/validate_library_dois.py +225 -0
  2298. scitex/scholar/zotero/__init__.py +38 -0
  2299. scitex/security/README.md +255 -0
  2300. scitex/security/__init__.py +34 -0
  2301. scitex/security/cli.py +127 -0
  2302. scitex/security/github.py +371 -0
  2303. scitex/session/README.md +252 -0
  2304. scitex/session/__init__.py +55 -0
  2305. scitex/session/_decorator.py +631 -0
  2306. scitex/session/_lifecycle.py +827 -0
  2307. scitex/session/_manager.py +106 -0
  2308. scitex/session/template.py +29 -0
  2309. scitex/sh/README.md +58 -0
  2310. scitex/sh/__init__.py +93 -0
  2311. scitex/sh/_execute.py +224 -0
  2312. scitex/sh/_security.py +67 -0
  2313. scitex/sh/_types.py +28 -0
  2314. scitex/sh/test_sh.py +72 -0
  2315. scitex/sh/test_sh_simple.py +61 -0
  2316. scitex/stats/README.md +1085 -0
  2317. scitex/stats/__init__.py +350 -0
  2318. scitex/stats/__main__.py +281 -0
  2319. scitex/stats/_figrecipe_integration.py +116 -0
  2320. scitex/stats/_mcp/__init__.py +4 -0
  2321. scitex/stats/_mcp/handlers.py +1191 -0
  2322. scitex/stats/_mcp/tool_schemas.py +384 -0
  2323. scitex/stats/_schema.py +50 -0
  2324. scitex/stats/auto/__init__.py +187 -0
  2325. scitex/stats/auto/_context.py +331 -0
  2326. scitex/stats/auto/_formatting.py +679 -0
  2327. scitex/stats/auto/_rules.py +901 -0
  2328. scitex/stats/auto/_selector.py +554 -0
  2329. scitex/stats/auto/_styles.py +721 -0
  2330. scitex/stats/correct/__init__.py +21 -0
  2331. scitex/stats/correct/_correct_bonferroni.py +560 -0
  2332. scitex/stats/correct/_correct_fdr.py +608 -0
  2333. scitex/stats/correct/_correct_fdr_.py +627 -0
  2334. scitex/stats/correct/_correct_holm.py +530 -0
  2335. scitex/stats/correct/_correct_sidak.py +514 -0
  2336. scitex/stats/descriptive/__init__.py +85 -0
  2337. scitex/stats/descriptive/_circular.py +400 -0
  2338. scitex/stats/descriptive/_describe.py +182 -0
  2339. scitex/stats/descriptive/_nan.py +288 -0
  2340. scitex/stats/descriptive/_real.py +176 -0
  2341. scitex/stats/effect_sizes/__init__.py +40 -0
  2342. scitex/stats/effect_sizes/_cliffs_delta.py +328 -0
  2343. scitex/stats/effect_sizes/_cohens_d.py +341 -0
  2344. scitex/stats/effect_sizes/_epsilon_squared.py +312 -0
  2345. scitex/stats/effect_sizes/_eta_squared.py +298 -0
  2346. scitex/stats/effect_sizes/_prob_superiority.py +293 -0
  2347. scitex/stats/io/__init__.py +28 -0
  2348. scitex/stats/io/_bundle.py +156 -0
  2349. scitex/stats/mcp_server.py +405 -0
  2350. scitex/stats/posthoc/__init__.py +19 -0
  2351. scitex/stats/posthoc/_dunnett.py +483 -0
  2352. scitex/stats/posthoc/_games_howell.py +401 -0
  2353. scitex/stats/posthoc/_tukey_hsd.py +375 -0
  2354. scitex/stats/power/__init__.py +19 -0
  2355. scitex/stats/power/_power.py +433 -0
  2356. scitex/stats/run_all.sh +46 -0
  2357. scitex/stats/tests/__init__.py +13 -0
  2358. scitex/stats/tests/correlation/__init__.py +13 -0
  2359. scitex/stats/tests/correlation/_test_pearson.py +252 -0
  2360. scitex/stats/utils/__init__.py +59 -0
  2361. scitex/stats/utils/_effect_size.py +992 -0
  2362. scitex/stats/utils/_formatters.py +276 -0
  2363. scitex/stats/utils/_normalizers.py +923 -0
  2364. scitex/stats/utils/_power.py +433 -0
  2365. scitex/str/__init__.py +112 -0
  2366. scitex/str/_clean_path.py +79 -0
  2367. scitex/str/_color_text.py +52 -0
  2368. scitex/str/_decapitalize.py +58 -0
  2369. scitex/str/_factor_out_digits.py +309 -0
  2370. scitex/str/_format_plot_text.py +567 -0
  2371. scitex/str/_grep.py +48 -0
  2372. scitex/str/_latex.py +97 -0
  2373. scitex/str/_latex_fallback.py +583 -0
  2374. scitex/str/_mask_api.py +39 -0
  2375. scitex/str/_mask_api_key.py +8 -0
  2376. scitex/str/_parse.py +163 -0
  2377. scitex/str/_print_block.py +47 -0
  2378. scitex/str/_print_debug.py +68 -0
  2379. scitex/str/_printc.py +62 -0
  2380. scitex/str/_readable_bytes.py +38 -0
  2381. scitex/str/_remove_ansi.py +23 -0
  2382. scitex/str/_replace.py +134 -0
  2383. scitex/str/_search.py +127 -0
  2384. scitex/str/_squeeze_space.py +36 -0
  2385. scitex/template/README.md +154 -0
  2386. scitex/template/__init__.py +115 -0
  2387. scitex/template/_clone_project.py +167 -0
  2388. scitex/template/_copy.py +105 -0
  2389. scitex/template/_customize.py +116 -0
  2390. scitex/template/_git_strategy.py +122 -0
  2391. scitex/template/_logging_helpers.py +122 -0
  2392. scitex/template/_mcp/__init__.py +4 -0
  2393. scitex/template/_mcp/handlers.py +259 -0
  2394. scitex/template/_mcp/tool_schemas.py +112 -0
  2395. scitex/template/_rename.py +65 -0
  2396. scitex/template/clone_pip_project.py +106 -0
  2397. scitex/template/clone_research.py +106 -0
  2398. scitex/template/clone_singularity.py +106 -0
  2399. scitex/template/clone_writer_directory.py +106 -0
  2400. scitex/template/mcp_server.py +186 -0
  2401. scitex/tex/__init__.py +14 -0
  2402. scitex/tex/_export.py +890 -0
  2403. scitex/tex/_preview.py +118 -0
  2404. scitex/tex/_to_vec.py +119 -0
  2405. scitex/torch/__init__.py +28 -0
  2406. scitex/torch/_apply_to.py +34 -0
  2407. scitex/torch/_nan_funcs.py +77 -0
  2408. scitex/types/_ArrayLike.py +66 -0
  2409. scitex/types/_ColorLike.py +21 -0
  2410. scitex/types/__init__.py +14 -0
  2411. scitex/types/_is_listed_X.py +70 -0
  2412. scitex/ui/__init__.py +173 -0
  2413. scitex/ui/_backends/__init__.py +66 -0
  2414. scitex/ui/_backends/_audio.py +86 -0
  2415. scitex/ui/_backends/_config.py +250 -0
  2416. scitex/ui/_backends/_desktop.py +184 -0
  2417. scitex/ui/_backends/_emacs.py +210 -0
  2418. scitex/ui/_backends/_email.py +78 -0
  2419. scitex/ui/_backends/_matplotlib.py +118 -0
  2420. scitex/ui/_backends/_playwright.py +109 -0
  2421. scitex/ui/_backends/_types.py +58 -0
  2422. scitex/ui/_backends/_webhook.py +77 -0
  2423. scitex/ui/_backends.py +37 -0
  2424. scitex/ui/_mcp/__init__.py +23 -0
  2425. scitex/ui/_mcp/handlers.py +260 -0
  2426. scitex/ui/_mcp/tool_schemas.py +107 -0
  2427. scitex/ui/mcp_server.py +151 -0
  2428. scitex/units.py +324 -0
  2429. scitex/utils/__init__.py +22 -0
  2430. scitex/utils/_compress_hdf5.py +127 -0
  2431. scitex/utils/_email.py +221 -0
  2432. scitex/utils/_grid.py +150 -0
  2433. scitex/utils/_notify.py +267 -0
  2434. scitex/utils/_search.py +123 -0
  2435. scitex/utils/_verify_scitex_format.py +564 -0
  2436. scitex/utils/_verify_scitex_format_v01.py +348 -0
  2437. scitex/utils/template.py +123 -0
  2438. scitex/web/__init__.py +49 -0
  2439. scitex/web/_scraping.py +150 -0
  2440. scitex/web/_search_pubmed.py +501 -0
  2441. scitex/web/_summarize_url.py +158 -0
  2442. scitex/web/download_images.py +316 -0
  2443. scitex/writer/README.md +435 -0
  2444. scitex/writer/Writer.py +487 -0
  2445. scitex/writer/__init__.py +46 -0
  2446. scitex/writer/_clone_writer_project.py +160 -0
  2447. scitex/writer/_compile/__init__.py +41 -0
  2448. scitex/writer/_compile/_compile_async.py +130 -0
  2449. scitex/writer/_compile/_compile_unified.py +148 -0
  2450. scitex/writer/_compile/_parser.py +63 -0
  2451. scitex/writer/_compile/_runner.py +457 -0
  2452. scitex/writer/_compile/_validator.py +46 -0
  2453. scitex/writer/_compile/manuscript.py +110 -0
  2454. scitex/writer/_compile/revision.py +82 -0
  2455. scitex/writer/_compile/supplementary.py +100 -0
  2456. scitex/writer/_dataclasses/__init__.py +44 -0
  2457. scitex/writer/_dataclasses/config/_CONSTANTS.py +46 -0
  2458. scitex/writer/_dataclasses/config/_WriterConfig.py +175 -0
  2459. scitex/writer/_dataclasses/config/__init__.py +9 -0
  2460. scitex/writer/_dataclasses/contents/_ManuscriptContents.py +236 -0
  2461. scitex/writer/_dataclasses/contents/_RevisionContents.py +136 -0
  2462. scitex/writer/_dataclasses/contents/_SupplementaryContents.py +114 -0
  2463. scitex/writer/_dataclasses/contents/__init__.py +9 -0
  2464. scitex/writer/_dataclasses/core/_Document.py +146 -0
  2465. scitex/writer/_dataclasses/core/_DocumentSection.py +546 -0
  2466. scitex/writer/_dataclasses/core/__init__.py +7 -0
  2467. scitex/writer/_dataclasses/results/_CompilationResult.py +165 -0
  2468. scitex/writer/_dataclasses/results/_LaTeXIssue.py +102 -0
  2469. scitex/writer/_dataclasses/results/_SaveSectionsResponse.py +118 -0
  2470. scitex/writer/_dataclasses/results/_SectionReadResponse.py +131 -0
  2471. scitex/writer/_dataclasses/results/__init__.py +11 -0
  2472. scitex/writer/_dataclasses/tree/MINIMUM_FILES.md +121 -0
  2473. scitex/writer/_dataclasses/tree/_ConfigTree.py +86 -0
  2474. scitex/writer/_dataclasses/tree/_ManuscriptTree.py +84 -0
  2475. scitex/writer/_dataclasses/tree/_RevisionTree.py +97 -0
  2476. scitex/writer/_dataclasses/tree/_ScriptsTree.py +118 -0
  2477. scitex/writer/_dataclasses/tree/_SharedTree.py +100 -0
  2478. scitex/writer/_dataclasses/tree/_SupplementaryTree.py +101 -0
  2479. scitex/writer/_dataclasses/tree/__init__.py +23 -0
  2480. scitex/writer/_mcp/__init__.py +4 -0
  2481. scitex/writer/_mcp/handlers.py +765 -0
  2482. scitex/writer/_mcp/tool_schemas.py +363 -0
  2483. scitex/writer/_project/__init__.py +29 -0
  2484. scitex/writer/_project/_create.py +89 -0
  2485. scitex/writer/_project/_trees.py +63 -0
  2486. scitex/writer/_project/_validate.py +61 -0
  2487. scitex/writer/utils/.legacy_git_retry.py +164 -0
  2488. scitex/writer/utils/__init__.py +24 -0
  2489. scitex/writer/utils/_converters.py +635 -0
  2490. scitex/writer/utils/_parse_latex_logs.py +138 -0
  2491. scitex/writer/utils/_parse_script_args.py +156 -0
  2492. scitex/writer/utils/_verify_tree_structure.py +205 -0
  2493. scitex/writer/utils/_watch.py +96 -0
  2494. scitex-2.14.0.dist-info/METADATA +1238 -0
  2495. scitex-2.14.0.dist-info/RECORD +2498 -0
  2496. scitex-2.14.0.dist-info/WHEEL +4 -0
  2497. scitex-2.14.0.dist-info/entry_points.txt +12 -0
  2498. scitex-2.14.0.dist-info/licenses/LICENSE +661 -0
@@ -0,0 +1,204 @@
1
+ <!-- ---
2
+ !-- Timestamp: 2025-07-31 02:15:23
3
+ !-- Author: ywatanabe
4
+ !-- File: /home/ywatanabe/proj/scitex_repo/src/scitex/scholar/docs/zenros_final_url.md
5
+ !-- --- -->
6
+
7
+ Introduction to the Universal Scraper API
8
+ The ZenRows® Universal Scraper API is a versatile tool designed to simplify and enhance the process of extracting data from websites. Whether you’re dealing with static or dynamic content, our API provides a range of features to meet your scraping needs efficiently.
9
+ With Premium Proxies, ZenRows gives you access to over 55 million residential IPs from 190+ countries, ensuring 99.9% uptime and highly reliable scraping sessions. Our system also handles advanced fingerprinting, header rotation, and IP management, enabling you to scrape_async even the most protected sites without needing to manually configure these elements.
10
+ ZenRows makes it easy to bypass complex anti-bot measures, handle JavaScript-heavy sites, and interact with web elements dynamically — all with the right features enabled.
11
+
12
+ Key Features
13
+
14
+ JavaScript Rendering
15
+ Render JavaScript on web pages using a headless browser to scrape_async dynamic content that traditional methods might miss.
16
+ When to use: Use this feature when targeting modern websites built with JavaScript frameworks (React, Vue, Angular), single-page applications (SPAs), or any site that loads content dynamically after the initial page load.
17
+ Real-world scenarios:
18
+ E-commerce product listings that load items as you scroll
19
+ Dashboards and analytics platforms that render charts/data with JavaScript
20
+ Social media feeds that dynamically append content
21
+ Sites that hide_async certain content until JavaScript is rendered
22
+ Additional options:
23
+ Wait times to ensure elements are fully loaded
24
+ Interaction with the page to click buttons, fill forms, or scroll
25
+ Screenshot capabilities for visual verification
26
+ CSS-based extraction of specific elements
27
+
28
+ Premium Proxies
29
+ Leverage a vast network of residential IP addresses across 190+ countries, ensuring a 99.9% uptime for uninterrupted scraping.
30
+ When to use: Essential for accessing websites with sophisticated anti-bot systems, geo-restricted content, or when you consistently encounter blocks with standard datacenter IPs.
31
+ Real-world scenarios:
32
+ Scraping major e-commerce platforms (Amazon, Walmart)
33
+ Accessing real estate listings (Zillow, Redfin)
34
+ Gathering pricing data from travel sites (Expedia, Booking.com)
35
+ Collecting data from financial or investment platforms
36
+ Additional options:
37
+ Geolocation selection to access region-specific content
38
+ Automatic IP rotation to prevent detection
39
+
40
+ Custom Headers
41
+ Add custom HTTP headers to your requests for more control over how your requests appear to target websites.
42
+ When to use: When you need to mimic specific browser behavior, set cookies, or a referer.
43
+ Real-world scenarios:
44
+ Setting language preferences to get content in specific languages
45
+ Adding a referer to avoid being blocked by bot detection systems
46
+
47
+ Session Management
48
+ Use a session ID to maintain the same IP address across multiple requests for up to 10 minutes.
49
+ When to use: When scraping multi-page flows or processes that require maintaining the same IP across multiple requests.
50
+ Real-world scenarios:
51
+ Multi-step forms processes
52
+ Maintaining consistent session for search results and item visits
53
+
54
+ Advanced Data Extraction
55
+ Extract only the data you need with CSS selectors or automatic parsing.
56
+ When to use: When you need specific information from pages and want to reduce bandwidth usage or simplify post-processing.
57
+ Real-world scenarios:
58
+ Extracting pricing information from product pages
59
+ Gathering contact details from business directories
60
+ Collecting specific metrics from analytics pages
61
+
62
+ Language agnostic
63
+ While Python examples are provided, the API works with any programming language that can make HTTP requests.
64
+
65
+ Parameter Overview
66
+ Customize your scraping requests using the following parameters:
67
+ PARAMETER TYPE DEFAULT DESCRIPTION
68
+ apikey required string Get Your Free API Key Your unique API key for authentication
69
+ url required string The URL of the page you want to scrape_async
70
+ js_render boolean false Enable JavaScript rendering with a headless browser. Essential for modern web apps, SPAs, and sites with dynamic content.
71
+ js_instructions string Execute custom JavaScript on the page to interact with elements, scroll, click buttons, or manipulate content. Use when you need to perform actions before the content is returned.
72
+ custom_headers boolean false Enables you to add custom HTTP headers to your request, such as cookies or referer, to better simulate real browser traffic or provide site-specific information.
73
+ premium_proxy boolean false Use residential IPs to bypass anti-bot protection. Essential for accessing protected sites.
74
+ proxy_country string Set the country of the IP used for the request (requires Premium Proxies). Use for accessing geo-restricted content or seeing region-specific content.
75
+ session_id integer Maintain the same IP for multiple requests for up to 10 minutes. Essential for multi-step processes.
76
+ original_status boolean false Return the original HTTP status code from the target page. Useful for debugging in case of errors.
77
+ allowed_status_codes string Returns the content even if the target page fails with specified status codes. Useful for debugging or when you need content from error pages.
78
+ wait_for string Wait for a specific CSS Selector to appear in the DOM before returning content. Essential for elements that load asynchronously.
79
+ wait integer 0 Wait a fixed amount of milliseconds after page load. Use for sites that load content in stages or have delayed rendering.
80
+ block_resources string Block specific resources (images, fonts, etc.) from loading to speed up scraping and reduce bandwidth usage. Enabled by default, carefull when changing it.
81
+ json_response string false Capture network requests in JSON format, including XHR or Fetch data. Ideal for intercepting API calls made by the web page.
82
+ css_extractor string (JSON) Extract specific elements using CSS selectors. Perfect for targeting only the data you need from complex pages.
83
+ autoparse boolean false Automatically extract structured data from HTML. Great for quick extraction without specifying selectors.
84
+ response_type string Convert HTML to other formats (Markdown, Plaintext, PDF). Useful for content readability, storage, or to train AI models.
85
+ screenshot boolean false Capture an above-the-fold screenshot of the page. Helpful for visual verification or debugging.
86
+ screenshot_fullpage boolean false Capture a full-page screenshot. Useful for content that extends below the fold.
87
+ screenshot_selector string Capture a screenshot of a specific element using CSS Selector. Perfect for capturing specific components.
88
+ screenshot_format string Choose between png (default) and jpeg formats for screenshots.
89
+ screenshot_quality integer For JPEG format, set quality from 1 to 100. Lower values reduce file size but decrease quality.
90
+ outputs string Specify which data types to extract from the scrape_async HTML.
91
+
92
+ Pricing
93
+ ZenRows® provides flexible plans tailored to different web scraping needs, starting from $69 per month. This entry-level plan allows you to scrape_async up to 250,000 URLs using basic requests. For more demanding needs, our Enterprise plans scale up to 38 million URLs or more.
94
+ For complex or highly protected websites, enabling advanced features like JavaScript rendering (js_render) and Premium Proxies unlocks ZenRows’ full potential, ensuring the best success rate possible.
95
+ The pricing depends on the complexity of the request — you only pay for the scraping tech you need.
96
+ Basic request: Standard rate per 1,000 requests
97
+ JS rendering: 5x cost
98
+ Premium proxies: 10x cost
99
+ Both (JS & proxies): 25x cost
100
+ For example, on the Business plan:
101
+ Basic: $0.10 per 1,000 requests
102
+ JS: $0.45 per 1,000
103
+ Proxies: $0.90 per 1,000
104
+ Both: $2.50 per 1,000
105
+ For detailed information about different plan options and pricing, visit our pricing page and our pricing documentation page.
106
+
107
+ Concurrency and Response Size Limits
108
+ Concurrency determines how many requests can run simultaneously:
109
+ Plan Concurrency Limit Response Size Limit
110
+ Developer 5 5 MB
111
+ Startup 20 10 MB
112
+ Business 50 10 MB
113
+ Business 500 100 20 MB
114
+ Business 1K 150 20 MB
115
+ Business 2K 200 50 MB
116
+ Business 3K 250 50 MB
117
+ Enterprise Custom 50 MB
118
+ Important notes about concurrency:
119
+ Canceling requests on the client side does NOT immediately free up concurrency slots
120
+ The server continues processing canceled requests until completion
121
+ If you exceed your concurrency limit, you’ll receive a 429 Too Many Requests error
122
+ If response size is exceeded:
123
+ You’ll receive a 413 Content Too Large error
124
+ No partial data will be returned when a size limit is hit
125
+ Strategies for handling large pages:
126
+ Use CSS selectors: Target only the specific data you need with css_extractor parameter
127
+ Use response_type: Convert to markdown or plaintext to reduce size
128
+ Disable screenshots: If using screenshot features, these can significantly increase response size
129
+ Segment your scraping: Break down large pages into smaller, more manageable sections
130
+
131
+ Response Headers
132
+ ZenRows provides useful information through response headers:
133
+ Header Description Example Value Usage
134
+ Concurrency-Limit Maximum concurrent requests allowed by your plan 20 Monitor your plan’s capacity
135
+ Concurrency-Remaining Available concurrent request slots 17 Adjust request rate dynamically
136
+ X-Request-Cost Cost of this request 0.001 Track balance consumption
137
+ X-Request-Id Unique identifier for this request 67fa4e35647515d8ad61bb3ee041e1bb Include when contacting support
138
+ Zr-Final-Url The final URL after any redirects occurred during the request https://example.com/page?id=123 Track redirects
139
+ Why these headers matter:
140
+ Monitoring usage: Track your concurrent usage and stay within limits
141
+ Support requests: When reporting issues, always include the X-Request-Id for faster troubleshooting
142
+ Cost tracking: The X-Request-Cost helps you monitor your usage per request
143
+ Redirection tracking: Zr-Final-Url show_asyncs where you ended up after any redirects
144
+
145
+ Additional Considerations
146
+ Beyond the core features and limits, these additional aspects are important to consider when using the Universal Scraper API:
147
+
148
+ Cancelled Request Behavior
149
+ When you cancel a request on the client side:
150
+ The server continues processing the request until completion
151
+ The concurrency slot remains occupied for up to 3 minutes
152
+ This can result in unexpected 429 Too Many Requests errors
153
+ Implement request timeouts carefully to avoid depleting concurrency slots
154
+
155
+ Security Best Practices
156
+ To keep your ZenRows integration secure:
157
+ Store API keys as environment variables, never hardcode them
158
+ Monitor usage patterns to detect unauthorized use
159
+ Rotate API keys periodically for critical applications
160
+
161
+ Regional Performance Optimization
162
+ To optimize performance based on target website location:
163
+ Consider the geographical distance between your servers and the target website
164
+ For global applications, distribute scraping across multiple regions - the system does it by default
165
+ Monitor response times by region to identify optimization opportunities
166
+ For region-specific content, use the appropriate proxy_country parameter
167
+
168
+ Compression Support
169
+ ZenRows API supports response compression to optimize bandwidth usage and improve performance. Enabling compression offers several benefits for your scraping operations:
170
+ Reduced latency: Smaller response sizes mean faster data transfer times
171
+ Lower bandwidth consumption: Minimize data transfer costs and usage
172
+ Improved client performance: Less data to process means reduced memory usage
173
+ ZenRows supports the following compression encodings: gzip, deflate, br.
174
+ To use compression, include the appropriate Accept-Encoding header in your requests. Most HTTP clients already compress the request automatically. But you can also provide simple options to enable it:
175
+
176
+ Python (Requests)
177
+
178
+ Javascript (Axios)
179
+
180
+ cURL
181
+
182
+ Copy
183
+
184
+ Ask AI
185
+ import requests
186
+
187
+ response = requests.get(
188
+ "https://api.zenrows.com/v1/",
189
+ params={
190
+ "apikey": "YOUR_API_KEY",
191
+ "url": "https://example.com"
192
+ },
193
+ # Python Requests uses compression by default
194
+ # headers={"Accept-Encoding": "gzip, deflate"}
195
+ )
196
+ Most modern HTTP clients automatically handle decompression, so you’ll receive the uncompressed content in your response object without any additional configuration.
197
+ Was this page helpful?
198
+
199
+
200
+ Yes
201
+
202
+ No
203
+
204
+ <!-- EOF -->
@@ -0,0 +1,336 @@
1
+ <!-- ---
2
+ !-- Timestamp: 2025-07-31 01:42:22
3
+ !-- Author: ywatanabe
4
+ !-- File: /home/ywatanabe/proj/scitex_repo/src/scitex/scholar/docs/zenrows_with_playwright.md
5
+ !-- --- -->
6
+
7
+ Integrating ZenRows Scraping Browser with Playwright
8
+ Learn to extract data from any website using ZenRows’ Scraping Browser with Playwright. This guide walks you through creating your first browser-based scraping request that can handle complex JavaScript-heavy sites with full browser automation.
9
+ ZenRows’ Scraping Browser provides cloud-based Chrome instances you can control using Playwright. Whether dealing with dynamic content, complex user interactions, or sophisticated anti-bot protection, you can get started in minutes with Playwright’s powerful automation capabilities.
10
+
11
+ 1. Set Up Your Project
12
+
13
+ Set Up Your Development Environment
14
+ Before diving in, ensure you have the proper development environment and Playwright installed. The Scraping Browser works seamlessly with both Python and Node.js versions of Playwright.
15
+ While previous versions may work, we recommend using the latest stable versions for optimal performance and security.
16
+ Python
17
+ Node.js
18
+ Python 3+ installed (latest stable version recommended). Using an IDE like PyCharm or Visual Studio Code with the Python extension is recommended.
19
+
20
+ Copy
21
+
22
+ Ask AI
23
+ # Install Python (if not already installed)
24
+ # Visit https://www.python.org/downloads/ or use package managers:
25
+
26
+ # macOS (using Homebrew)
27
+ brew install python
28
+
29
+ # Ubuntu/Debian
30
+ sudo apt update && sudo apt install python3 python3-pip
31
+
32
+ # Windows (using Chocolatey)
33
+ choco install python
34
+
35
+ # Install Playwright
36
+ pip install playwright
37
+ playwright install
38
+ If you need help setting up your environment, check out our detailed Playwright web scraping guide
39
+
40
+ Get Your API Key and Connection URL
41
+ Sign Up for a free ZenRows account and get your API key from the Scraping Browser dashboard. You’ll need this key to authenticate_async your WebSocket connection.
42
+
43
+ 2. Make Your First Request
44
+ Start with a simple request to understand how the Scraping Browser works with Playwright. We’ll use the E-commerce Challenge page to demonstrate how to connect to the browser and extract the page title.
45
+
46
+ Python
47
+
48
+ Node.js
49
+
50
+ Copy
51
+
52
+ Ask AI
53
+ # pip install playwright
54
+ import asyncio
55
+ from playwright.async_api import async_playwright
56
+
57
+ # scraping browser connection URL
58
+ connection_url = "wss://browser.zenrows.com?apikey=YOUR_ZENROWS_API_KEY"
59
+
60
+ async def scrape_asyncr_async():
61
+ async with async_playwright() as p:
62
+ # connect to the scraping browser
63
+ browser = await p.chromium.connect_over_cdp(connection_url)
64
+ context = browser.contexts[0] if browser.contexts else await browser.new_context()
65
+ page = await context.new_page()
66
+
67
+ await page.goto('https://www.scrapingcourse.com/ecommerce/')
68
+ print(await page.title())
69
+
70
+ await browser.close()
71
+
72
+ if __name__ == "__main__":
73
+ asyncio.run(scrape_asyncr_async())
74
+ Replace YOUR_ZENROWS_API_KEY with your actual API key and run the script:
75
+
76
+ Python
77
+
78
+ Node.js
79
+
80
+ Copy
81
+
82
+ Ask AI
83
+ python scrape_asyncr_async.py
84
+
85
+ Expected Output
86
+ The script will print the page title:
87
+
88
+ Copy
89
+
90
+ Ask AI
91
+ ScrapingCourse.com E-commerce Challenge
92
+ Perfect! You’ve just made your first web scraping request with the ZenRows Scraping Browser using Playwright.
93
+
94
+ 3. Build a Real-World Scraping Scenario
95
+ Let’s scale up to a practical scraping scenario by extracting product information from the e-commerce site. Using Playwright’s powerful selectors and data extraction methods, we’ll modify our code to extract product names, prices, and URLs from the page.
96
+
97
+ Python
98
+
99
+ Node.js
100
+
101
+ Copy
102
+
103
+ Ask AI
104
+ # pip install playwright
105
+ import asyncio
106
+ from playwright.async_api import async_playwright
107
+
108
+ # scraping browser connection URL
109
+ connection_url = "wss://browser.zenrows.com?apikey=YOUR_ZENROWS_API_KEY"
110
+
111
+ async def scrape_asyncr_async(url):
112
+ async with async_playwright() as p:
113
+ # connect to the scraping browser
114
+ browser = await p.chromium.connect_over_cdp(connection_url)
115
+ page = await browser.new_page()
116
+
117
+ try:
118
+ await page.goto(url)
119
+
120
+ # extract the desired data
121
+ await page.wait_for_selector(".product")
122
+ products = await page.query_selector_all(".product")
123
+ data = []
124
+
125
+ for product in products:
126
+ name = await product.query_selector(".product-name")
127
+ price = await product.query_selector(".price")
128
+ product_url = await product.query_selector(".woocommerce-LoopProduct-link")
129
+
130
+ data.append({
131
+ "name": await name.text_content() or "",
132
+ "price": await price.text_content() or "",
133
+ "productURL": await product_url.get_attribute("href") or "",
134
+ })
135
+
136
+ return data
137
+ except Exception as error:
138
+ return error
139
+ finally:
140
+ await page.close()
141
+ await browser.close()
142
+
143
+ if __name__ == "__main__":
144
+ url = "https://www.scrapingcourse.com/ecommerce/"
145
+ products = asyncio.run(scrape_asyncr_async(url))
146
+ print(products)
147
+
148
+ Run Your Application
149
+ Execute your script to test the scraping functionality:
150
+
151
+ Python
152
+
153
+ Node.js
154
+
155
+ Copy
156
+
157
+ Ask AI
158
+ python scrape_asyncr_async.py
159
+ Example Output
160
+ The script will extract and display product information:
161
+
162
+ Copy
163
+
164
+ Ask AI
165
+ [
166
+ {
167
+ "name": "Abominable Hoodie",
168
+ "price": "$69.00",
169
+ "productURL": "https://www.scrapingcourse.com/ecommerce/product/abominable-hoodie/"
170
+ },
171
+ {
172
+ "name": "Artemis Running Short",
173
+ "price": "$45.00",
174
+ "productURL": "https://www.scrapingcourse.com/ecommerce/product/artemis-running-short/"
175
+ }
176
+ // ... more products
177
+ ]
178
+ Congratulations! 🎉 You’ve successfully built a real-world scraping scenario with Playwright and the ZenRows Scraping Browser.
179
+
180
+ 4. Alternative: Using the ZenRows Browser SDK
181
+ For a more streamlined development experience, you can use the ZenRows Browser SDK instead of managing WebSocket URLs manually. The SDK simplifies connection management and provides additional utilities.
182
+ The ZenRows Browser SDK is currently only available for JavaScript. For more details, see the GitHub Repository.
183
+
184
+ Install the SDK
185
+ Node.js
186
+
187
+ Copy
188
+
189
+ Ask AI
190
+ npm install @zenrows/browser-sdk
191
+
192
+ Quick Migration from WebSocket URL
193
+ If you have existing Playwright code using the WebSocket connection, migrating to the SDK requires minimal changes:
194
+ Before (WebSocket URL):
195
+ Node.js
196
+
197
+ Copy
198
+
199
+ Ask AI
200
+ const { chromium } = require('playwright');
201
+ const connectionURL = 'wss://browser.zenrows.com?apikey=YOUR_ZENROWS_API_KEY';
202
+
203
+ const browser = await chromium.connectOverCDP(connectionURL);
204
+ After (SDK):
205
+ Node.js
206
+
207
+ Copy
208
+
209
+ Ask AI
210
+ const { chromium } = require('playwright');
211
+ const { ScrapingBrowser } = require('@zenrows/browser-sdk');
212
+
213
+ const scrapingBrowser = new ScrapingBrowser({ apiKey: 'YOUR_ZENROWS_API_KEY' });
214
+ const connectionURL = scrapingBrowser.getConnectURL();
215
+ const browser = await chromium.connectOverCDP(connectionURL);
216
+
217
+ Complete Example with SDK
218
+ Node.js
219
+
220
+ Copy
221
+
222
+ Ask AI
223
+ // npm install @zenrows/browser-sdk playwright
224
+ const { chromium } = require('playwright');
225
+ const { ScrapingBrowser } = require('@zenrows/browser-sdk');
226
+
227
+ const scrape_asyncr_async = async () => {
228
+ // Initialize SDK
229
+ const scrapingBrowser = new ScrapingBrowser({ apiKey: 'YOUR_ZENROWS_API_KEY' });
230
+ const connectionURL = scrapingBrowser.getConnectURL();
231
+
232
+ const browser = await chromium.connectOverCDP(connectionURL);
233
+ const page = await browser.newPage();
234
+
235
+ await page.goto('https://www.scrapingcourse.com/ecommerce/');
236
+ console.log(await page.title());
237
+
238
+ await browser.close();
239
+ };
240
+
241
+ scrape_asyncr_async();
242
+
243
+ SDK Benefits
244
+ Simplified configuration: No need to manually construct WebSocket URLs
245
+ Better error handling: Built-in error messages and debugging information
246
+ Future-proof: Automatic updates to connection protocols and endpoints
247
+ Additional utilities: Access to helper methods and advanced configuration options
248
+ The SDK is particularly useful for production environments where you want cleaner code organization and better error handling.
249
+
250
+ How Playwright with Scraping Browser Helps
251
+ Combining Playwright with ZenRows’ Scraping Browser provides powerful advantages for web scraping:
252
+
253
+ Key Benefits
254
+ Cloud-based browser instances: Run Playwright scripts on remote Chrome instances, freeing up local resources for other tasks.
255
+ Seamless integration: Connect your existing Playwright code to ZenRows with just a WebSocket URL change - no complex setup required.
256
+ Advanced automation: Use Playwright’s full feature set, which includes page interactions, form submissions, file uploads, and complex user workflows.
257
+ Built-in anti-detection: Benefit from residential proxy rotation and genuine browser fingerprints automatically.
258
+ Cross-browser support: While we use Chromium for optimal compatibility, Playwright’s API remains consistent across different browser engines.
259
+ High concurrency: Scale your Playwright scripts with up to 150 concurrent browser instances, depending on your plan.
260
+ Reliable execution: Cloud infrastructure ensures consistent performance without local browser management overhead.
261
+
262
+ Troubleshooting
263
+ Below are common issues you might encounter when using Playwright with the Scraping Browser:
264
+ 1
265
+ Connection Refused
266
+
267
+ If you receive a Connection Refused error, it might be due to:
268
+ API Key Issues: Verify that you’re using the correct API key.
269
+ Network Issues: Check your internet connection and firewall settings.
270
+ WebSocket Endpoint: Ensure that the WebSocket URL (wss://browser.zenrows.com) is correct.
271
+ 2
272
+ Empty Data or Timeout Errors
273
+
274
+ Use page.waitForSelector() to ensure elements load before extraction
275
+ Increase timeout values for slow-loading pages
276
+ scrape_asyncr_async.js
277
+
278
+ Copy
279
+
280
+ Ask AI
281
+ await page.goto('https://example.com', { timeout: 60000 }); // 60 seconds
282
+ Verify CSS selectors are correct using browser developer tools
283
+ Add page.waitForLoadState('networkidle') for dynamic content
284
+ 3
285
+ Browser Context Issues
286
+
287
+ Use existing context when available: browser.contexts[0] if browser.contexts else await browser.new_context()
288
+ Properly close pages and browsers to prevent resource leaks
289
+ Handle exceptions properly to ensure cleanup occurs
290
+ 4
291
+ Geolocation Blocks
292
+
293
+ Although ZenRows rotates IPs, some websites may block them based on location. Try adjusting the region or country settings.
294
+ For more information, check our Scraping Browser Region Documentation and Country Documentation.
295
+ 5
296
+ Get Help From ZenRows Experts
297
+
298
+ Our support team is available to assist you if issues persist despite following these solutions. Use the Scraping Browser dashboard or email us for personalized help from ZenRows experts.
299
+
300
+ Next Steps
301
+ You now have a solid foundation for Playwright-based web scraping with ZenRows. Here are some recommended next steps:
302
+ Practical Use Cases:
303
+ Learn common scraping patterns, including screenshots, custom JavaScript execution, and form handling.
304
+ Advanced Features:
305
+ Master complex automation workflows and advanced Playwright capabilities.
306
+ Complete Scraping Browser Documentation:
307
+ Explore all available features and advanced configuration options for the Scraping Browser.
308
+ Playwright Advanced Features:
309
+ Learn about page interactions, form handling, file uploads, and complex automation workflows.
310
+ Playwright Web Scraping Guide:
311
+ Dive deeper into Playwright techniques for sophisticated scraping scenarios.
312
+ Pricing and Plans:
313
+ Understand how browser usage is calculated and choose the plan that fits your scraping volume.
314
+
315
+ Frequently Asked Questions (FAQ)
316
+ Can I use ZenRows® Scraping Browser with Puppeteer?
317
+
318
+ Do I need to configure proxies manually with ZenRows® Scraping Browser?
319
+
320
+ Can the Scraping Browser solve CAPTCHAs?
321
+
322
+ Can I use all Playwright features with the Scraping Browser?
323
+
324
+ How do I handle multiple pages or tabs?
325
+
326
+ Can I use Playwright's built-in retry mechanisms?
327
+
328
+ How do I take screenshots with Playwright and Scraping Browser?
329
+
330
+ Can I use Playwright's network interception features?
331
+
332
+ What's the difference between using Playwright locally vs. with Scraping Browser?
333
+
334
+ How do I handle file downloads with Playwright and Scraping Browser?
335
+
336
+ <!-- EOF -->