rxiv-maker 1.16.0__tar.gz → 1.16.2__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 (394) hide show
  1. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/CHANGELOG.md +32 -1
  2. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/PKG-INFO +2 -1
  3. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/pyproject.toml +2 -0
  4. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/__version__.py +1 -1
  5. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/init.py +4 -5
  6. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/upgrade.py +1 -1
  7. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/base.py +3 -0
  8. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/workflow_commands.py +4 -22
  9. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/main.py +18 -3
  10. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/track_changes.py +1 -1
  11. rxiv_maker-1.16.2/tests/cli/test_init_command.py +571 -0
  12. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_docx_helpers.py +2 -1
  13. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_generate_preprint.py +7 -3
  14. rxiv_maker-1.16.0/tests/unit/test_changelog_parser.py +0 -485
  15. rxiv_maker-1.16.0/tests/unit/test_update_checker.py +0 -727
  16. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/.gitignore +0 -0
  17. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/LICENSE +0 -0
  18. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/README.md +0 -0
  19. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/README.md +0 -0
  20. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/__version__.py.md +0 -0
  21. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/author_name_formatter.py.md +0 -0
  22. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/bibliography_parser.py.md +0 -0
  23. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/cache_utils.py.md +0 -0
  24. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/changelog_parser.py.md +0 -0
  25. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/citation_utils.py.md +0 -0
  26. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/email_encoder.py.md +0 -0
  27. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/error_codes.py.md +0 -0
  28. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/figure_utils.py.md +0 -0
  29. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/github.py.md +0 -0
  30. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/homebrew_checker.py.md +0 -0
  31. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/index.md +0 -0
  32. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/install_detector.py.md +0 -0
  33. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/logging_config.py.md +0 -0
  34. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/operation_ids.py.md +0 -0
  35. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/platform.py.md +0 -0
  36. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/python_execution_reporter.py.md +0 -0
  37. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/text_utils.py.md +0 -0
  38. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/unicode_safe.py.md +0 -0
  39. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/url_to_doi.py.md +0 -0
  40. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/docs/api/validate.py.md +0 -0
  41. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/logo/logo-rxiv-maker.afdesign +0 -0
  42. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/logo/logo-rxiv-maker.png +0 -0
  43. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/logo/logo-rxiv-maker.svg +0 -0
  44. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/__init__.py +0 -0
  45. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/__init__.py +0 -0
  46. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/__main__.py +0 -0
  47. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/__init__.py +0 -0
  48. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/arxiv.py +0 -0
  49. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/bibliography.py +0 -0
  50. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/build.py +0 -0
  51. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/cache_management.py +0 -0
  52. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/changelog.py +0 -0
  53. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/check_installation.py +0 -0
  54. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/clean.py +0 -0
  55. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/completion.py +0 -0
  56. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/config.py +0 -0
  57. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/create_repo.py +0 -0
  58. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/docx.py +0 -0
  59. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/figures.py +0 -0
  60. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/get_rxiv_preprint.py +0 -0
  61. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/install_deps.py +0 -0
  62. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/repo_init.py +0 -0
  63. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/repos.py +0 -0
  64. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/repos_search.py +0 -0
  65. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/setup.py +0 -0
  66. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/track_changes.py +0 -0
  67. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/validate.py +0 -0
  68. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/version.py +0 -0
  69. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/__init__.py +0 -0
  70. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/cache_commands.py +0 -0
  71. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/config_commands.py +0 -0
  72. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/content_commands.py +0 -0
  73. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/decorators.py +0 -0
  74. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/utility_commands.py +0 -0
  75. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework.py +0 -0
  76. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/interactive.py +0 -0
  77. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/interactive_prompts.py +0 -0
  78. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/config/defaults.py +0 -0
  79. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/config/validator.py +0 -0
  80. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/__init__.py +0 -0
  81. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/citation_processor.py +0 -0
  82. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/code_processor.py +0 -0
  83. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/comment_processor.py +0 -0
  84. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/custom_command_processor.py +0 -0
  85. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/figure_processor.py +0 -0
  86. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/html_processor.py +0 -0
  87. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/list_processor.py +0 -0
  88. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/math_processor.py +0 -0
  89. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/md2tex.py +0 -0
  90. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/python_executor.py +0 -0
  91. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/section_processor.py +0 -0
  92. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/supplementary_note_processor.py +0 -0
  93. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/table_processor.py +0 -0
  94. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/text_formatters.py +0 -0
  95. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/types.py +0 -0
  96. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/url_processor.py +0 -0
  97. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/__init__.py +0 -0
  98. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/advanced_cache.py +0 -0
  99. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/bibliography_cache.py +0 -0
  100. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/cache_utils.py +0 -0
  101. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/doi_cache.py +0 -0
  102. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/secure_cache_utils.py +0 -0
  103. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/content_processor.py +0 -0
  104. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/environment_bootstrap.py +0 -0
  105. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/environment_manager.py +0 -0
  106. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/error_codes.py +0 -0
  107. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/error_recovery.py +0 -0
  108. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/logging_config.py +0 -0
  109. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/__init__.py +0 -0
  110. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/cache_manager.py +0 -0
  111. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/config_manager.py +0 -0
  112. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/dependency_manager.py +0 -0
  113. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/execution_manager.py +0 -0
  114. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/file_manager.py +0 -0
  115. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/install_manager.py +0 -0
  116. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/state_manager.py +0 -0
  117. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/unified_config_manager.py +0 -0
  118. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/validation_manager.py +0 -0
  119. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/workflow_manager.py +0 -0
  120. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/path_manager.py +0 -0
  121. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/progress_framework.py +0 -0
  122. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/repo_config.py +0 -0
  123. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/repository.py +0 -0
  124. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/session_optimizer.py +0 -0
  125. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/core/validation_framework.py +0 -0
  126. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/data/tips.yaml +0 -0
  127. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/__init__.py +0 -0
  128. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/__init__.py +0 -0
  129. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/add_bibliography.py +0 -0
  130. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/build_manager.py +0 -0
  131. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/cleanup.py +0 -0
  132. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/fix_bibliography.py +0 -0
  133. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/generate_docs.py +0 -0
  134. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/generate_figures.py +0 -0
  135. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/generate_preprint.py +0 -0
  136. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/prepare_arxiv.py +0 -0
  137. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/setup_environment.py +0 -0
  138. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/validate.py +0 -0
  139. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/validate_pdf.py +0 -0
  140. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/exporters/__init__.py +0 -0
  141. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/exporters/docx_citation_mapper.py +0 -0
  142. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/exporters/docx_content_processor.py +0 -0
  143. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/exporters/docx_exporter.py +0 -0
  144. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/exporters/docx_writer.py +0 -0
  145. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/__init__.py +0 -0
  146. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/dependency_handlers/__init__.py +0 -0
  147. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/dependency_handlers/latex.py +0 -0
  148. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/dependency_handlers/r_lang.py +0 -0
  149. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/dependency_handlers/system_libs.py +0 -0
  150. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/platform_installers/__init__.py +0 -0
  151. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/platform_installers/base.py +0 -0
  152. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/platform_installers/linux.py +0 -0
  153. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/platform_installers/macos.py +0 -0
  154. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/platform_installers/windows.py +0 -0
  155. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/utils/__init__.py +0 -0
  156. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/utils/logging.py +0 -0
  157. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/utils/progress.py +0 -0
  158. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/install/utils/verification.py +0 -0
  159. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/manuscript_utils/__init__.py +0 -0
  160. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/manuscript_utils/figure_utils.py +0 -0
  161. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/processors/__init__.py +0 -0
  162. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/processors/author_processor.py +0 -0
  163. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/processors/markdown_preprocessor.py +0 -0
  164. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/processors/template_processor.py +0 -0
  165. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/processors/yaml_processor.py +0 -0
  166. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/rxiv_maker_cli.py +0 -0
  167. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/scripts/__init__.py +0 -0
  168. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/scripts/custom_doc_generator.py +0 -0
  169. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/scripts/validate_manuscript.py +0 -0
  170. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/services/__init__.py +0 -0
  171. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/services/base.py +0 -0
  172. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/services/build_service.py +0 -0
  173. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/services/configuration_service.py +0 -0
  174. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/services/manuscript_service.py +0 -0
  175. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/services/publication_service.py +0 -0
  176. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/services/validation_service.py +0 -0
  177. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/templates/__init__.py +0 -0
  178. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/templates/manager.py +0 -0
  179. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/templates/registry.py +0 -0
  180. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/tex/python_execution_section.tex +0 -0
  181. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/__init__.py +0 -0
  182. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/author_name_formatter.py +0 -0
  183. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/bibliography_checksum.py +0 -0
  184. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/bibliography_parser.py +0 -0
  185. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/bst_generator.py +0 -0
  186. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/changelog_parser.py +0 -0
  187. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/citation_utils.py +0 -0
  188. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/dependency_checker.py +0 -0
  189. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/docx_helpers.py +0 -0
  190. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/doi_resolver.py +0 -0
  191. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/email_encoder.py +0 -0
  192. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/figure_checksum.py +0 -0
  193. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/file_helpers.py +0 -0
  194. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/github.py +0 -0
  195. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/homebrew_checker.py +0 -0
  196. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/install_detector.py +0 -0
  197. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/operation_ids.py +0 -0
  198. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/pdf_utils.py +0 -0
  199. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/performance.py +0 -0
  200. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/platform.py +0 -0
  201. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/python_execution_reporter.py +0 -0
  202. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/retry.py +0 -0
  203. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/text_utils.py +0 -0
  204. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/tips.py +0 -0
  205. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/title_sync.py +0 -0
  206. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/unicode_safe.py +0 -0
  207. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/update_checker.py +0 -0
  208. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/url_to_doi.py +0 -0
  209. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validate.py +0 -0
  210. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/__init__.py +0 -0
  211. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/base_validator.py +0 -0
  212. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/citation_validator.py +0 -0
  213. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/doi/__init__.py +0 -0
  214. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/doi/api_clients.py +0 -0
  215. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/doi/metadata_comparator.py +0 -0
  216. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/doi_validator.py +0 -0
  217. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/figure_validator.py +0 -0
  218. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/latex_error_parser.py +0 -0
  219. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/math_validator.py +0 -0
  220. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/pdf_validator.py +0 -0
  221. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/reference_validator.py +0 -0
  222. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/syntax_validator.py +0 -0
  223. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/tex/style/rxiv_maker_style.bst +0 -0
  224. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/tex/style/rxiv_maker_style.cls +0 -0
  225. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/src/tex/template.tex +0 -0
  226. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/__init__.py +0 -0
  227. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/cli/__init__.py +0 -0
  228. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/cli/test_build.py +0 -0
  229. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/cli/test_changelog_command.py +0 -0
  230. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/cli/test_main.py +0 -0
  231. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/conftest.py +0 -0
  232. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/e2e/__init__.py +0 -0
  233. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/e2e/test_dummy_manuscript_generator.py +0 -0
  234. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/e2e/test_figure_workflow_validation.py +0 -0
  235. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/00_CONFIG.yml +0 -0
  236. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/01_MAIN.md +0 -0
  237. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/03_REFERENCES.bib +0 -0
  238. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/FIGURES/Fig1.png +0 -0
  239. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/FIGURES/Fig2.png +0 -0
  240. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/FIGURES/Fig3.png +0 -0
  241. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/README.md +0 -0
  242. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/docx_export/sample_manuscript/01_MAIN.md +0 -0
  243. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/docx_export/sample_manuscript/02_SUPPLEMENTARY_INFO.md +0 -0
  244. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/docx_export/sample_manuscript/03_REFERENCES.bib +0 -0
  245. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/docx_export/sample_manuscript/2025__unknown_et_al__rxiv.docx +0 -0
  246. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/fixtures/docx_export/sample_manuscript/sample_manuscript.docx +0 -0
  247. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/__init__.py +0 -0
  248. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_article_generation.py +0 -0
  249. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_bibliography_author_format_docx.py +0 -0
  250. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_binary_distribution.py +0 -0
  251. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_centralized_components.py +0 -0
  252. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_citation_injection.py +0 -0
  253. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_comment_system_integration.py +0 -0
  254. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_docx_export_integration.py +0 -0
  255. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_doi_fallback_integration.py +0 -0
  256. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_doi_validation_integration.py +0 -0
  257. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_example_manuscript.py +0 -0
  258. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_guillaume_fixtures.py +0 -0
  259. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_homebrew_workflow_validation.py +0 -0
  260. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_infrastructure_suite.py +0 -0
  261. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_init_build_workflow.py +0 -0
  262. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_install_verification_integration.py +0 -0
  263. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_latex_dependency_integration.py +0 -0
  264. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_manuscript_directory_integration.py +0 -0
  265. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_manuscript_python_execution_reporting.py +0 -0
  266. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_practical_manuscript_workflows.py +0 -0
  267. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_pypi_package_integration.py +0 -0
  268. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_python_execution_integration.py +0 -0
  269. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_repository_cli_integration.py +0 -0
  270. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_supplementary_formatting.py +0 -0
  271. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_user_reported_issue.py +0 -0
  272. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/integration/test_validation_workflow.py +0 -0
  273. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/regression/README.md +0 -0
  274. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/regression/conftest.py +0 -0
  275. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/regression/test_cli_argument_parsing.py +0 -0
  276. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/regression/test_discord_reported_issues.py +0 -0
  277. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/regression/test_error_message_quality.py +0 -0
  278. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/regression/test_google_colab_integration.py +0 -0
  279. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/regression/test_guillaume_edge_cases.py +0 -0
  280. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/regression/test_guillaume_pr131_rewrite.py +0 -0
  281. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/regression/test_path_resolution.py +0 -0
  282. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/regression/test_widget_author_behavior.py +0 -0
  283. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/regression/test_widget_interactions_playwright.py +0 -0
  284. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/smoke/__init__.py +0 -0
  285. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/smoke/test_basic_functionality.py +0 -0
  286. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/smoke/test_cli_smoke.py +0 -0
  287. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/system/__init__.py +0 -0
  288. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/system/test_ci_matrix.py +0 -0
  289. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/system/test_cli_workflows.py +0 -0
  290. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/system/test_end_to_end.py +0 -0
  291. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/test_homebrew_checker.py +0 -0
  292. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/test_install_detector.py +0 -0
  293. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/__init__.py +0 -0
  294. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/exporters/__init__.py +0 -0
  295. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/exporters/test_docx_citation_mapper.py +0 -0
  296. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/exporters/test_docx_content_processor.py +0 -0
  297. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_add_bibliography.py +0 -0
  298. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_arxiv_command.py +0 -0
  299. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_async_execution_manager.py +0 -0
  300. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_author_name_formatter.py +0 -0
  301. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_author_processor.py +0 -0
  302. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_build_command.py +0 -0
  303. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_build_manager.py +0 -0
  304. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_build_manager_manuscript_path.py +0 -0
  305. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_cache_security.py +0 -0
  306. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_cache_utils.py +0 -0
  307. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_check_installation_command.py +0 -0
  308. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_citation_processor.py +0 -0
  309. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_citation_rendering.py +0 -0
  310. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_citation_style.py +0 -0
  311. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_citation_utils.py +0 -0
  312. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_cli_cleanup_integration.py +0 -0
  313. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_cli_structure.py +0 -0
  314. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_comment_processor.py +0 -0
  315. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_conda_installation_manager.py +0 -0
  316. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_conda_platform_detection.py +0 -0
  317. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_cross_platform_optimizations.py +0 -0
  318. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_custom_command_processor.py +0 -0
  319. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_dependency_manager.py +0 -0
  320. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_dependency_package_names.py +0 -0
  321. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_doi_fallback_system.py +0 -0
  322. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_doi_resolver.py +0 -0
  323. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_doi_validator.py +0 -0
  324. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_email_encoder.py +0 -0
  325. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_environment_manager.py +0 -0
  326. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_error_handling_scenarios.py +0 -0
  327. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_execution_manager_comprehensive.py +0 -0
  328. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_figure_generator.py +0 -0
  329. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_figure_processor.py +0 -0
  330. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_figure_processor_error_handling.py +0 -0
  331. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_file_helpers.py +0 -0
  332. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_fix_bibliography.py +0 -0
  333. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_generate_docs.py +0 -0
  334. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_github.py +0 -0
  335. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_github_actions_integration.py +0 -0
  336. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_importlib_edge_cases.py +0 -0
  337. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_install_platform_installers.py +0 -0
  338. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_install_system_libs.py +0 -0
  339. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_install_verification.py +0 -0
  340. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_interactive_path_change.py +0 -0
  341. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_interactive_validators.py +0 -0
  342. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_latex_dependency_handler.py +0 -0
  343. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_manuscript_figure_utils.py +0 -0
  344. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_manuscript_repository.py +0 -0
  345. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_math_processor.py +0 -0
  346. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_md2tex.py +0 -0
  347. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_mermaid_fallback.py +0 -0
  348. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_path_manager.py +0 -0
  349. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_pdf_validator.py +0 -0
  350. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_platform_comprehensive.py +0 -0
  351. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_platform_detector.py +0 -0
  352. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_processor_suite.py +0 -0
  353. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_python_execution_reporter.py +0 -0
  354. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_python_executor.py +0 -0
  355. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_release_orchestrator.py +0 -0
  356. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_repository_manager.py +0 -0
  357. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_rxiv_setup_command.py +0 -0
  358. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_security_features.py +0 -0
  359. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_security_scanner.py +0 -0
  360. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_setup_environment.py +0 -0
  361. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_style_file_resolution.py +0 -0
  362. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_supplementary_note_processor.py +0 -0
  363. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_table_rotation.py +0 -0
  364. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_template_processor.py +0 -0
  365. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_text_formatters.py +0 -0
  366. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_text_utils.py +0 -0
  367. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_tips.py +0 -0
  368. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_title_sync.py +0 -0
  369. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_title_sync_validation.py +0 -0
  370. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_track_changes.py +0 -0
  371. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_trailing_slash_regression.py +0 -0
  372. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_upgrade_command.py +0 -0
  373. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_url_to_doi.py +0 -0
  374. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_utils.py +0 -0
  375. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_validate_backticks.py +0 -0
  376. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_validate_command_fixed.py +0 -0
  377. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_validate_manuscript.py +0 -0
  378. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_validation_suite.py +0 -0
  379. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_validators.py +0 -0
  380. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/unit/test_yaml_processor.py +0 -0
  381. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/README.md +0 -0
  382. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/00_CONFIG.yml +0 -0
  383. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/01_MAIN.md +0 -0
  384. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/03_REFERENCES.bib +0 -0
  385. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/FIGURES/Figure__positioning_test.png +0 -0
  386. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/FIGURES/Figure__positioning_test.py +0 -0
  387. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/FIGURES/ReadyFig.png +0 -0
  388. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/FIGURES/ReadyFig.py +0 -0
  389. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/README.md +0 -0
  390. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/methods-placement/00_CONFIG.yml +0 -0
  391. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/methods-placement/01_MAIN.md +0 -0
  392. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/methods-placement/02_SUPPLEMENTARY_INFO.md +0 -0
  393. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/methods-placement/03_REFERENCES.bib +0 -0
  394. {rxiv_maker-1.16.0 → rxiv_maker-1.16.2}/tests/visual/methods-placement/README.md +0 -0
@@ -7,7 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ## [1.16.0] - 2025-12-14
10
+ ## [1.16.2] - 2025-12-15
11
+
12
+ ### Changed
13
+ - **Non-Interactive Init Command**: Made `rxiv init` fully non-interactive for reliable automated testing
14
+ - Removed all interactive prompts (overwrite confirmation, manuscript details)
15
+ - Always uses sensible defaults for title, author, email, ORCID, and affiliation
16
+ - Fails immediately with clear error message if directory exists without `--force` flag
17
+ - `--no-interactive` flag hidden but maintained for backward compatibility
18
+ - Updated documentation to clearly state non-interactive behavior
19
+
20
+ ### Fixed
21
+ - **Error Messages**: Improved `CommandExecutionError` handling to display clean error messages to stderr
22
+ - **Import Fix**: Updated upgrade command to import `force_update_check` from `henriqueslab-updater` package
23
+
24
+ ### Testing
25
+ - Added comprehensive test suite with 26 tests covering all init command edge cases
26
+ - All tests passing: 26 new tests + 4 existing integration tests (30/30 total)
27
+
28
+ ## [1.16.1] - 2025-12-15
11
29
 
12
30
  ### Added
13
31
  - **Configurable bibliography author name format**: New `bibliography_author_format` configuration option to control how author names appear in both PDF and DOCX bibliography sections
@@ -22,6 +40,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
22
40
  - New BibTeX style generator: `src/rxiv_maker/utils/bst_generator.py` for dynamic .bst file generation
23
41
  - Added `00_CONFIG.yml` to `ConfigManager` search paths for better backward compatibility with legacy manuscript configurations
24
42
 
43
+ ## [1.16.0] - 2025-12-14
44
+
45
+ ### Changed
46
+ - **Update Checker Modernization**: Migrated to `henriqueslab-updater` package for centralized update checking
47
+ - Removed internal update_checker.py, install_detector.py, homebrew_checker.py, and changelog_parser.py
48
+ - Now uses `henriqueslab-updater>=1.0.0` with RichNotifier and ChangelogPlugin
49
+ - Enhanced update notifications with changelog highlights (up to 3 per version)
50
+ - Maintains same user experience with improved code maintainability
51
+ - Reduces code duplication across HenriquesLab packages
52
+
53
+ ### Dependencies
54
+ - Added `henriqueslab-updater>=1.0.0` dependency
55
+
25
56
  ## [1.15.9] - 2025-12-09
26
57
 
27
58
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rxiv-maker
3
- Version: 1.16.0
3
+ Version: 1.16.2
4
4
  Summary: Write scientific preprints in Markdown. Generate publication-ready PDFs efficiently.
5
5
  Project-URL: Homepage, https://github.com/HenriquesLab/rxiv-maker
6
6
  Project-URL: Documentation, https://github.com/HenriquesLab/rxiv-maker#readme
@@ -27,6 +27,7 @@ Requires-Python: >=3.10
27
27
  Requires-Dist: click>=8.0.0
28
28
  Requires-Dist: crossref-commons>=0.0.7
29
29
  Requires-Dist: gitpython>=3.1.0
30
+ Requires-Dist: henriqueslab-updater>=1.0.0
30
31
  Requires-Dist: latex2mathml>=3.78.0
31
32
  Requires-Dist: matplotlib>=3.7.0
32
33
  Requires-Dist: numpy>=1.24.0
@@ -52,6 +52,8 @@ dependencies = [
52
52
  # Repository management dependencies
53
53
  "GitPython>=3.1.0",
54
54
  "prompt_toolkit>=3.0.0",
55
+ # Update checking
56
+ "henriqueslab-updater>=1.0.0",
55
57
  ]
56
58
 
57
59
  [project.urls]
@@ -1,3 +1,3 @@
1
1
  """Version information."""
2
2
 
3
- __version__ = "1.16.0"
3
+ __version__ = "1.16.2"
@@ -8,7 +8,7 @@ from ..framework import InitCommand
8
8
  @click.command(context_settings={"help_option_names": ["-h", "--help"]})
9
9
  @click.argument("manuscript_path", type=click.Path(), required=False)
10
10
  @click.option("--force", "-f", is_flag=True, help="Force overwrite existing files")
11
- @click.option("--no-interactive", is_flag=True, help="Skip interactive prompts and use defaults")
11
+ @click.option("--no-interactive", is_flag=True, hidden=True, help="Deprecated (command is always non-interactive)")
12
12
  @click.option(
13
13
  "--validate", is_flag=True, help="Run validation after initialization to ensure template builds correctly"
14
14
  )
@@ -25,6 +25,9 @@ def init(
25
25
  **MANUSCRIPT_PATH**: Directory to create for your manuscript.
26
26
  Defaults to MANUSCRIPT/
27
27
 
28
+ This command is fully non-interactive and uses sensible defaults for all values.
29
+ You can customize the manuscript details by editing 00_CONFIG.yml after initialization.
30
+
28
31
  Creates all required files including configuration, main content, supplementary
29
32
  information, bibliography, and figure directory with example scripts.
30
33
 
@@ -45,10 +48,6 @@ def init(
45
48
  **Initialize and validate template builds correctly:**
46
49
 
47
50
  $ rxiv init --validate
48
-
49
- **Non-interactive initialization:**
50
-
51
- $ rxiv init --no-interactive
52
51
  """
53
52
  # Use centralized InitCommand framework - eliminates 250+ lines of boilerplate!
54
53
  command = InitCommand()
@@ -5,12 +5,12 @@ import subprocess
5
5
  import sys
6
6
 
7
7
  import click
8
+ from henriqueslab_updater import force_update_check
8
9
  from rich.console import Console
9
10
 
10
11
  from ... import __version__
11
12
  from ...utils.changelog_parser import fetch_and_format_changelog
12
13
  from ...utils.install_detector import detect_install_method, get_friendly_install_name, get_upgrade_command
13
- from ...utils.update_checker import force_update_check
14
14
  from ..interactive import prompt_confirm
15
15
 
16
16
  console = Console()
@@ -210,6 +210,9 @@ class BaseCommand(ABC):
210
210
  return self.execute_operation(**kwargs)
211
211
 
212
212
  except CommandExecutionError as e:
213
+ # Print error message to stderr before exiting
214
+ error_console = Console(stderr=True)
215
+ error_console.print(f"❌ Error: {e}", style="red")
213
216
  sys.exit(e.exit_code)
214
217
  except KeyboardInterrupt:
215
218
  self.handle_keyboard_interrupt(operation_name)
@@ -50,44 +50,26 @@ class InitCommand(BaseCommand):
50
50
 
51
51
  Args:
52
52
  force: Force overwrite existing files
53
- no_interactive: Skip interactive prompts
53
+ no_interactive: Deprecated (command is always non-interactive)
54
54
  validate: Run validation after initialization
55
55
  template: Template type to use (default, minimal, journal, preprint)
56
56
  """
57
- from rich.prompt import Prompt
58
-
59
57
  # Get manuscript path from raw path (set during setup_common_options)
60
58
  manuscript_path = self.raw_manuscript_path
61
59
 
62
60
  manuscript_dir = Path(manuscript_path)
63
61
 
64
- # Check if directory exists
62
+ # Check if directory exists and fail if --force not used
65
63
  if manuscript_dir.exists() and not force:
66
- if not no_interactive:
67
- overwrite = Prompt.ask(
68
- f"Directory '{manuscript_path}' already exists. Overwrite?", choices=["y", "n"], default="n"
69
- )
70
- if overwrite == "n":
71
- self.console.print("❌ Initialization cancelled", style="yellow")
72
- return
73
- else:
74
- raise CommandExecutionError(f"Directory '{manuscript_path}' already exists. Use --force to overwrite.")
64
+ raise CommandExecutionError(f"Directory '{manuscript_path}' already exists. Use --force to overwrite.")
75
65
 
76
- # Get user information if interactive (BEFORE progress bar)
66
+ # Always use default values (non-interactive mode only)
77
67
  title = "Your Manuscript Title"
78
68
  author_name = "Your Name"
79
69
  author_email = "your.email@example.com"
80
70
  author_orcid = "0000-0000-0000-0000"
81
71
  author_affiliation = "Your Institution"
82
72
 
83
- if not no_interactive:
84
- self.console.print("\n📝 Enter manuscript details (press Enter for defaults):")
85
- title = Prompt.ask("Title", default=title)
86
- author_name = Prompt.ask("Author name", default=author_name)
87
- author_email = Prompt.ask("Author email", default=author_email)
88
- author_orcid = Prompt.ask("Author ORCID", default=author_orcid)
89
- author_affiliation = Prompt.ask("Author affiliation", default=author_affiliation)
90
-
91
73
  with self.create_progress() as progress:
92
74
  task = progress.add_task(f"Initializing manuscript (template: {template})...", total=2)
93
75
 
@@ -4,10 +4,15 @@
4
4
  import os
5
5
 
6
6
  import rich_click as click
7
+ from henriqueslab_updater import (
8
+ ChangelogPlugin,
9
+ RichNotifier,
10
+ check_for_updates_async_background,
11
+ show_update_notification,
12
+ )
7
13
  from rich.console import Console
8
14
 
9
15
  from .. import __version__
10
- from ..utils.update_checker import check_for_updates_async, show_update_notification
11
16
  from . import commands
12
17
  from .commands.check_installation import check_installation
13
18
 
@@ -143,8 +148,18 @@ class UpdateCheckGroup(click.Group):
143
148
  def invoke(self, ctx):
144
149
  """Invoke command and handle update checking."""
145
150
  try:
146
- # Start update check in background (non-blocking)
147
- check_for_updates_async()
151
+ # Start update check in background (non-blocking) with RichNotifier and ChangelogPlugin
152
+ check_for_updates_async_background(
153
+ package_name="rxiv-maker",
154
+ current_version=__version__,
155
+ notifier=RichNotifier(color_scheme="blue"),
156
+ plugins=[
157
+ ChangelogPlugin(
158
+ changelog_url="https://raw.githubusercontent.com/HenriquesLab/rxiv-maker/main/CHANGELOG.md",
159
+ highlights_per_version=3,
160
+ ),
161
+ ],
162
+ )
148
163
 
149
164
  # Invoke the actual command
150
165
  result = super().invoke(ctx)
@@ -499,7 +499,7 @@ class TrackChangesManager:
499
499
  # Copy tag figures to output/Figures_tag
500
500
  tag_figures_src = target_manuscript_dir / "FIGURES"
501
501
  tag_figures_dst = self.output_dir / "Figures_tag"
502
-
502
+
503
503
  if tag_figures_src.exists():
504
504
  if tag_figures_dst.exists():
505
505
  shutil.rmtree(tag_figures_dst)