-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
45 lines (36 loc) · 1.47 KB
/
Copy pathCargo.toml
File metadata and controls
45 lines (36 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
[package]
name = "phorge"
version = "0.3.0"
edition = "2024"
description = "A composable CLI toolkit for phylogenetics: NCBI acquisition, homology-based gene extraction, alignment QC, and supermatrix concatenation in one binary."
license = "MIT"
repository = "https://github.com/andrewbudge/phorge"
readme = "README.md"
keywords = ["phylogenetics", "bioinformatics", "fasta", "cli", "genomics"]
categories = ["command-line-utilities", "science"]
exclude = ["docs/"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
# --- Lean file tools + shared CLI ---
clap = { version = "4", features = ["derive", "env"] }
libc = "0.2.183"
# --- Acquisition layer (query, fetch, extract, clean, run) ---
# Async runtime + HTTP for talking to NCBI E-utilities.
tokio = { version = "1", features = ["full"] }
reqwest = { version = "0.12", features = ["json", "rustls-tls", "stream"] }
# NCBI rate limiting (3 req/s without an API key, 10 with one).
governor = "0.6"
# query_results.json and the JSONL log are real structured state, not simple TSV.
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Error handling + structured logging for the pipeline commands.
anyhow = "1"
thiserror = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
# Download progress + atomic temp-file writes.
indicatif = "0.17"
tempfile = "3"
which = "6"
# Parallelism (also slated for scrub later).
rayon = "1"