gapit 0.3.0__tar.gz → 0.3.1__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 (224) hide show
  1. {gapit-0.3.0 → gapit-0.3.1}/CHANGELOG.md +7 -0
  2. {gapit-0.3.0 → gapit-0.3.1}/PKG-INFO +1 -1
  3. {gapit-0.3.0 → gapit-0.3.1}/docs/agents.md +1 -1
  4. {gapit-0.3.0 → gapit-0.3.1}/docs/databases.md +1 -1
  5. {gapit-0.3.0 → gapit-0.3.1}/docs/installation.md +2 -2
  6. {gapit-0.3.0 → gapit-0.3.1}/docs/mcp.md +4 -4
  7. {gapit-0.3.0 → gapit-0.3.1}/docs/outputs.md +3 -3
  8. {gapit-0.3.0 → gapit-0.3.1}/docs/quickstart.md +1 -1
  9. {gapit-0.3.0 → gapit-0.3.1}/docs/reads.md +6 -6
  10. {gapit-0.3.0 → gapit-0.3.1}/docs/screen.md +2 -2
  11. {gapit-0.3.0 → gapit-0.3.1}/docs/summary.md +2 -2
  12. {gapit-0.3.0 → gapit-0.3.1}/pixi.lock +2 -2
  13. {gapit-0.3.0 → gapit-0.3.1}/pixi.toml +1 -1
  14. {gapit-0.3.0 → gapit-0.3.1}/pyproject.toml +1 -1
  15. {gapit-0.3.0 → gapit-0.3.1}/recipe/meta.yaml +2 -2
  16. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/__init__.py +1 -1
  17. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/cli.py +2 -0
  18. {gapit-0.3.0 → gapit-0.3.1}/tests/golden/reads_tinyamr.json +1 -1
  19. {gapit-0.3.0 → gapit-0.3.1}/tests/golden/reads_tinyamr.md +1 -1
  20. {gapit-0.3.0 → gapit-0.3.1}/tests/golden/screen_multi.json +1 -1
  21. {gapit-0.3.0 → gapit-0.3.1}/tests/golden/screen_multi.md +1 -1
  22. {gapit-0.3.0 → gapit-0.3.1}/tests/golden/summary_multi.json +1 -1
  23. {gapit-0.3.0 → gapit-0.3.1}/tests/golden/summary_multi.md +1 -1
  24. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_completion.py +9 -0
  25. {gapit-0.3.0 → gapit-0.3.1}/.gitattributes +0 -0
  26. {gapit-0.3.0 → gapit-0.3.1}/.github/workflows/ci.yml +0 -0
  27. {gapit-0.3.0 → gapit-0.3.1}/.github/workflows/docs.yml +0 -0
  28. {gapit-0.3.0 → gapit-0.3.1}/.github/workflows/release.yml +0 -0
  29. {gapit-0.3.0 → gapit-0.3.1}/.github/workflows/snapshot-refresh.yml +0 -0
  30. {gapit-0.3.0 → gapit-0.3.1}/.gitignore +0 -0
  31. {gapit-0.3.0 → gapit-0.3.1}/AGENTS.md +0 -0
  32. {gapit-0.3.0 → gapit-0.3.1}/LICENSE +0 -0
  33. {gapit-0.3.0 → gapit-0.3.1}/PLAN.md +0 -0
  34. {gapit-0.3.0 → gapit-0.3.1}/README.md +0 -0
  35. {gapit-0.3.0 → gapit-0.3.1}/SPEC.md +0 -0
  36. {gapit-0.3.0 → gapit-0.3.1}/docs/custom-db.md +0 -0
  37. {gapit-0.3.0 → gapit-0.3.1}/docs/faq.md +0 -0
  38. {gapit-0.3.0 → gapit-0.3.1}/docs/index.md +0 -0
  39. {gapit-0.3.0 → gapit-0.3.1}/mkdocs.yml +0 -0
  40. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/blast.py +0 -0
  41. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/cmd_db.py +0 -0
  42. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/cmd_db_build.py +0 -0
  43. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/cmd_db_install.py +0 -0
  44. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/cmd_db_outdated.py +0 -0
  45. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/cmd_db_search.py +0 -0
  46. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/cmd_screen.py +0 -0
  47. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/cmd_summary.py +0 -0
  48. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/config.py +0 -0
  49. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/data/snapshots/card.tar.gz +0 -0
  50. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/data/snapshots/vfdb.tar.gz +0 -0
  51. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/db.py +0 -0
  52. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/db_build_ops.py +0 -0
  53. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/db_ops.py +0 -0
  54. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/db_query_ops.py +0 -0
  55. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/dbbuild.py +0 -0
  56. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/dbcodec.py +0 -0
  57. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/dispatch.py +0 -0
  58. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/errors.py +0 -0
  59. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/fasta.py +0 -0
  60. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/formats/__init__.py +0 -0
  61. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/formats/json.py +0 -0
  62. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/formats/md.py +0 -0
  63. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/formats/schemas.py +0 -0
  64. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/formats/summary.py +0 -0
  65. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/formats/tsv.py +0 -0
  66. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/hits.py +0 -0
  67. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/mcp.py +0 -0
  68. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/mcp_schemas.py +0 -0
  69. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/mcp_tools.py +0 -0
  70. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/minimap.py +0 -0
  71. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/minimap2_run.py +0 -0
  72. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/paf.py +0 -0
  73. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/proctools.py +0 -0
  74. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/__init__.py +0 -0
  75. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/argannot.py +0 -0
  76. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/bacmet2.py +0 -0
  77. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/card.py +0 -0
  78. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/common.py +0 -0
  79. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/ecoh.py +0 -0
  80. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/ecoli_vf.py +0 -0
  81. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/megares.py +0 -0
  82. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/ncbi.py +0 -0
  83. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/plasmidfinder.py +0 -0
  84. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/resfinder.py +0 -0
  85. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/snapshots.py +0 -0
  86. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/upec_expec_vf.py +0 -0
  87. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/vfdb.py +0 -0
  88. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/providers/victors.py +0 -0
  89. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/py.typed +0 -0
  90. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/reads.py +0 -0
  91. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/records.py +0 -0
  92. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/report.py +0 -0
  93. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/screening.py +0 -0
  94. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/screening_reads.py +0 -0
  95. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/seqconvert.py +0 -0
  96. {gapit-0.3.0 → gapit-0.3.1}/src/gapit/summary.py +0 -0
  97. {gapit-0.3.0 → gapit-0.3.1}/tests/data/contigs/full.fa +0 -0
  98. {gapit-0.3.0 → gapit-0.3.1}/tests/data/contigs/gap.fa +0 -0
  99. {gapit-0.3.0 → gapit-0.3.1}/tests/data/contigs/none.fa +0 -0
  100. {gapit-0.3.0 → gapit-0.3.1}/tests/data/contigs/partial.fa +0 -0
  101. {gapit-0.3.0 → gapit-0.3.1}/tests/data/contigs/sort.fa +0 -0
  102. {gapit-0.3.0 → gapit-0.3.1}/tests/data/convert/sample.embl +0 -0
  103. {gapit-0.3.0 → gapit-0.3.1}/tests/data/convert/sample.embl.bz2 +0 -0
  104. {gapit-0.3.0 → gapit-0.3.1}/tests/data/convert/sample.fa +0 -0
  105. {gapit-0.3.0 → gapit-0.3.1}/tests/data/convert/sample.fa.gz +0 -0
  106. {gapit-0.3.0 → gapit-0.3.1}/tests/data/convert/sample.fq +0 -0
  107. {gapit-0.3.0 → gapit-0.3.1}/tests/data/convert/sample.gbk +0 -0
  108. {gapit-0.3.0 → gapit-0.3.1}/tests/data/convert/sample.gbk.gz +0 -0
  109. {gapit-0.3.0 → gapit-0.3.1}/tests/data/db/tinyamr/sequences +0 -0
  110. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/argannot/ARG-ANNOT_NT_V6_July2019.txt +0 -0
  111. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/bacmet2/BacMet2_EXP_database.fasta +0 -0
  112. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/card/card.json +0 -0
  113. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/ecoh/EcOH.fasta +0 -0
  114. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/ecoli_vf/repaired_ecoli_vfs_shortnames.ffn +0 -0
  115. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/megares/megares_drugs_demo.fasta +0 -0
  116. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/ncbi/AMR_CDS.fa +0 -0
  117. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/ncbi/ReferenceGeneCatalog.txt +0 -0
  118. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/plasmidfinder/plasmids_a.fsa +0 -0
  119. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/plasmidfinder/plasmids_b.fsa +0 -0
  120. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/resfinder/aminoglycoside.fsa +0 -0
  121. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/resfinder/beta-lactam.fsa +0 -0
  122. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/resfinder/phenotypes.txt +0 -0
  123. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/upec_expec_vf/UPEC_ExPEC_VF.tsv +0 -0
  124. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/vfdb/VFDB_setA_nt.fas +0 -0
  125. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/victors/gen_downloads.php +0 -0
  126. {gapit-0.3.0 → gapit-0.3.1}/tests/data/providers/victors/gen_downloads_protein.php +0 -0
  127. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/bla_partial.fq +0 -0
  128. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/junk.fq +0 -0
  129. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/suly_partial.fq +0 -0
  130. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/tetx_R1.fq +0 -0
  131. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/tetx_R2.fq +0 -0
  132. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/tetx_full.fq +0 -0
  133. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/tetx_full.fq.gz +0 -0
  134. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/tetx_lane1.fq +0 -0
  135. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/tetx_lane2.fq +0 -0
  136. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/tetx_pe1_R1.fq +0 -0
  137. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/tetx_pe1_R2.fq +0 -0
  138. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/tetx_pe2_R1.fq +0 -0
  139. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads/tetx_pe2_R2.fq +0 -0
  140. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads2/ont_homologs.fq +0 -0
  141. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads2/sr_homologs.fq +0 -0
  142. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads2_db/homologs/sequences +0 -0
  143. {gapit-0.3.0 → gapit-0.3.1}/tests/data/reads_db/tinyreads/sequences +0 -0
  144. {gapit-0.3.0 → gapit-0.3.1}/tests/data/summary/empty.tsv +0 -0
  145. {gapit-0.3.0 → gapit-0.3.1}/tests/data/summary/multi_sample.tsv +0 -0
  146. {gapit-0.3.0 → gapit-0.3.1}/tests/data/summary/sample_a.csv +0 -0
  147. {gapit-0.3.0 → gapit-0.3.1}/tests/data/summary/sample_a.tsv +0 -0
  148. {gapit-0.3.0 → gapit-0.3.1}/tests/data/summary/sample_b.csv +0 -0
  149. {gapit-0.3.0 → gapit-0.3.1}/tests/data/summary/sample_b.tsv +0 -0
  150. {gapit-0.3.0 → gapit-0.3.1}/tests/golden/summary_dutch.tsv +0 -0
  151. {gapit-0.3.0 → gapit-0.3.1}/tests/golden/summary_multi.csv +0 -0
  152. {gapit-0.3.0 → gapit-0.3.1}/tests/golden/summary_multi.tsv +0 -0
  153. {gapit-0.3.0 → gapit-0.3.1}/tests/golden/tinyamr_multi_nopath.csv +0 -0
  154. {gapit-0.3.0 → gapit-0.3.1}/tests/golden/tinyamr_multi_nopath.tsv +0 -0
  155. {gapit-0.3.0 → gapit-0.3.1}/tests/parity/corpus/01_exact_and_junk.fa +0 -0
  156. {gapit-0.3.0 → gapit-0.3.1}/tests/parity/corpus/02_mutated.fa +0 -0
  157. {gapit-0.3.0 → gapit-0.3.1}/tests/parity/corpus/03_truncated.fa +0 -0
  158. {gapit-0.3.0 → gapit-0.3.1}/tests/parity/make_corpus.py +0 -0
  159. {gapit-0.3.0 → gapit-0.3.1}/tests/parity/run_parity.py +0 -0
  160. {gapit-0.3.0 → gapit-0.3.1}/tests/parity/run_summary_parity.py +0 -0
  161. {gapit-0.3.0 → gapit-0.3.1}/tests/test_blast_parse.py +0 -0
  162. {gapit-0.3.0 → gapit-0.3.1}/tests/test_blast_pipeline.py +0 -0
  163. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_aligner.py +0 -0
  164. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_db_build.py +0 -0
  165. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_db_fetch.py +0 -0
  166. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_db_query.py +0 -0
  167. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_reads.py +0 -0
  168. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_reads2.py +0 -0
  169. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_schema.py +0 -0
  170. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_screen.py +0 -0
  171. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_screen_jobs.py +0 -0
  172. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_setupdb.py +0 -0
  173. {gapit-0.3.0 → gapit-0.3.1}/tests/test_cli_summary.py +0 -0
  174. {gapit-0.3.0 → gapit-0.3.1}/tests/test_config.py +0 -0
  175. {gapit-0.3.0 → gapit-0.3.1}/tests/test_db.py +0 -0
  176. {gapit-0.3.0 → gapit-0.3.1}/tests/test_db_fetch.py +0 -0
  177. {gapit-0.3.0 → gapit-0.3.1}/tests/test_db_headers.py +0 -0
  178. {gapit-0.3.0 → gapit-0.3.1}/tests/test_dbbuild.py +0 -0
  179. {gapit-0.3.0 → gapit-0.3.1}/tests/test_dbcodec.py +0 -0
  180. {gapit-0.3.0 → gapit-0.3.1}/tests/test_error_envelope.py +0 -0
  181. {gapit-0.3.0 → gapit-0.3.1}/tests/test_fasta.py +0 -0
  182. {gapit-0.3.0 → gapit-0.3.1}/tests/test_gapit_db_e2e.py +0 -0
  183. {gapit-0.3.0 → gapit-0.3.1}/tests/test_hits.py +0 -0
  184. {gapit-0.3.0 → gapit-0.3.1}/tests/test_json_format.py +0 -0
  185. {gapit-0.3.0 → gapit-0.3.1}/tests/test_mcp.py +0 -0
  186. {gapit-0.3.0 → gapit-0.3.1}/tests/test_mcp_db_tools.py +0 -0
  187. {gapit-0.3.0 → gapit-0.3.1}/tests/test_mcp_protocol.py +0 -0
  188. {gapit-0.3.0 → gapit-0.3.1}/tests/test_mcp_reads.py +0 -0
  189. {gapit-0.3.0 → gapit-0.3.1}/tests/test_md_format.py +0 -0
  190. {gapit-0.3.0 → gapit-0.3.1}/tests/test_minimap.py +0 -0
  191. {gapit-0.3.0 → gapit-0.3.1}/tests/test_mol_type.py +0 -0
  192. {gapit-0.3.0 → gapit-0.3.1}/tests/test_oversubscription.py +0 -0
  193. {gapit-0.3.0 → gapit-0.3.1}/tests/test_paf.py +0 -0
  194. {gapit-0.3.0 → gapit-0.3.1}/tests/test_paf_identity.py +0 -0
  195. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_argannot.py +0 -0
  196. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_bacmet2.py +0 -0
  197. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_card.py +0 -0
  198. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_ecoh.py +0 -0
  199. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_ecoli_vf.py +0 -0
  200. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_megares.py +0 -0
  201. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_ncbi.py +0 -0
  202. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_plasmidfinder.py +0 -0
  203. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_resfinder.py +0 -0
  204. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_upec_expec_vf.py +0 -0
  205. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_vfdb.py +0 -0
  206. {gapit-0.3.0 → gapit-0.3.1}/tests/test_provider_victors.py +0 -0
  207. {gapit-0.3.0 → gapit-0.3.1}/tests/test_providers_common.py +0 -0
  208. {gapit-0.3.0 → gapit-0.3.1}/tests/test_reads2_homologs.py +0 -0
  209. {gapit-0.3.0 → gapit-0.3.1}/tests/test_reads2_model.py +0 -0
  210. {gapit-0.3.0 → gapit-0.3.1}/tests/test_reads_aggregate.py +0 -0
  211. {gapit-0.3.0 → gapit-0.3.1}/tests/test_reads_integration.py +0 -0
  212. {gapit-0.3.0 → gapit-0.3.1}/tests/test_reads_interval_union.py +0 -0
  213. {gapit-0.3.0 → gapit-0.3.1}/tests/test_reads_streaming.py +0 -0
  214. {gapit-0.3.0 → gapit-0.3.1}/tests/test_records.py +0 -0
  215. {gapit-0.3.0 → gapit-0.3.1}/tests/test_report.py +0 -0
  216. {gapit-0.3.0 → gapit-0.3.1}/tests/test_screen_integration.py +0 -0
  217. {gapit-0.3.0 → gapit-0.3.1}/tests/test_screening_reads_unit.py +0 -0
  218. {gapit-0.3.0 → gapit-0.3.1}/tests/test_seqconvert.py +0 -0
  219. {gapit-0.3.0 → gapit-0.3.1}/tests/test_seqconvert_differential.py +0 -0
  220. {gapit-0.3.0 → gapit-0.3.1}/tests/test_snapshots.py +0 -0
  221. {gapit-0.3.0 → gapit-0.3.1}/tests/test_summary.py +0 -0
  222. {gapit-0.3.0 → gapit-0.3.1}/tests/test_summary_formats.py +0 -0
  223. {gapit-0.3.0 → gapit-0.3.1}/tests/test_tsv.py +0 -0
  224. {gapit-0.3.0 → gapit-0.3.1}/tests/test_version.py +0 -0
@@ -5,6 +5,13 @@ All notable changes to gapit are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this
6
6
  project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.1] - 2026-09-28
9
+
10
+ ### Added
11
+
12
+ - `-h` now works as an alias for `--help` on every command (root, subcommands,
13
+ and nested `db` sub-app).
14
+
8
15
  ## [0.3.0] - 2026-09-28
9
16
 
10
17
  ### Removed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: gapit
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Mass screening of contigs for antimicrobial resistance and virulence genes — agent-first Python reimplementation of abricate
5
5
  Project-URL: Homepage, https://github.com/indexofire/gapit
6
6
  Project-URL: Documentation, https://indexofire.github.io/gapit/
@@ -13,7 +13,7 @@ Version, as one JSON line:
13
13
 
14
14
  ```console
15
15
  $ gapit --version --json
16
- {"schema":"gapit.version/1","name":"gapit","version":"0.3.0"}
16
+ {"schema":"gapit.version/1","name":"gapit","version":"0.3.1"}
17
17
  ```
18
18
 
19
19
  Output schemas. Six documents are introspectable: `report`, `reads`,
@@ -345,7 +345,7 @@ versions. A real one, from the plasmidfinder database:
345
345
  "upstream_version": "",
346
346
  "tool": {
347
347
  "name": "gapit",
348
- "version": "0.3.0"
348
+ "version": "0.3.1"
349
349
  },
350
350
  "makeblastdb_version": "blastn: 2.17.0+",
351
351
  "minimap2_version": "2.31-r1302"
@@ -44,9 +44,9 @@ gapit --version
44
44
 
45
45
  ```console
46
46
  $ gapit --version
47
- gapit 0.3.0
47
+ gapit 0.3.1
48
48
  $ gapit --version --json
49
- {"schema":"gapit.version/1","name":"gapit","version":"0.3.0"}
49
+ {"schema":"gapit.version/1","name":"gapit","version":"0.3.1"}
50
50
  ```
51
51
 
52
52
  ## External binaries
@@ -94,7 +94,7 @@ EOF
94
94
  Response line 1, verbatim:
95
95
 
96
96
  ```text
97
- {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{}},"serverInfo":{"name":"gapit","version":"0.3.0"}}}
97
+ {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{}},"serverInfo":{"name":"gapit","version":"0.3.1"}}}
98
98
  ```
99
99
 
100
100
  Response line 2 (real output, elided in the middle; each tool carries its full
@@ -117,7 +117,7 @@ the same run):
117
117
  ```json
118
118
  {
119
119
  "schema": "gapit.report/1",
120
- "tool": {"name": "gapit", "version": "0.3.0"},
120
+ "tool": {"name": "gapit", "version": "0.3.1"},
121
121
  "created_at": "2026-09-19T01:15:44Z",
122
122
  "params": {"db": "tinyamr", "minid": 80.0, "mincov": 80.0, "threads": 1},
123
123
  "files": [
@@ -173,7 +173,7 @@ the same run):
173
173
  ```json
174
174
  {
175
175
  "schema": "gapit.reads/1",
176
- "tool": {"name": "gapit", "version": "0.3.0"},
176
+ "tool": {"name": "gapit", "version": "0.3.1"},
177
177
  "created_at": "2026-09-22T00:07:35Z",
178
178
  "params": {
179
179
  "db": "tinyreads",
@@ -248,7 +248,7 @@ hit is the gene the agent just built the database from (real output):
248
248
  ```json
249
249
  {
250
250
  "schema": "gapit.report/1",
251
- "tool": {"name": "gapit", "version": "0.3.0"},
251
+ "tool": {"name": "gapit", "version": "0.3.1"},
252
252
  "created_at": "2026-09-20T13:38:39Z",
253
253
  "params": {"db": "myamr", "minid": 80.0, "mincov": 80.0, "threads": 1},
254
254
  "files": [
@@ -115,7 +115,7 @@ Real document, same run as the TSV above:
115
115
  "schema": "gapit.report/1",
116
116
  "tool": {
117
117
  "name": "gapit",
118
- "version": "0.3.0"
118
+ "version": "0.3.1"
119
119
  },
120
120
  "created_at": "2026-09-19T01:12:20Z",
121
121
  "params": {
@@ -246,7 +246,7 @@ summarizing two report files, one with a `tetA` hit and one with none:
246
246
  "schema": "gapit.summary/1",
247
247
  "tool": {
248
248
  "name": "gapit",
249
- "version": "0.3.0"
249
+ "version": "0.3.1"
250
250
  },
251
251
  "created_at": "2026-09-19T01:11:09Z",
252
252
  "params": {
@@ -364,7 +364,7 @@ An agent can discover the whole contract from the binary alone.
364
364
 
365
365
  ```console
366
366
  $ gapit --version --json
367
- {"schema":"gapit.version/1","name":"gapit","version":"0.3.0"}
367
+ {"schema":"gapit.version/1","name":"gapit","version":"0.3.1"}
368
368
  ```
369
369
 
370
370
  `gapit schema <name>` prints the JSON Schema for each document. The six names: `report`,
@@ -79,7 +79,7 @@ gapit screen tests/data/contigs/full.fa --db tinyamr --format json
79
79
  "schema": "gapit.report/1",
80
80
  "tool": {
81
81
  "name": "gapit",
82
- "version": "0.3.0"
82
+ "version": "0.3.1"
83
83
  },
84
84
  "created_at": "2026-09-19T01:11:06Z",
85
85
  "params": {
@@ -28,7 +28,7 @@ gapit screen --r1 R1[,R1b,...] [--r2 R2[,R2b,...]] --db NAME [--read-type sr|map
28
28
  ## Options
29
29
 
30
30
  Reads mode runs through the same `gapit screen` command; these are the flags that apply
31
- (transcribed from `gapit screen --help`, gapit 0.3.0). Contig-mode flags not listed here
31
+ (transcribed from `gapit screen --help`, gapit 0.3.1). Contig-mode flags not listed here
32
32
  (`--minid`, `--mincov`, `--jobs`, `--fofn`, `--noheader`, `--nopath`) do not apply.
33
33
 
34
34
  | Flag | Type | Default | Description |
@@ -223,7 +223,7 @@ The short-read fixture behaves the same with one calibration: `sr` soft-clipping
223
223
  $ gapit screen --r1 ont_homologs.fq --db homologs --read-type map-ont --min-identity 95 --format md --quiet
224
224
  ---
225
225
  schema: gapit.reads/2
226
- tool: gapit 0.3.0
226
+ tool: gapit 0.3.1
227
227
  created_at: 2026-09-20T14:23:33Z
228
228
  db: homologs
229
229
  read_type: map-ont
@@ -262,7 +262,7 @@ Detected 1 present genes in tetx_full.fq
262
262
  "schema": "gapit.reads/1",
263
263
  "tool": {
264
264
  "name": "gapit",
265
- "version": "0.3.0"
265
+ "version": "0.3.1"
266
266
  },
267
267
  "created_at": "2026-09-19T01:12:25Z",
268
268
  "params": {
@@ -359,7 +359,7 @@ $ gapit screen --r1 tetx_lane1.fq,tetx_lane2.fq --db tinyreads --quiet
359
359
  $ gapit screen --r1 tetx_full.fq --db tinyreads --format md
360
360
  ---
361
361
  schema: gapit.reads/1
362
- tool: gapit 0.3.0
362
+ tool: gapit 0.3.1
363
363
  created_at: 2026-09-19T01:12:25Z
364
364
  db: tinyreads
365
365
  read_type: sr
@@ -455,7 +455,7 @@ Detected 2 present genes in /tmp/gapit-demo/assembly.fa
455
455
  "schema": "gapit.reads/1",
456
456
  "tool": {
457
457
  "name": "gapit",
458
- "version": "0.3.0"
458
+ "version": "0.3.1"
459
459
  },
460
460
  "created_at": "2026-09-19T14:23:00Z",
461
461
  "params": {
@@ -514,7 +514,7 @@ cost of allele-level precision. That trade suggests a two-stage workflow over ma
514
514
  pipeline, which applies the identity and coverage floors at abricate parity.
515
515
 
516
516
  Real numbers, one K. pneumoniae RefSeq assembly (GCF_000240185.1, 5.3 Mb, `--db ncbi`,
517
- single-threaded, gapit 0.3.0):
517
+ single-threaded, gapit 0.3.1):
518
518
 
519
519
  ```console
520
520
  $ # Stage 1: survey, ~0.9 s
@@ -9,7 +9,7 @@ Database setup is covered in [./databases.md](./databases.md); a full walk-throu
9
9
 
10
10
  ## Options
11
11
 
12
- Transcribed from `gapit screen --help` (gapit 0.3.0). Flags marked *reads mode* apply only when
12
+ Transcribed from `gapit screen --help` (gapit 0.3.1). Flags marked *reads mode* apply only when
13
13
  you pass `--r1`/`--r2`; they are documented in [./reads.md](./reads.md).
14
14
 
15
15
  | Flag | Type | Default | Description |
@@ -86,7 +86,7 @@ $ gapit screen tests/data/contigs/full.fa --db tinyamr --format json
86
86
  "schema": "gapit.report/1",
87
87
  "tool": {
88
88
  "name": "gapit",
89
- "version": "0.3.0"
89
+ "version": "0.3.1"
90
90
  },
91
91
  "created_at": "2026-09-19T01:12:04Z",
92
92
  "params": {
@@ -10,7 +10,7 @@ exactly what `gapit screen` writes. See [./screen.md](./screen.md) for producing
10
10
 
11
11
  ## Options
12
12
 
13
- Transcribed from `gapit summary --help` (gapit 0.3.0):
13
+ Transcribed from `gapit summary --help` (gapit 0.3.1):
14
14
 
15
15
  | Flag | Type | Default | Description |
16
16
  |---|---|---|---|
@@ -110,7 +110,7 @@ $ gapit summary tests/data/summary/sample_a.tsv tests/data/summary/sample_b.tsv
110
110
  "schema": "gapit.summary/1",
111
111
  "tool": {
112
112
  "name": "gapit",
113
- "version": "0.3.0"
113
+ "version": "0.3.1"
114
114
  },
115
115
  "created_at": "2026-09-19T01:12:48Z",
116
116
  "params": {
@@ -1135,8 +1135,8 @@ packages:
1135
1135
  timestamp: 1694615932610
1136
1136
  - pypi: ./
1137
1137
  name: gapit
1138
- version: 0.3.0
1139
- sha256: 079317f27b81dd25126368906a19acb3934a200b6fcdf3f2ac1490e9e60d4c46
1138
+ version: 0.3.1
1139
+ sha256: db655bb2b9f4c9843304958d45db24f7e9fe0f0f9b15460f54d03b9d00968b1c
1140
1140
  requires_dist:
1141
1141
  - typer>=0.12
1142
1142
  - pydantic>=2.7
@@ -3,7 +3,7 @@ authors = ["indexofire <indexofire@gmail.com>"]
3
3
  channels = ["conda-forge", "bioconda"]
4
4
  name = "gapit"
5
5
  platforms = ["linux-64"]
6
- version = "0.3.0"
6
+ version = "0.3.1"
7
7
 
8
8
  [tasks]
9
9
  lint = "ruff check"
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "gapit"
7
- version = "0.3.0"
7
+ version = "0.3.1"
8
8
  description = "Mass screening of contigs for antimicrobial resistance and virulence genes — agent-first Python reimplementation of abricate"
9
9
  readme = "README.md"
10
10
  authors = [{ name = "indexofire", email = "indexofire@gmail.com" }]
@@ -4,7 +4,7 @@
4
4
  # version/license/python/deps mirror pyproject.toml exactly; the external
5
5
  # binaries mirror pixi.toml's conda dependencies.
6
6
  {% set name = "gapit" %}
7
- {% set version = "0.3.0" %}
7
+ {% set version = "0.3.1" %}
8
8
 
9
9
  package:
10
10
  name: {{ name|lower }}
@@ -13,7 +13,7 @@ package:
13
13
  source:
14
14
  # gapit is not on PyPI yet. This is the standard noarch-python source URL;
15
15
  # replace the sha256 with the PyPI sdist hash at submission time.
16
- # The value below hashes the LOCAL hatchling sdist (dist/gapit-0.3.0.tar.gz)
16
+ # The value below hashes the LOCAL hatchling sdist (dist/gapit-0.3.1.tar.gz)
17
17
  # — local and PyPI sdists are not byte-identical (gzip), do not trust it.
18
18
  url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
19
19
  sha256: 24df143ed9647fc784fa29c776babfd880d3730d22004b997ed0aea3f105f5e3
@@ -1,3 +1,3 @@
1
1
  """gapit — agent-first Python reimplementation of abricate."""
2
2
 
3
- __version__ = "0.3.0"
3
+ __version__ = "0.3.1"
@@ -21,6 +21,8 @@ app = typer.Typer(
21
21
  help="Mass screening of contigs for antimicrobial resistance and virulence genes.",
22
22
  no_args_is_help=True,
23
23
  add_completion=True,
24
+ # -h alias for --help; click Context propagates this to all subcommands/sub-apps.
25
+ context_settings={"help_option_names": ["-h", "--help"]},
24
26
  )
25
27
 
26
28
 
@@ -2,7 +2,7 @@
2
2
  "schema": "gapit.reads/1",
3
3
  "tool": {
4
4
  "name": "gapit",
5
- "version": "0.3.0"
5
+ "version": "0.3.1"
6
6
  },
7
7
  "created_at": "2026-09-17T12:00:00Z",
8
8
  "params": {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  schema: gapit.reads/1
3
- tool: gapit 0.3.0
3
+ tool: gapit 0.3.1
4
4
  created_at: 2026-09-17T12:00:00Z
5
5
  db: tinyreads
6
6
  read_type: sr
@@ -2,7 +2,7 @@
2
2
  "schema": "gapit.report/1",
3
3
  "tool": {
4
4
  "name": "gapit",
5
- "version": "0.3.0"
5
+ "version": "0.3.1"
6
6
  },
7
7
  "created_at": "2026-09-17T12:00:00Z",
8
8
  "params": {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  schema: gapit.report/1
3
- tool: gapit 0.3.0
3
+ tool: gapit 0.3.1
4
4
  created_at: 2026-09-17T12:00:00Z
5
5
  db: tinyamr
6
6
  minid: 80.0
@@ -2,7 +2,7 @@
2
2
  "schema": "gapit.summary/1",
3
3
  "tool": {
4
4
  "name": "gapit",
5
- "version": "0.3.0"
5
+ "version": "0.3.1"
6
6
  },
7
7
  "created_at": "2026-09-17T12:00:00Z",
8
8
  "params": {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  schema: gapit.summary/1
3
- tool: gapit 0.3.0
3
+ tool: gapit 0.3.1
4
4
  created_at: 2026-09-17T12:00:00Z
5
5
  metric: '%COVERAGE'
6
6
  nopath: false
@@ -23,6 +23,15 @@ def test_root_help_lists_completion_options() -> None:
23
23
  assert "--show-completion" in help_text
24
24
 
25
25
 
26
+ def test_short_help_alias_works_on_every_level() -> None:
27
+ """Given -h instead of --help, When invoked on the root app, a
28
+ subcommand, and a nested sub-app, Then each prints its help and exits 0."""
29
+ for argv in (["-h"], ["screen", "-h"], ["db", "-h"], ["db", "fetch", "-h"]):
30
+ result = runner.invoke(app, argv, env={"COLUMNS": "100"})
31
+ assert result.exit_code == 0, argv
32
+ assert "Usage:" in ANSI_STYLE.sub("", result.stdout), argv
33
+
34
+
26
35
  def test_show_completion_emits_shell_script() -> None:
27
36
  """Given --show-completion under a pinned SHELL, When run, Then a bash
28
37
  completion script referencing the gapit completion env var is printed
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes