rxiv-maker 1.16.1__tar.gz → 1.16.3__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.3}/CHANGELOG.md +27 -0
  2. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/PKG-INFO +1 -1
  3. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/README.md +2 -0
  4. rxiv_maker-1.16.3/src/docs/api/homebrew_checker.py.md +99 -0
  5. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/index.md +2 -0
  6. rxiv_maker-1.16.3/src/docs/api/install_detector.py.md +81 -0
  7. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/__version__.py +1 -1
  8. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/init.py +4 -5
  9. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/upgrade.py +1 -1
  10. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/framework/base.py +3 -0
  11. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/framework/workflow_commands.py +4 -22
  12. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/bst_generator.py +23 -6
  13. rxiv_maker-1.16.3/tests/cli/test_init_command.py +571 -0
  14. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/.gitignore +0 -0
  15. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/LICENSE +0 -0
  16. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/README.md +0 -0
  17. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/pyproject.toml +0 -0
  18. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/__version__.py.md +0 -0
  19. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/author_name_formatter.py.md +0 -0
  20. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/bibliography_parser.py.md +0 -0
  21. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/cache_utils.py.md +0 -0
  22. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/changelog_parser.py.md +0 -0
  23. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/citation_utils.py.md +0 -0
  24. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/email_encoder.py.md +0 -0
  25. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/error_codes.py.md +0 -0
  26. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/figure_utils.py.md +0 -0
  27. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/github.py.md +0 -0
  28. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/logging_config.py.md +0 -0
  29. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/operation_ids.py.md +0 -0
  30. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/platform.py.md +0 -0
  31. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/python_execution_reporter.py.md +0 -0
  32. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/text_utils.py.md +0 -0
  33. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/unicode_safe.py.md +0 -0
  34. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/url_to_doi.py.md +0 -0
  35. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/docs/api/validate.py.md +0 -0
  36. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/logo/logo-rxiv-maker.afdesign +0 -0
  37. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/logo/logo-rxiv-maker.png +0 -0
  38. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/logo/logo-rxiv-maker.svg +0 -0
  39. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/__init__.py +0 -0
  40. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/__init__.py +0 -0
  41. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/__main__.py +0 -0
  42. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/__init__.py +0 -0
  43. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/arxiv.py +0 -0
  44. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/bibliography.py +0 -0
  45. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/build.py +0 -0
  46. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/cache_management.py +0 -0
  47. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/changelog.py +0 -0
  48. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/check_installation.py +0 -0
  49. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/clean.py +0 -0
  50. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/completion.py +0 -0
  51. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/config.py +0 -0
  52. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/create_repo.py +0 -0
  53. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/docx.py +0 -0
  54. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/figures.py +0 -0
  55. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/get_rxiv_preprint.py +0 -0
  56. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/install_deps.py +0 -0
  57. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/repo_init.py +0 -0
  58. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/repos.py +0 -0
  59. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/repos_search.py +0 -0
  60. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/setup.py +0 -0
  61. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/track_changes.py +0 -0
  62. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/validate.py +0 -0
  63. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/commands/version.py +0 -0
  64. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/framework/__init__.py +0 -0
  65. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/framework/cache_commands.py +0 -0
  66. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/framework/config_commands.py +0 -0
  67. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/framework/content_commands.py +0 -0
  68. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/framework/decorators.py +0 -0
  69. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/framework/utility_commands.py +0 -0
  70. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/framework.py +0 -0
  71. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/interactive.py +0 -0
  72. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/interactive_prompts.py +0 -0
  73. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/cli/main.py +0 -0
  74. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/config/defaults.py +0 -0
  75. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/config/validator.py +0 -0
  76. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/__init__.py +0 -0
  77. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/citation_processor.py +0 -0
  78. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/code_processor.py +0 -0
  79. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/comment_processor.py +0 -0
  80. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/custom_command_processor.py +0 -0
  81. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/figure_processor.py +0 -0
  82. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/html_processor.py +0 -0
  83. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/list_processor.py +0 -0
  84. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/math_processor.py +0 -0
  85. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/md2tex.py +0 -0
  86. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/python_executor.py +0 -0
  87. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/section_processor.py +0 -0
  88. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/supplementary_note_processor.py +0 -0
  89. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/table_processor.py +0 -0
  90. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/text_formatters.py +0 -0
  91. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/types.py +0 -0
  92. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/converters/url_processor.py +0 -0
  93. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/cache/__init__.py +0 -0
  94. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/cache/advanced_cache.py +0 -0
  95. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/cache/bibliography_cache.py +0 -0
  96. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/cache/cache_utils.py +0 -0
  97. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/cache/doi_cache.py +0 -0
  98. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/cache/secure_cache_utils.py +0 -0
  99. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/content_processor.py +0 -0
  100. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/environment_bootstrap.py +0 -0
  101. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/environment_manager.py +0 -0
  102. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/error_codes.py +0 -0
  103. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/error_recovery.py +0 -0
  104. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/logging_config.py +0 -0
  105. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/managers/__init__.py +0 -0
  106. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/managers/cache_manager.py +0 -0
  107. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/managers/config_manager.py +0 -0
  108. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/managers/dependency_manager.py +0 -0
  109. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/managers/execution_manager.py +0 -0
  110. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/managers/file_manager.py +0 -0
  111. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/managers/install_manager.py +0 -0
  112. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/managers/state_manager.py +0 -0
  113. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/managers/unified_config_manager.py +0 -0
  114. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/managers/validation_manager.py +0 -0
  115. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/managers/workflow_manager.py +0 -0
  116. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/path_manager.py +0 -0
  117. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/progress_framework.py +0 -0
  118. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/repo_config.py +0 -0
  119. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/repository.py +0 -0
  120. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/session_optimizer.py +0 -0
  121. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/core/validation_framework.py +0 -0
  122. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/data/tips.yaml +0 -0
  123. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/__init__.py +0 -0
  124. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/__init__.py +0 -0
  125. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/add_bibliography.py +0 -0
  126. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/build_manager.py +0 -0
  127. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/cleanup.py +0 -0
  128. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/fix_bibliography.py +0 -0
  129. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/generate_docs.py +0 -0
  130. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/generate_figures.py +0 -0
  131. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/generate_preprint.py +0 -0
  132. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/prepare_arxiv.py +0 -0
  133. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/setup_environment.py +0 -0
  134. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/track_changes.py +0 -0
  135. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/validate.py +0 -0
  136. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/engines/operations/validate_pdf.py +0 -0
  137. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/exporters/__init__.py +0 -0
  138. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/exporters/docx_citation_mapper.py +0 -0
  139. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/exporters/docx_content_processor.py +0 -0
  140. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/exporters/docx_exporter.py +0 -0
  141. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/exporters/docx_writer.py +0 -0
  142. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/__init__.py +0 -0
  143. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/dependency_handlers/__init__.py +0 -0
  144. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/dependency_handlers/latex.py +0 -0
  145. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/dependency_handlers/r_lang.py +0 -0
  146. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/dependency_handlers/system_libs.py +0 -0
  147. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/platform_installers/__init__.py +0 -0
  148. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/platform_installers/base.py +0 -0
  149. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/platform_installers/linux.py +0 -0
  150. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/platform_installers/macos.py +0 -0
  151. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/platform_installers/windows.py +0 -0
  152. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/utils/__init__.py +0 -0
  153. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/utils/logging.py +0 -0
  154. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/utils/progress.py +0 -0
  155. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/install/utils/verification.py +0 -0
  156. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/manuscript_utils/__init__.py +0 -0
  157. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/manuscript_utils/figure_utils.py +0 -0
  158. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/processors/__init__.py +0 -0
  159. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/processors/author_processor.py +0 -0
  160. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/processors/markdown_preprocessor.py +0 -0
  161. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/processors/template_processor.py +0 -0
  162. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/processors/yaml_processor.py +0 -0
  163. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/rxiv_maker_cli.py +0 -0
  164. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/scripts/__init__.py +0 -0
  165. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/scripts/custom_doc_generator.py +0 -0
  166. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/scripts/validate_manuscript.py +0 -0
  167. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/services/__init__.py +0 -0
  168. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/services/base.py +0 -0
  169. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/services/build_service.py +0 -0
  170. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/services/configuration_service.py +0 -0
  171. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/services/manuscript_service.py +0 -0
  172. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/services/publication_service.py +0 -0
  173. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/services/validation_service.py +0 -0
  174. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/templates/__init__.py +0 -0
  175. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/templates/manager.py +0 -0
  176. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/templates/registry.py +0 -0
  177. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/tex/python_execution_section.tex +0 -0
  178. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/__init__.py +0 -0
  179. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/author_name_formatter.py +0 -0
  180. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/bibliography_checksum.py +0 -0
  181. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/bibliography_parser.py +0 -0
  182. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/changelog_parser.py +0 -0
  183. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/citation_utils.py +0 -0
  184. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/dependency_checker.py +0 -0
  185. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/docx_helpers.py +0 -0
  186. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/doi_resolver.py +0 -0
  187. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/email_encoder.py +0 -0
  188. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/figure_checksum.py +0 -0
  189. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/file_helpers.py +0 -0
  190. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/github.py +0 -0
  191. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/homebrew_checker.py +0 -0
  192. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/install_detector.py +0 -0
  193. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/operation_ids.py +0 -0
  194. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/pdf_utils.py +0 -0
  195. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/performance.py +0 -0
  196. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/platform.py +0 -0
  197. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/python_execution_reporter.py +0 -0
  198. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/retry.py +0 -0
  199. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/text_utils.py +0 -0
  200. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/tips.py +0 -0
  201. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/title_sync.py +0 -0
  202. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/unicode_safe.py +0 -0
  203. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/update_checker.py +0 -0
  204. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/utils/url_to_doi.py +0 -0
  205. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validate.py +0 -0
  206. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/__init__.py +0 -0
  207. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/base_validator.py +0 -0
  208. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/citation_validator.py +0 -0
  209. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/doi/__init__.py +0 -0
  210. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/doi/api_clients.py +0 -0
  211. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/doi/metadata_comparator.py +0 -0
  212. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/doi_validator.py +0 -0
  213. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/figure_validator.py +0 -0
  214. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/latex_error_parser.py +0 -0
  215. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/math_validator.py +0 -0
  216. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/pdf_validator.py +0 -0
  217. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/reference_validator.py +0 -0
  218. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/rxiv_maker/validators/syntax_validator.py +0 -0
  219. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/tex/style/rxiv_maker_style.bst +0 -0
  220. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/tex/style/rxiv_maker_style.cls +0 -0
  221. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/src/tex/template.tex +0 -0
  222. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/__init__.py +0 -0
  223. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/cli/__init__.py +0 -0
  224. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/cli/test_build.py +0 -0
  225. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/cli/test_changelog_command.py +0 -0
  226. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/cli/test_main.py +0 -0
  227. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/conftest.py +0 -0
  228. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/e2e/__init__.py +0 -0
  229. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/e2e/test_dummy_manuscript_generator.py +0 -0
  230. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/e2e/test_figure_workflow_validation.py +0 -0
  231. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/00_CONFIG.yml +0 -0
  232. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/01_MAIN.md +0 -0
  233. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/03_REFERENCES.bib +0 -0
  234. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/FIGURES/Fig1.png +0 -0
  235. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/FIGURES/Fig2.png +0 -0
  236. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/FIGURES/Fig3.png +0 -0
  237. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/README.md +0 -0
  238. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/docx_export/sample_manuscript/01_MAIN.md +0 -0
  239. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/docx_export/sample_manuscript/02_SUPPLEMENTARY_INFO.md +0 -0
  240. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/docx_export/sample_manuscript/03_REFERENCES.bib +0 -0
  241. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/docx_export/sample_manuscript/2025__unknown_et_al__rxiv.docx +0 -0
  242. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/fixtures/docx_export/sample_manuscript/sample_manuscript.docx +0 -0
  243. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/__init__.py +0 -0
  244. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_article_generation.py +0 -0
  245. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_bibliography_author_format_docx.py +0 -0
  246. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_binary_distribution.py +0 -0
  247. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_centralized_components.py +0 -0
  248. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_citation_injection.py +0 -0
  249. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_comment_system_integration.py +0 -0
  250. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_docx_export_integration.py +0 -0
  251. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_doi_fallback_integration.py +0 -0
  252. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_doi_validation_integration.py +0 -0
  253. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_example_manuscript.py +0 -0
  254. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_guillaume_fixtures.py +0 -0
  255. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_homebrew_workflow_validation.py +0 -0
  256. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_infrastructure_suite.py +0 -0
  257. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_init_build_workflow.py +0 -0
  258. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_install_verification_integration.py +0 -0
  259. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_latex_dependency_integration.py +0 -0
  260. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_manuscript_directory_integration.py +0 -0
  261. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_manuscript_python_execution_reporting.py +0 -0
  262. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_practical_manuscript_workflows.py +0 -0
  263. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_pypi_package_integration.py +0 -0
  264. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_python_execution_integration.py +0 -0
  265. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_repository_cli_integration.py +0 -0
  266. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_supplementary_formatting.py +0 -0
  267. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_user_reported_issue.py +0 -0
  268. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/integration/test_validation_workflow.py +0 -0
  269. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/regression/README.md +0 -0
  270. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/regression/conftest.py +0 -0
  271. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/regression/test_cli_argument_parsing.py +0 -0
  272. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/regression/test_discord_reported_issues.py +0 -0
  273. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/regression/test_error_message_quality.py +0 -0
  274. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/regression/test_google_colab_integration.py +0 -0
  275. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/regression/test_guillaume_edge_cases.py +0 -0
  276. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/regression/test_guillaume_pr131_rewrite.py +0 -0
  277. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/regression/test_path_resolution.py +0 -0
  278. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/regression/test_widget_author_behavior.py +0 -0
  279. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/regression/test_widget_interactions_playwright.py +0 -0
  280. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/smoke/__init__.py +0 -0
  281. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/smoke/test_basic_functionality.py +0 -0
  282. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/smoke/test_cli_smoke.py +0 -0
  283. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/system/__init__.py +0 -0
  284. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/system/test_ci_matrix.py +0 -0
  285. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/system/test_cli_workflows.py +0 -0
  286. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/system/test_end_to_end.py +0 -0
  287. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/test_homebrew_checker.py +0 -0
  288. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/test_install_detector.py +0 -0
  289. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/__init__.py +0 -0
  290. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/exporters/__init__.py +0 -0
  291. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/exporters/test_docx_citation_mapper.py +0 -0
  292. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/exporters/test_docx_content_processor.py +0 -0
  293. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_add_bibliography.py +0 -0
  294. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_arxiv_command.py +0 -0
  295. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_async_execution_manager.py +0 -0
  296. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_author_name_formatter.py +0 -0
  297. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_author_processor.py +0 -0
  298. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_build_command.py +0 -0
  299. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_build_manager.py +0 -0
  300. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_build_manager_manuscript_path.py +0 -0
  301. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_cache_security.py +0 -0
  302. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_cache_utils.py +0 -0
  303. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_check_installation_command.py +0 -0
  304. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_citation_processor.py +0 -0
  305. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_citation_rendering.py +0 -0
  306. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_citation_style.py +0 -0
  307. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_citation_utils.py +0 -0
  308. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_cli_cleanup_integration.py +0 -0
  309. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_cli_structure.py +0 -0
  310. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_comment_processor.py +0 -0
  311. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_conda_installation_manager.py +0 -0
  312. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_conda_platform_detection.py +0 -0
  313. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_cross_platform_optimizations.py +0 -0
  314. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_custom_command_processor.py +0 -0
  315. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_dependency_manager.py +0 -0
  316. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_dependency_package_names.py +0 -0
  317. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_docx_helpers.py +0 -0
  318. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_doi_fallback_system.py +0 -0
  319. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_doi_resolver.py +0 -0
  320. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_doi_validator.py +0 -0
  321. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_email_encoder.py +0 -0
  322. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_environment_manager.py +0 -0
  323. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_error_handling_scenarios.py +0 -0
  324. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_execution_manager_comprehensive.py +0 -0
  325. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_figure_generator.py +0 -0
  326. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_figure_processor.py +0 -0
  327. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_figure_processor_error_handling.py +0 -0
  328. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_file_helpers.py +0 -0
  329. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_fix_bibliography.py +0 -0
  330. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_generate_docs.py +0 -0
  331. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_generate_preprint.py +0 -0
  332. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_github.py +0 -0
  333. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_github_actions_integration.py +0 -0
  334. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_importlib_edge_cases.py +0 -0
  335. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_install_platform_installers.py +0 -0
  336. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_install_system_libs.py +0 -0
  337. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_install_verification.py +0 -0
  338. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_interactive_path_change.py +0 -0
  339. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_interactive_validators.py +0 -0
  340. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_latex_dependency_handler.py +0 -0
  341. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_manuscript_figure_utils.py +0 -0
  342. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_manuscript_repository.py +0 -0
  343. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_math_processor.py +0 -0
  344. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_md2tex.py +0 -0
  345. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_mermaid_fallback.py +0 -0
  346. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_path_manager.py +0 -0
  347. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_pdf_validator.py +0 -0
  348. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_platform_comprehensive.py +0 -0
  349. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_platform_detector.py +0 -0
  350. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_processor_suite.py +0 -0
  351. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_python_execution_reporter.py +0 -0
  352. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_python_executor.py +0 -0
  353. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_release_orchestrator.py +0 -0
  354. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_repository_manager.py +0 -0
  355. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_rxiv_setup_command.py +0 -0
  356. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_security_features.py +0 -0
  357. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_security_scanner.py +0 -0
  358. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_setup_environment.py +0 -0
  359. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_style_file_resolution.py +0 -0
  360. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_supplementary_note_processor.py +0 -0
  361. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_table_rotation.py +0 -0
  362. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_template_processor.py +0 -0
  363. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_text_formatters.py +0 -0
  364. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_text_utils.py +0 -0
  365. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_tips.py +0 -0
  366. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_title_sync.py +0 -0
  367. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_title_sync_validation.py +0 -0
  368. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_track_changes.py +0 -0
  369. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_trailing_slash_regression.py +0 -0
  370. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_upgrade_command.py +0 -0
  371. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_url_to_doi.py +0 -0
  372. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_utils.py +0 -0
  373. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_validate_backticks.py +0 -0
  374. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_validate_command_fixed.py +0 -0
  375. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_validate_manuscript.py +0 -0
  376. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_validation_suite.py +0 -0
  377. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_validators.py +0 -0
  378. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/unit/test_yaml_processor.py +0 -0
  379. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/README.md +0 -0
  380. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/figure-positioning/00_CONFIG.yml +0 -0
  381. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/figure-positioning/01_MAIN.md +0 -0
  382. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/figure-positioning/03_REFERENCES.bib +0 -0
  383. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/figure-positioning/FIGURES/Figure__positioning_test.png +0 -0
  384. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/figure-positioning/FIGURES/Figure__positioning_test.py +0 -0
  385. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/figure-positioning/FIGURES/ReadyFig.png +0 -0
  386. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/figure-positioning/FIGURES/ReadyFig.py +0 -0
  387. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/figure-positioning/README.md +0 -0
  388. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/methods-placement/00_CONFIG.yml +0 -0
  389. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/methods-placement/01_MAIN.md +0 -0
  390. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/methods-placement/02_SUPPLEMENTARY_INFO.md +0 -0
  391. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/methods-placement/03_REFERENCES.bib +0 -0
  392. {rxiv_maker-1.16.1 → rxiv_maker-1.16.3}/tests/visual/methods-placement/README.md +0 -0
