academic-refchecker 2.0.14__py3-none-any.whl → 2.0.16__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: academic-refchecker
3
- Version: 2.0.14
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,4 +1,4 @@
1
- academic_refchecker-2.0.14.dist-info/licenses/LICENSE,sha256=Kwrx3fePVCeEFDCZvCW4OuoTNBiSoYbpGBI6qzGhWF0,1067
1
+ academic_refchecker-2.0.16.dist-info/licenses/LICENSE,sha256=Kwrx3fePVCeEFDCZvCW4OuoTNBiSoYbpGBI6qzGhWF0,1067
2
2
  backend/__init__.py,sha256=TFVkOx5tSp3abty15RzUbaSwQ9ZD0kfUn7PDh63xkYY,521
3
3
  backend/__main__.py,sha256=74V7yUMsRSZaaRyXYm-rZVc3TVUcUgwsoTQTUbV5EqM,211
4
4
  backend/cli.py,sha256=xV3l9M5OdNQQYOcrzj2d_7RmCgj7CXP_1oi0TPe6zNo,1672
@@ -6,19 +6,22 @@ backend/concurrency.py,sha256=2KY9I_8dDkyl_HTGx27ZxU4rFXx2vqbGOlo5RrRbPjA,3223
6
6
  backend/database.py,sha256=1jLP1m9vNk5sEs4bh_xmX0T5ilZkUTX1c7nOVz5XnNc,30681
7
7
  backend/main.py,sha256=Vh_hbLAGYZzitwXAZFRiU68S25ySGPmNGepQo2qwzfQ,56298
8
8
  backend/models.py,sha256=El2F-RTHgxQ7-WODmiYCpjsTFDpjwF9PBt-JDa_XipE,2591
9
- backend/refchecker_wrapper.py,sha256=p7xAR-mSaJ-Mj2RgelrecZ6PhpjajzlwOWRIf9PpQiw,55100
9
+ backend/refchecker_wrapper.py,sha256=VSQkfsMGul2bj0S7BqvhqlyuQwWykYK6fHkRKVoVFw4,55313
10
10
  backend/thumbnail.py,sha256=zw6wLMyv9g4p83yqICh2ZHOAWK0WR6E8HMV6o-ocPmc,22251
11
11
  backend/websocket_manager.py,sha256=l-Wou-rKV6n7t6Gcf5fR6s_4G-mssSrba0davNnYS70,4247
12
12
  backend/static/favicon.svg,sha256=R0oQauh16Uy0D7JlT27k-zdjJtrvfPKOe9La5vKYwuM,395
13
- backend/static/index.html,sha256=eJDL5t98ZJOl85d1_kJNNSUhmgGft_PCKcgbdG0UvCw,598
13
+ backend/static/index.html,sha256=rpJygi25J7qw2AjMlsSBU-cCFErB7cW2BxImibw22P8,598
14
14
  backend/static/vite.svg,sha256=SnSK_UQ5GLsWWRyDTEAdrjPoeGGrXbrQgRw6O0qSFPs,1497
15
15
  backend/static/assets/index-2P6L_39v.css,sha256=KC3Wa6jfD1qwmEoVpqTovlzf8fsn5oHYz3NKta6BJxw,27469
16
+ backend/static/assets/index-B92lKsA8.js,sha256=ArY4rGMRUtgJ2Y4gGMZg1zLr4LYXLwBrCCm5fjFYRmU,374957
17
+ backend/static/assets/index-BuguAhjS.css,sha256=6COOqB9yZKMeYDpjz-RUX4fy2TUcqMPMUZ01Zg7A9WE,28249
18
+ backend/static/assets/index-DMZJNrR0.js,sha256=UhK5CQ8IufZmx6FTvXUCtkRxTqpGK7czSbA2paTMd5o,374731
16
19
  backend/static/assets/index-hk21nqxR.js,sha256=z2agP8ZFYw4AfYi-GJ5E_8_k-lPF-frXOJtPk-I0hDs,369533
17
20
  refchecker/__init__.py,sha256=Pg5MrtLxDBRcNYcI02N-bv3tzURVd1S3nQ8IyF7Zw7E,322
18
21
  refchecker/__main__.py,sha256=agBbT9iKN0g2xXtRNCoh29Nr7z2n5vU-r0MCVJKi4tI,232
19
- refchecker/__version__.py,sha256=m3Fjueai8G45bivp4BWjHv85KJhSXCTkbngykxhZdiU,66
22
+ refchecker/__version__.py,sha256=26H6z4t4GMLlqIinf2txa-9ebt2c1ncdGIlLLusiaKA,66
20
23
  refchecker/checkers/__init__.py,sha256=-dR7HX0bfPq9YMXrnODoYbfNWFLqu706xoVsUdWHYRI,611
21
- refchecker/checkers/arxiv_citation.py,sha256=7r75KZzDjrFtFDvjZM7ib9m-YDsTLLfquXkWvE32pf0,23097
24
+ refchecker/checkers/arxiv_citation.py,sha256=j_waQmQSP3iuZdVuBE92ghtiOdGFTCx09s6f4mHik6o,27777
22
25
  refchecker/checkers/crossref.py,sha256=88moAyTudBqf9SKqTQkNAq1yyuRe95f8r4EpmJznupQ,20937
23
26
  refchecker/checkers/enhanced_hybrid_checker.py,sha256=bimUqYFXeEBABdVb4nOuEohHKGsu1zCWt0F-tlzlbDY,35674
24
27
  refchecker/checkers/github_checker.py,sha256=YJ2sLj22qezw3uWjA0jhtDO0fOW4HUwcVbv2DQ4LjR0,14277
@@ -26,7 +29,7 @@ refchecker/checkers/local_semantic_scholar.py,sha256=c-KUTh99s-Di71h-pzdrwlPgoST
26
29
  refchecker/checkers/openalex.py,sha256=WEjEppQMbutPs8kWOSorCIoXWqpJ9o1CXUicThHSWYU,20120
27
30
  refchecker/checkers/openreview_checker.py,sha256=0IHZe4Nscy8fle28rmhy1hhsofR5g0FFSakk8FFH_0A,40540
28
31
  refchecker/checkers/pdf_paper_checker.py,sha256=lrg09poNJBz9FNMrUoEjQ6CJbdYZAVANw0bCaTSb5oo,19904
29
- refchecker/checkers/semantic_scholar.py,sha256=Cpi94DtJEBcMUsdOq5dbdgOX4lK4Eh4Dv-Skpw5-c1Q,37243
32
+ refchecker/checkers/semantic_scholar.py,sha256=QPXuGtjuAf-I4EfwCCoS-zpv7tWqrBkLdqZfMDI7eaA,48604
30
33
  refchecker/checkers/webpage_checker.py,sha256=A_d5kg3OOsyliC00OVq_l0J-RJ4Ln7hUoURk21aO2fs,43653
31
34
  refchecker/config/__init__.py,sha256=r7sONsX2-ITviUJRU1KEz76uAuTRqZlzU-TVkvFRGYY,15
32
35
  refchecker/config/logging.conf,sha256=r1tP0ApLHtlz7rV-oKS1MVO7oXJOgahbZFTtYmKnf9U,687
@@ -59,8 +62,8 @@ refchecker/utils/mock_objects.py,sha256=QxU-UXyHSY27IZYN8Sb8ei0JtNkpGSdMXoErrRLH
59
62
  refchecker/utils/text_utils.py,sha256=Tx1k0SqS1cmw4N9BDJY-Ipep2T-HMmKPqi4SMcq1ZJ8,235751
60
63
  refchecker/utils/unicode_utils.py,sha256=-WBKarXO756p7fd7gCeNsMag4ztDNURwFX5IVniOtwY,10366
61
64
  refchecker/utils/url_utils.py,sha256=7b0rWCQJSajzqOvD7ghsBZPejiq6mUIz6SGhvU_WGDs,9441
62
- academic_refchecker-2.0.14.dist-info/METADATA,sha256=6Pf7sAGjekcj-xUFp7oRAGd1u4AH8ttgmVfDaai7bX8,26611
63
- academic_refchecker-2.0.14.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
64
- academic_refchecker-2.0.14.dist-info/entry_points.txt,sha256=9cREsaKwlp05Ql0CBIjKrNHk5IG2cHY5LvJPsV2-SxA,108
65
- academic_refchecker-2.0.14.dist-info/top_level.txt,sha256=FfNvrvpj25gfpUBjW0epvz7Qrdejhups5Za_DBiSRu4,19
66
- academic_refchecker-2.0.14.dist-info/RECORD,,
65
+ academic_refchecker-2.0.16.dist-info/METADATA,sha256=sxE1gVhJkFMEVu8Z8OKz4nhzi8K4LI4hqGTBI525F8g,26611
66
+ academic_refchecker-2.0.16.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
67
+ academic_refchecker-2.0.16.dist-info/entry_points.txt,sha256=9cREsaKwlp05Ql0CBIjKrNHk5IG2cHY5LvJPsV2-SxA,108
68
+ academic_refchecker-2.0.16.dist-info/top_level.txt,sha256=FfNvrvpj25gfpUBjW0epvz7Qrdejhups5Za_DBiSRu4,19
69
+ academic_refchecker-2.0.16.dist-info/RECORD,,
@@ -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": [],