rxiv-maker 1.16.1__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 (392) hide show
  1. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/CHANGELOG.md +18 -0
  2. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/PKG-INFO +1 -1
  3. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/README.md +2 -0
  4. rxiv_maker-1.16.2/src/docs/api/homebrew_checker.py.md +99 -0
  5. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/index.md +2 -0
  6. rxiv_maker-1.16.2/src/docs/api/install_detector.py.md +81 -0
  7. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/__version__.py +1 -1
  8. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/init.py +4 -5
  9. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/upgrade.py +1 -1
  10. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/base.py +3 -0
  11. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/workflow_commands.py +4 -22
  12. rxiv_maker-1.16.2/tests/cli/test_init_command.py +571 -0
  13. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/.gitignore +0 -0
  14. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/LICENSE +0 -0
  15. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/README.md +0 -0
  16. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/pyproject.toml +0 -0
  17. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/__version__.py.md +0 -0
  18. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/author_name_formatter.py.md +0 -0
  19. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/bibliography_parser.py.md +0 -0
  20. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/cache_utils.py.md +0 -0
  21. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/changelog_parser.py.md +0 -0
  22. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/citation_utils.py.md +0 -0
  23. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/email_encoder.py.md +0 -0
  24. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/error_codes.py.md +0 -0
  25. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/figure_utils.py.md +0 -0
  26. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/github.py.md +0 -0
  27. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/logging_config.py.md +0 -0
  28. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/operation_ids.py.md +0 -0
  29. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/platform.py.md +0 -0
  30. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/python_execution_reporter.py.md +0 -0
  31. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/text_utils.py.md +0 -0
  32. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/unicode_safe.py.md +0 -0
  33. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/url_to_doi.py.md +0 -0
  34. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/docs/api/validate.py.md +0 -0
  35. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/logo/logo-rxiv-maker.afdesign +0 -0
  36. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/logo/logo-rxiv-maker.png +0 -0
  37. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/logo/logo-rxiv-maker.svg +0 -0
  38. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/__init__.py +0 -0
  39. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/__init__.py +0 -0
  40. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/__main__.py +0 -0
  41. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/__init__.py +0 -0
  42. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/arxiv.py +0 -0
  43. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/bibliography.py +0 -0
  44. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/build.py +0 -0
  45. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/cache_management.py +0 -0
  46. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/changelog.py +0 -0
  47. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/check_installation.py +0 -0
  48. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/clean.py +0 -0
  49. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/completion.py +0 -0
  50. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/config.py +0 -0
  51. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/create_repo.py +0 -0
  52. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/docx.py +0 -0
  53. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/figures.py +0 -0
  54. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/get_rxiv_preprint.py +0 -0
  55. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/install_deps.py +0 -0
  56. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/repo_init.py +0 -0
  57. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/repos.py +0 -0
  58. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/repos_search.py +0 -0
  59. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/setup.py +0 -0
  60. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/track_changes.py +0 -0
  61. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/validate.py +0 -0
  62. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/commands/version.py +0 -0
  63. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/__init__.py +0 -0
  64. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/cache_commands.py +0 -0
  65. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/config_commands.py +0 -0
  66. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/content_commands.py +0 -0
  67. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/decorators.py +0 -0
  68. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework/utility_commands.py +0 -0
  69. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/framework.py +0 -0
  70. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/interactive.py +0 -0
  71. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/interactive_prompts.py +0 -0
  72. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/cli/main.py +0 -0
  73. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/config/defaults.py +0 -0
  74. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/config/validator.py +0 -0
  75. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/__init__.py +0 -0
  76. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/citation_processor.py +0 -0
  77. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/code_processor.py +0 -0
  78. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/comment_processor.py +0 -0
  79. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/custom_command_processor.py +0 -0
  80. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/figure_processor.py +0 -0
  81. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/html_processor.py +0 -0
  82. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/list_processor.py +0 -0
  83. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/math_processor.py +0 -0
  84. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/md2tex.py +0 -0
  85. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/python_executor.py +0 -0
  86. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/section_processor.py +0 -0
  87. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/supplementary_note_processor.py +0 -0
  88. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/table_processor.py +0 -0
  89. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/text_formatters.py +0 -0
  90. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/types.py +0 -0
  91. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/converters/url_processor.py +0 -0
  92. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/__init__.py +0 -0
  93. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/advanced_cache.py +0 -0
  94. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/bibliography_cache.py +0 -0
  95. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/cache_utils.py +0 -0
  96. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/doi_cache.py +0 -0
  97. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/cache/secure_cache_utils.py +0 -0
  98. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/content_processor.py +0 -0
  99. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/environment_bootstrap.py +0 -0
  100. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/environment_manager.py +0 -0
  101. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/error_codes.py +0 -0
  102. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/error_recovery.py +0 -0
  103. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/logging_config.py +0 -0
  104. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/__init__.py +0 -0
  105. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/cache_manager.py +0 -0
  106. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/config_manager.py +0 -0
  107. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/dependency_manager.py +0 -0
  108. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/execution_manager.py +0 -0
  109. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/file_manager.py +0 -0
  110. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/install_manager.py +0 -0
  111. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/state_manager.py +0 -0
  112. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/unified_config_manager.py +0 -0
  113. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/validation_manager.py +0 -0
  114. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/managers/workflow_manager.py +0 -0
  115. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/path_manager.py +0 -0
  116. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/progress_framework.py +0 -0
  117. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/repo_config.py +0 -0
  118. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/repository.py +0 -0
  119. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/session_optimizer.py +0 -0
  120. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/core/validation_framework.py +0 -0
  121. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/data/tips.yaml +0 -0
  122. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/__init__.py +0 -0
  123. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/__init__.py +0 -0
  124. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/add_bibliography.py +0 -0
  125. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/build_manager.py +0 -0
  126. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/cleanup.py +0 -0
  127. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/fix_bibliography.py +0 -0
  128. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/generate_docs.py +0 -0
  129. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/generate_figures.py +0 -0
  130. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/generate_preprint.py +0 -0
  131. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/prepare_arxiv.py +0 -0
  132. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/setup_environment.py +0 -0
  133. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/track_changes.py +0 -0
  134. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/validate.py +0 -0
  135. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/engines/operations/validate_pdf.py +0 -0
  136. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/exporters/__init__.py +0 -0
  137. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/exporters/docx_citation_mapper.py +0 -0
  138. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/exporters/docx_content_processor.py +0 -0
  139. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/exporters/docx_exporter.py +0 -0
  140. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/exporters/docx_writer.py +0 -0
  141. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/__init__.py +0 -0
  142. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/dependency_handlers/__init__.py +0 -0
  143. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/dependency_handlers/latex.py +0 -0
  144. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/dependency_handlers/r_lang.py +0 -0
  145. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/dependency_handlers/system_libs.py +0 -0
  146. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/platform_installers/__init__.py +0 -0
  147. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/platform_installers/base.py +0 -0
  148. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/platform_installers/linux.py +0 -0
  149. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/platform_installers/macos.py +0 -0
  150. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/platform_installers/windows.py +0 -0
  151. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/utils/__init__.py +0 -0
  152. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/utils/logging.py +0 -0
  153. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/utils/progress.py +0 -0
  154. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/install/utils/verification.py +0 -0
  155. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/manuscript_utils/__init__.py +0 -0
  156. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/manuscript_utils/figure_utils.py +0 -0
  157. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/processors/__init__.py +0 -0
  158. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/processors/author_processor.py +0 -0
  159. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/processors/markdown_preprocessor.py +0 -0
  160. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/processors/template_processor.py +0 -0
  161. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/processors/yaml_processor.py +0 -0
  162. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/rxiv_maker_cli.py +0 -0
  163. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/scripts/__init__.py +0 -0
  164. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/scripts/custom_doc_generator.py +0 -0
  165. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/scripts/validate_manuscript.py +0 -0
  166. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/services/__init__.py +0 -0
  167. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/services/base.py +0 -0
  168. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/services/build_service.py +0 -0
  169. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/services/configuration_service.py +0 -0
  170. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/services/manuscript_service.py +0 -0
  171. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/services/publication_service.py +0 -0
  172. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/services/validation_service.py +0 -0
  173. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/templates/__init__.py +0 -0
  174. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/templates/manager.py +0 -0
  175. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/templates/registry.py +0 -0
  176. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/tex/python_execution_section.tex +0 -0
  177. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/__init__.py +0 -0
  178. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/author_name_formatter.py +0 -0
  179. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/bibliography_checksum.py +0 -0
  180. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/bibliography_parser.py +0 -0
  181. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/bst_generator.py +0 -0
  182. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/changelog_parser.py +0 -0
  183. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/citation_utils.py +0 -0
  184. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/dependency_checker.py +0 -0
  185. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/docx_helpers.py +0 -0
  186. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/doi_resolver.py +0 -0
  187. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/email_encoder.py +0 -0
  188. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/figure_checksum.py +0 -0
  189. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/file_helpers.py +0 -0
  190. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/github.py +0 -0
  191. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/homebrew_checker.py +0 -0
  192. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/install_detector.py +0 -0
  193. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/operation_ids.py +0 -0
  194. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/pdf_utils.py +0 -0
  195. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/performance.py +0 -0
  196. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/platform.py +0 -0
  197. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/python_execution_reporter.py +0 -0
  198. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/retry.py +0 -0
  199. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/text_utils.py +0 -0
  200. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/tips.py +0 -0
  201. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/title_sync.py +0 -0
  202. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/unicode_safe.py +0 -0
  203. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/update_checker.py +0 -0
  204. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/utils/url_to_doi.py +0 -0
  205. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validate.py +0 -0
  206. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/__init__.py +0 -0
  207. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/base_validator.py +0 -0
  208. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/citation_validator.py +0 -0
  209. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/doi/__init__.py +0 -0
  210. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/doi/api_clients.py +0 -0
  211. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/doi/metadata_comparator.py +0 -0
  212. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/doi_validator.py +0 -0
  213. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/figure_validator.py +0 -0
  214. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/latex_error_parser.py +0 -0
  215. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/math_validator.py +0 -0
  216. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/pdf_validator.py +0 -0
  217. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/reference_validator.py +0 -0
  218. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/rxiv_maker/validators/syntax_validator.py +0 -0
  219. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/tex/style/rxiv_maker_style.bst +0 -0
  220. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/tex/style/rxiv_maker_style.cls +0 -0
  221. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/src/tex/template.tex +0 -0
  222. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/__init__.py +0 -0
  223. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/cli/__init__.py +0 -0
  224. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/cli/test_build.py +0 -0
  225. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/cli/test_changelog_command.py +0 -0
  226. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/cli/test_main.py +0 -0
  227. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/conftest.py +0 -0
  228. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/e2e/__init__.py +0 -0
  229. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/e2e/test_dummy_manuscript_generator.py +0 -0
  230. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/e2e/test_figure_workflow_validation.py +0 -0
  231. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/00_CONFIG.yml +0 -0
  232. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/01_MAIN.md +0 -0
  233. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/03_REFERENCES.bib +0 -0
  234. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/FIGURES/Fig1.png +0 -0
  235. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/FIGURES/Fig2.png +0 -0
  236. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/FIGURES/Fig3.png +0 -0
  237. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/README.md +0 -0
  238. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/docx_export/sample_manuscript/01_MAIN.md +0 -0
  239. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/docx_export/sample_manuscript/02_SUPPLEMENTARY_INFO.md +0 -0
  240. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/docx_export/sample_manuscript/03_REFERENCES.bib +0 -0
  241. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/docx_export/sample_manuscript/2025__unknown_et_al__rxiv.docx +0 -0
  242. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/fixtures/docx_export/sample_manuscript/sample_manuscript.docx +0 -0
  243. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/__init__.py +0 -0
  244. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_article_generation.py +0 -0
  245. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_bibliography_author_format_docx.py +0 -0
  246. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_binary_distribution.py +0 -0
  247. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_centralized_components.py +0 -0
  248. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_citation_injection.py +0 -0
  249. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_comment_system_integration.py +0 -0
  250. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_docx_export_integration.py +0 -0
  251. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_doi_fallback_integration.py +0 -0
  252. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_doi_validation_integration.py +0 -0
  253. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_example_manuscript.py +0 -0
  254. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_guillaume_fixtures.py +0 -0
  255. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_homebrew_workflow_validation.py +0 -0
  256. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_infrastructure_suite.py +0 -0
  257. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_init_build_workflow.py +0 -0
  258. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_install_verification_integration.py +0 -0
  259. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_latex_dependency_integration.py +0 -0
  260. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_manuscript_directory_integration.py +0 -0
  261. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_manuscript_python_execution_reporting.py +0 -0
  262. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_practical_manuscript_workflows.py +0 -0
  263. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_pypi_package_integration.py +0 -0
  264. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_python_execution_integration.py +0 -0
  265. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_repository_cli_integration.py +0 -0
  266. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_supplementary_formatting.py +0 -0
  267. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_user_reported_issue.py +0 -0
  268. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/integration/test_validation_workflow.py +0 -0
  269. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/regression/README.md +0 -0
  270. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/regression/conftest.py +0 -0
  271. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/regression/test_cli_argument_parsing.py +0 -0
  272. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/regression/test_discord_reported_issues.py +0 -0
  273. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/regression/test_error_message_quality.py +0 -0
  274. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/regression/test_google_colab_integration.py +0 -0
  275. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/regression/test_guillaume_edge_cases.py +0 -0
  276. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/regression/test_guillaume_pr131_rewrite.py +0 -0
  277. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/regression/test_path_resolution.py +0 -0
  278. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/regression/test_widget_author_behavior.py +0 -0
  279. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/regression/test_widget_interactions_playwright.py +0 -0
  280. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/smoke/__init__.py +0 -0
  281. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/smoke/test_basic_functionality.py +0 -0
  282. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/smoke/test_cli_smoke.py +0 -0
  283. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/system/__init__.py +0 -0
  284. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/system/test_ci_matrix.py +0 -0
  285. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/system/test_cli_workflows.py +0 -0
  286. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/system/test_end_to_end.py +0 -0
  287. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/test_homebrew_checker.py +0 -0
  288. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/test_install_detector.py +0 -0
  289. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/__init__.py +0 -0
  290. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/exporters/__init__.py +0 -0
  291. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/exporters/test_docx_citation_mapper.py +0 -0
  292. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/exporters/test_docx_content_processor.py +0 -0
  293. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_add_bibliography.py +0 -0
  294. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_arxiv_command.py +0 -0
  295. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_async_execution_manager.py +0 -0
  296. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_author_name_formatter.py +0 -0
  297. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_author_processor.py +0 -0
  298. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_build_command.py +0 -0
  299. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_build_manager.py +0 -0
  300. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_build_manager_manuscript_path.py +0 -0
  301. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_cache_security.py +0 -0
  302. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_cache_utils.py +0 -0
  303. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_check_installation_command.py +0 -0
  304. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_citation_processor.py +0 -0
  305. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_citation_rendering.py +0 -0
  306. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_citation_style.py +0 -0
  307. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_citation_utils.py +0 -0
  308. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_cli_cleanup_integration.py +0 -0
  309. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_cli_structure.py +0 -0
  310. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_comment_processor.py +0 -0
  311. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_conda_installation_manager.py +0 -0
  312. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_conda_platform_detection.py +0 -0
  313. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_cross_platform_optimizations.py +0 -0
  314. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_custom_command_processor.py +0 -0
  315. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_dependency_manager.py +0 -0
  316. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_dependency_package_names.py +0 -0
  317. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_docx_helpers.py +0 -0
  318. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_doi_fallback_system.py +0 -0
  319. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_doi_resolver.py +0 -0
  320. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_doi_validator.py +0 -0
  321. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_email_encoder.py +0 -0
  322. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_environment_manager.py +0 -0
  323. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_error_handling_scenarios.py +0 -0
  324. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_execution_manager_comprehensive.py +0 -0
  325. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_figure_generator.py +0 -0
  326. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_figure_processor.py +0 -0
  327. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_figure_processor_error_handling.py +0 -0
  328. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_file_helpers.py +0 -0
  329. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_fix_bibliography.py +0 -0
  330. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_generate_docs.py +0 -0
  331. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_generate_preprint.py +0 -0
  332. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_github.py +0 -0
  333. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_github_actions_integration.py +0 -0
  334. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_importlib_edge_cases.py +0 -0
  335. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_install_platform_installers.py +0 -0
  336. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_install_system_libs.py +0 -0
  337. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_install_verification.py +0 -0
  338. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_interactive_path_change.py +0 -0
  339. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_interactive_validators.py +0 -0
  340. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_latex_dependency_handler.py +0 -0
  341. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_manuscript_figure_utils.py +0 -0
  342. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_manuscript_repository.py +0 -0
  343. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_math_processor.py +0 -0
  344. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_md2tex.py +0 -0
  345. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_mermaid_fallback.py +0 -0
  346. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_path_manager.py +0 -0
  347. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_pdf_validator.py +0 -0
  348. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_platform_comprehensive.py +0 -0
  349. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_platform_detector.py +0 -0
  350. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_processor_suite.py +0 -0
  351. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_python_execution_reporter.py +0 -0
  352. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_python_executor.py +0 -0
  353. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_release_orchestrator.py +0 -0
  354. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_repository_manager.py +0 -0
  355. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_rxiv_setup_command.py +0 -0
  356. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_security_features.py +0 -0
  357. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_security_scanner.py +0 -0
  358. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_setup_environment.py +0 -0
  359. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_style_file_resolution.py +0 -0
  360. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_supplementary_note_processor.py +0 -0
  361. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_table_rotation.py +0 -0
  362. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_template_processor.py +0 -0
  363. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_text_formatters.py +0 -0
  364. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_text_utils.py +0 -0
  365. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_tips.py +0 -0
  366. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_title_sync.py +0 -0
  367. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_title_sync_validation.py +0 -0
  368. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_track_changes.py +0 -0
  369. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_trailing_slash_regression.py +0 -0
  370. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_upgrade_command.py +0 -0
  371. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_url_to_doi.py +0 -0
  372. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_utils.py +0 -0
  373. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_validate_backticks.py +0 -0
  374. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_validate_command_fixed.py +0 -0
  375. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_validate_manuscript.py +0 -0
  376. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_validation_suite.py +0 -0
  377. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_validators.py +0 -0
  378. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/unit/test_yaml_processor.py +0 -0
  379. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/README.md +0 -0
  380. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/00_CONFIG.yml +0 -0
  381. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/01_MAIN.md +0 -0
  382. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/03_REFERENCES.bib +0 -0
  383. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/FIGURES/Figure__positioning_test.png +0 -0
  384. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/FIGURES/Figure__positioning_test.py +0 -0
  385. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/FIGURES/ReadyFig.png +0 -0
  386. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/FIGURES/ReadyFig.py +0 -0
  387. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/figure-positioning/README.md +0 -0
  388. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/methods-placement/00_CONFIG.yml +0 -0
  389. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/methods-placement/01_MAIN.md +0 -0
  390. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/methods-placement/02_SUPPLEMENTARY_INFO.md +0 -0
  391. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/methods-placement/03_REFERENCES.bib +0 -0
  392. {rxiv_maker-1.16.1 → rxiv_maker-1.16.2}/tests/visual/methods-placement/README.md +0 -0
@@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
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
+
10
28
  ## [1.16.1] - 2025-12-15
11
29
 
12
30
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rxiv-maker
3
- Version: 1.16.1
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
@@ -16,6 +16,8 @@ Welcome to the API documentation for rxiv-maker.
16
16
  - [utils.citation_utils.py](utils_citation_utils.py.md)
17
17
  - [utils.email_encoder.py](utils_email_encoder.py.md)
18
18
  - [utils.github.py](utils_github.py.md)
19
+ - [utils.homebrew_checker.py](utils_homebrew_checker.py.md)
20
+ - [utils.install_detector.py](utils_install_detector.py.md)
19
21
  - [utils.operation_ids.py](utils_operation_ids.py.md)
20
22
  - [utils.platform.py](utils_platform.py.md)
21
23
  - [utils.python_execution_reporter.py](utils_python_execution_reporter.py.md)
@@ -0,0 +1,99 @@
1
+ <!-- markdownlint-disable -->
2
+
3
+ <a href="https://github.com/henriqueslab/rxiv-maker/blob/main/src/src/rxiv_maker/utils/homebrew_checker.py#L0"><img align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square"></a>
4
+
5
+ # <kbd>module</kbd> `homebrew_checker.py`
6
+ Homebrew update checker for rxiv-maker.
7
+
8
+ Checks if a newer version is available via Homebrew.
9
+
10
+ Note: Before upgrading with Homebrew, always run 'brew update' first to fetch the latest formulae.
11
+
12
+ **Global Variables**
13
+ ---------------
14
+ - **HOMEBREW_TAP**
15
+ - **FORMULA_NAME**
16
+ - **FORMULA_URL**
17
+
18
+ ---
19
+
20
+ <a href="https://github.com/henriqueslab/rxiv-maker/blob/main/src/src/rxiv_maker/utils/homebrew_checker.py#L21"><img align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square"></a>
21
+
22
+ ## <kbd>function</kbd> `check_brew_outdated`
23
+
24
+ ```python
25
+ check_brew_outdated(
26
+ package: str = 'rxiv-maker',
27
+ timeout: int = 5
28
+ ) → Optional[Tuple[str, str]]
29
+ ```
30
+
31
+ Check if package is outdated using `brew outdated` command.
32
+
33
+
34
+
35
+ **Args:**
36
+
37
+ - <b>`package`</b>: Package name to check
38
+ - <b>`timeout`</b>: Command timeout in seconds
39
+
40
+
41
+
42
+ **Returns:**
43
+ Tuple of (current_version, latest_version) if outdated, None otherwise Returns None if brew is not installed or command fails
44
+
45
+
46
+ ---
47
+
48
+ <a href="https://github.com/henriqueslab/rxiv-maker/blob/main/src/src/rxiv_maker/utils/homebrew_checker.py#L63"><img align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square"></a>
49
+
50
+ ## <kbd>function</kbd> `check_formula_github`
51
+
52
+ ```python
53
+ check_formula_github(
54
+ formula_url: str = 'https://raw.githubusercontent.com/henriqueslab/homebrew-formulas/main/Formula/rxiv-maker.rb',
55
+ timeout: int = 5
56
+ ) → Optional[str]
57
+ ```
58
+
59
+ Check the latest version from the GitHub formula file.
60
+
61
+
62
+
63
+ **Args:**
64
+
65
+ - <b>`formula_url`</b>: URL to the formula Ruby file
66
+ - <b>`timeout`</b>: Request timeout in seconds
67
+
68
+
69
+
70
+ **Returns:**
71
+ Latest version string if found, None otherwise
72
+
73
+
74
+ ---
75
+
76
+ <a href="https://github.com/henriqueslab/rxiv-maker/blob/main/src/src/rxiv_maker/utils/homebrew_checker.py#L99"><img align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square"></a>
77
+
78
+ ## <kbd>function</kbd> `check_homebrew_update`
79
+
80
+ ```python
81
+ check_homebrew_update(current_version: str) → Optional[Tuple[bool, str]]
82
+ ```
83
+
84
+ Check if a Homebrew update is available.
85
+
86
+ Tries brew outdated command first, falls back to GitHub formula.
87
+
88
+
89
+
90
+ **Args:**
91
+
92
+ - <b>`current_version`</b>: Current installed version
93
+
94
+
95
+
96
+ **Returns:**
97
+ Tuple of (has_update, latest_version) if check succeeds, None on failure
98
+
99
+
@@ -16,6 +16,8 @@ Welcome to the API documentation for rxiv-maker.
16
16
  - [utils.citation_utils.py](utils_citation_utils.py.md)