@@ -7,6 +7,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.16.3] - 2025-12-15
11
+
12
+ ### Fixed
13
+ - **BibTeX Style Template Resolution**: Fixed `.bst` template file path resolution in `bst_generator.py`
14
+ - Corrected path traversal to properly locate template files in both installed and development environments
15
+ - Added fallback locations for robust template detection
16
+ - Eliminates "Template .bst file not found" warnings during PDF generation with custom bibliography formats
17
+ - Improved error messages to show all searched locations when template is not found
18
+
19
+ ## [1.16.2] - 2025-12-15
20
+
21
+ ### Changed
22
+ - **Non-Interactive Init Command**: Made `rxiv init` fully non-interactive for reliable automated testing
23
+ - Removed all interactive prompts (overwrite confirmation, manuscript details)
24
+ - Always uses sensible defaults for title, author, email, ORCID, and affiliation
25
+ - Fails immediately with clear error message if directory exists without `--force` flag
26
+ - `--no-interactive` flag hidden but maintained for backward compatibility
27
+ - Updated documentation to clearly state non-interactive behavior
28
+
29
+ ### Fixed
30
+ - **Error Messages**: Improved `CommandExecutionError` handling to display clean error messages to stderr
31
+ - **Import Fix**: Updated upgrade command to import `force_update_check` from `henriqueslab-updater` package
32
+
33
+ ### Testing
34
+ - Added comprehensive test suite with 26 tests covering all init command edge cases
35
+ - All tests passing: 26 new tests + 4 existing integration tests (30/30 total)
36
+
10
37
  ## [1.16.1] - 2025-12-15
11
38
 
12
39
  ### 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.3
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.3"
@@ -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
 
@@ -50,12 +50,29 @@ def generate_bst_file(format_type: str, output_dir: Path) -> Path:
50
50
  format_string = BST_FORMAT_MAP[format_type]
51
51
 
52
52
  # Find the template .bst file in the package
53
- # The template is located at src/tex/style/rxiv_maker_style.bst
54
- package_root = Path(__file__).parent.parent.parent
55
- template_path = package_root / "tex" / "style" / "rxiv_maker_style.bst"
56
-
57
- if not template_path.exists():
58
- raise FileNotFoundError(f"Template .bst file not found at: {template_path}")
53
+ # Try multiple locations for development and installed configurations
54
+ possible_template_paths = [
55
+ # Installed package location (site-packages/rxiv_maker/tex/style/)
56
+ Path(__file__).parent.parent / "tex" / "style" / "rxiv_maker_style.bst",
57
+ # Development location (src/tex/style/)
58
+ Path(__file__).parent.parent.parent / "tex" / "style" / "rxiv_maker_style.bst",
59
+ # Alternative development location
60
+ Path(__file__).parent.parent.parent.parent / "src" / "tex" / "style" / "rxiv_maker_style.bst",
61
+ ]
62
+
63
+ template_path = None
64
+ for path in possible_template_paths:
65
+ if path.exists():
66
+ template_path = path
67
+ break
68
+
69
+ if template_path is None:
70
+ searched_paths = "\n".join(f" - {p}" for p in possible_template_paths)
71
+ raise FileNotFoundError(
72
+ f"Template .bst file not found.\n"
73
+ f"Searched locations:\n{searched_paths}\n"
74
+ f"This may indicate a corrupted installation."
75
+ )
59
76
 
60
77
  # Read the template file
61
78
  try: