-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
97 lines (89 loc) · 2.99 KB
/
Cargo.toml
File metadata and controls
97 lines (89 loc) · 2.99 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
[workspace]
resolver = "2"
members = [
"rust/alloc_track",
"rust/array2d",
"rust/calibrt",
"rust/micromzpaf",
"rust/timscentroid",
"rust/timsseek",
"rust/timsseek_cli",
"rust/timsquery",
"rust/timsquery_cli",
"rust/timsquery_viewer",
"rust/speclib_build_cli",
"rust/tims_stage",
"python/timsquery_pyo3"
]
default-members = [
"rust/alloc_track",
"rust/array2d",
"rust/calibrt",
"rust/micromzpaf",
"rust/timscentroid",
"rust/timsseek",
"rust/timsseek_cli",
"rust/timsquery",
"rust/timsquery_cli",
"rust/timsquery_viewer",
"rust/speclib_build_cli",
"rust/tims_stage"
]
[workspace.package]
version = "0.31.0"
edition = "2024"
authors = ["Sebastian Paez"]
license = "Apache-2.0"
[workspace.dependencies]
half = "2.6"
tracing = { version = "0.1.40", features = ["log"] }
serde = { version = "1.0.219", features = ["derive", "rc"] }
serde_json = "1.0.141"
tracing-subscriber = { version = "0.3.18", features = [
"registry",
"env-filter",
"json",
] }
timsrust = { git = "https://github.com/jspaezp/timsrust", branch = "experimental/recalib_iter" }
rusqlite = "0.37.0"
rayon = "1.5"
clap = { version = "4.5.27", features = ["derive"] }
indicatif = { version = "0.18.0", features = ["rayon"] }
# Parquet and arrow usually need to be kept in sync.
# arrow: drop csv/ipc/json default features — we don't read/write those formats.
# parquet: keep default compression codecs (zstd/snap/lz4/brotli/flate2) so we can
# read speclibs written with any of them.
parquet_derive = { version = "57.1" }
parquet = { version = "57.1" }
arrow = { version = "57.1", default-features = false }
mimalloc = { version = "0.1.46", features = ["secure"] }
thiserror = "2"
insta = { version = "1.34.0" }
bon = "3.8.1"
tinyvec = { features = ["alloc", "serde"], version = "1.10.0" }
smallvec = { version = "1.13", features = ["const_generics", "union"] }
rustyms = { version = "0.11.0", default-features = false }
csv = "1.3"
tempfile = "3.23.0"
# Patch rustyms to drop gnome.dat (60MB glycan ontology, unused here) and
# panic with a clear message if anything reaches the GNOME code path.
# Saves ~60MB in release binaries. The actual edits live in
# patches/rustyms+0.11.0.patch and are applied to target/patch/rustyms-0.11.0
# by the `patch-crate` build-dep + build.rs in the crates below.
# Patch rustyms to drop gnome.dat (60MB glycan ontology) + panic-with-link on
# access. Diff lives in patches/rustyms+0.11.0.patch; `patch-crate` extracts
# rustyms into target/patch/ via timsseek_cli's build.rs. On a clean checkout
# run `cargo patch-crate` once to populate target/patch/ before building, or
# trigger a first build of timsseek_cli to let its build.rs handle it.
[patch.crates-io]
rustyms = { path = "./target/patch/rustyms-0.11.0" }
[workspace.lints.clippy]
len_without_is_empty = "allow"
[profile.release]
lto = 'thin'
codegen-units = 1
panic = 'abort'
opt-level = 3
strip = "symbols"
# Flip `strip` off and `debug = true` on when profiling / flamegraph.
# debug = true