academic-refchecker 2.0.15__tar.gz → 2.0.16__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. {academic_refchecker-2.0.15/academic_refchecker.egg-info → academic_refchecker-2.0.16}/PKG-INFO +1 -1
  2. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16/academic_refchecker.egg-info}/PKG-INFO +1 -1
  3. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/academic_refchecker.egg-info/SOURCES.txt +3 -0
  4. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/refchecker_wrapper.py +4 -3
  5. academic_refchecker-2.0.16/backend/static/assets/index-B92lKsA8.js +25 -0
  6. academic_refchecker-2.0.16/backend/static/assets/index-BuguAhjS.css +1 -0
  7. academic_refchecker-2.0.16/backend/static/assets/index-DMZJNrR0.js +25 -0
  8. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/static/index.html +2 -2
  9. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/__version__.py +1 -1
  10. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/checkers/arxiv_citation.py +125 -35
  11. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/checkers/semantic_scholar.py +263 -0
  12. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/LICENSE +0 -0
  13. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/MANIFEST.in +0 -0
  14. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/README.md +0 -0
  15. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/academic_refchecker.egg-info/dependency_links.txt +0 -0
  16. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/academic_refchecker.egg-info/entry_points.txt +0 -0
  17. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/academic_refchecker.egg-info/requires.txt +0 -0
  18. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/academic_refchecker.egg-info/top_level.txt +0 -0
  19. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/__init__.py +0 -0
  20. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/__main__.py +0 -0
  21. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/cli.py +0 -0
  22. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/concurrency.py +0 -0
  23. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/database.py +0 -0
  24. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/main.py +0 -0
  25. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/models.py +0 -0
  26. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/static/assets/index-2P6L_39v.css +0 -0
  27. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/static/assets/index-hk21nqxR.js +0 -0
  28. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/static/favicon.svg +0 -0
  29. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/static/vite.svg +0 -0
  30. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/thumbnail.py +0 -0
  31. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/backend/websocket_manager.py +0 -0
  32. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/pyproject.toml +0 -0
  33. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/requirements.txt +0 -0
  34. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/scripts/download_db.py +0 -0
  35. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/scripts/run_tests.py +0 -0
  36. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/scripts/start_vllm_server.py +0 -0
  37. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/setup.cfg +0 -0
  38. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/__init__.py +0 -0
  39. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/__main__.py +0 -0
  40. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/checkers/__init__.py +0 -0
  41. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/checkers/crossref.py +0 -0
  42. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/checkers/enhanced_hybrid_checker.py +0 -0
  43. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/checkers/github_checker.py +0 -0
  44. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/checkers/local_semantic_scholar.py +0 -0
  45. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/checkers/openalex.py +0 -0
  46. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/checkers/openreview_checker.py +0 -0
  47. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/checkers/pdf_paper_checker.py +0 -0
  48. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/checkers/webpage_checker.py +0 -0
  49. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/config/__init__.py +0 -0
  50. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/config/logging.conf +0 -0
  51. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/config/settings.py +0 -0
  52. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/core/__init__.py +0 -0
  53. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/core/db_connection_pool.py +0 -0
  54. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/core/parallel_processor.py +0 -0
  55. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/core/refchecker.py +0 -0
  56. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/database/__init__.py +0 -0
  57. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/database/download_semantic_scholar_db.py +0 -0
  58. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/llm/__init__.py +0 -0
  59. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/llm/base.py +0 -0
  60. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/llm/providers.py +0 -0
  61. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/scripts/__init__.py +0 -0
  62. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/scripts/start_vllm_server.py +0 -0
  63. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/services/__init__.py +0 -0
  64. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/services/pdf_processor.py +0 -0
  65. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/__init__.py +0 -0
  66. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/arxiv_rate_limiter.py +0 -0
  67. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/arxiv_utils.py +0 -0
  68. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/author_utils.py +0 -0
  69. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/biblatex_parser.py +0 -0
  70. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/bibliography_utils.py +0 -0
  71. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/bibtex_parser.py +0 -0
  72. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/config_validator.py +0 -0
  73. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/db_utils.py +0 -0
  74. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/doi_utils.py +0 -0
  75. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/error_utils.py +0 -0
  76. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/mock_objects.py +0 -0
  77. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/text_utils.py +0 -0
  78. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/unicode_utils.py +0 -0
  79. {academic_refchecker-2.0.15 → academic_refchecker-2.0.16}/src/refchecker/utils/url_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: academic-refchecker
3
- Version: 2.0.15
3
+ Version: 2.0.16
4
4
  Summary: A comprehensive tool for validating reference accuracy in academic papers
5
5
  Author-email: Mark Russinovich <markrussinovich@hotmail.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: academic-refchecker
3
- Version: 2.0.15
3
+ Version: 2.0.16
4
4
  Summary: A comprehensive tool for validating reference accuracy in academic papers
5
5
  Author-email: Mark Russinovich <markrussinovich@hotmail.com>
6
6
  License-Expression: MIT
@@ -23,6 +23,9 @@ backend/static/favicon.svg
23
23
  backend/static/index.html
24
24
  backend/static/vite.svg
25
25
  backend/static/assets/index-2P6L_39v.css
26
+ backend/static/assets/index-B92lKsA8.js
27
+ backend/static/assets/index-BuguAhjS.css
28
+ backend/static/assets/index-DMZJNrR0.js
26
29
  backend/static/assets/index-hk21nqxR.js
27
30
  scripts/download_db.py
28
31
  scripts/run_tests.py
@@ -291,7 +291,7 @@ class ProgressRefChecker:
291
291
  "authoritative_urls": authoritative_urls,
292
292
  "corrected_reference": None
293
293
  }
294
- logger.info(f"_format_verification_result output: suggestions={formatted_suggestions}, status={status}")
294
+ logger.debug(f"_format_verification_result output: status={status}, errors={len(formatted_errors)}, warnings={len(formatted_warnings)}, suggestions={len(formatted_suggestions)}")
295
295
  return result
296
296
 
297
297
  def _format_error_result(
@@ -961,6 +961,7 @@ class ProgressRefChecker:
961
961
 
962
962
  try:
963
963
  # Run the sync check in a thread
964
+ # Use 240 second timeout to allow for ArXiv rate limiting with version checking
964
965
  result = await asyncio.wait_for(
965
966
  loop.run_in_executor(
966
967
  None, # Use default executor
@@ -968,7 +969,7 @@ class ProgressRefChecker:
968
969
  reference,
969
970
  idx + 1
970
971
  ),
971
- timeout=120.0 # 2 minute timeout per reference
972
+ timeout=240.0 # 4 minute timeout per reference (allows for rate-limited version checking)
972
973
  )
973
974
  except asyncio.TimeoutError:
974
975
  result = {
@@ -981,7 +982,7 @@ class ProgressRefChecker:
981
982
  "status": "error",
982
983
  "errors": [{
983
984
  "error_type": "timeout",
984
- "error_details": "Verification timed out after 120 seconds"
985
+ "error_details": "Verification timed out after 240 seconds"
985
986
  }],
986
987
  "warnings": [],
987
988
  "authoritative_urls": [],