17
17
  - [utils.email_encoder.py](utils_email_encoder.py.md)
18
18
  - [utils.github.py](utils_github.py.md)
19
+ - [utils.homebrew_checker.py](utils_homebrew_checker.py.md)
20
+ - [utils.install_detector.py](utils_install_detector.py.md)
19
21
  - [utils.operation_ids.py](utils_operation_ids.py.md)
20
22
  - [utils.platform.py](utils_platform.py.md)
21
23
  - [utils.python_execution_reporter.py](utils_python_execution_reporter.py.md)
@@ -0,0 +1,81 @@
1
+ <!-- markdownlint-disable -->
2
+
3
+ <a href="https://github.com/henriqueslab/rxiv-maker/blob/main/src/src/rxiv_maker/utils/install_detector.py#L0"><img align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square"></a>
4
+
5
+ # <kbd>module</kbd> `install_detector.py`
6
+ Installation method detection for rxiv-maker.
7
+
8
+ Detects how rxiv-maker was installed (Homebrew, pipx, uv, pip, etc.) to provide appropriate upgrade instructions.
9
+
10
+
11
+ ---
12
+
13
+ <a href="https://github.com/henriqueslab/rxiv-maker/blob/main/src/src/rxiv_maker/utils/install_detector.py#L15"><img align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square"></a>
14
+
15
+ ## <kbd>function</kbd> `detect_install_method`
16
+
17
+ ```python
18
+ detect_install_method() → Literal['homebrew', 'pipx', 'uv', 'pip-user', 'pip', 'dev', 'unknown']
19
+ ```
20
+
21
+ Detect how rxiv-maker was installed.
22
+
23
+
24
+
25
+ **Returns:**
26
+
27
+ - <b>`Installation method`</b>: homebrew, pipx, uv, pip-user, pip, dev, or unknown
28
+
29
+
30
+ ---
31
+
32
+ <a href="https://github.com/henriqueslab/rxiv-maker/blob/main/src/src/rxiv_maker/utils/install_detector.py#L84"><img align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square"></a>
33
+
34
+ ## <kbd>function</kbd> `get_upgrade_command`
35
+
36
+ ```python
37
+ get_upgrade_command(
38
+ install_method: Literal['homebrew', 'pipx', 'uv', 'pip-user', 'pip', 'dev', 'unknown']
39
+ ) → str
40
+ ```
41
+
42
+ Get the appropriate upgrade command for the installation method.
43
+
44
+
45
+
46
+ **Args:**
47
+
48
+ - <b>`install_method`</b>: The detected installation method
49
+
50
+
51
+
52
+ **Returns:**
53
+ Upgrade command string
54
+
55
+
56
+ ---
57
+
58
+ <a href="https://github.com/henriqueslab/rxiv-maker/blob/main/src/src/rxiv_maker/utils/install_detector.py#L106"><img align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square"></a>
59
+
60
+ ## <kbd>function</kbd> `get_friendly_install_name`
61
+
62
+ ```python
63
+ get_friendly_install_name(
64
+ install_method: Literal['homebrew', 'pipx', 'uv', 'pip-user', 'pip', 'dev', 'unknown']
65
+ ) → str
66
+ ```
67
+
68
+ Get a user-friendly name for the installation method.
69
+
70
+
71
+
72
+ **Args:**
73
+
74
+ - <b>`install_method`</b>: The detected installation method
75
+
76
+
77
+
78
+ **Returns:**
79
+ Friendly name string
80
+
81
+
@@ -1,3 +1,3 @@
1
1
  """Version information."""
2
2
 
3
- __version__ = "1.16.1"
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