-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
55 lines (51 loc) · 2.47 KB
/
Copy pathCargo.toml
File metadata and controls
55 lines (51 loc) · 2.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
46
47
48
49
50
51
52
53
54
55
[package]
name = "zudb-python"
version = "0.0.2"
edition = "2024"
rust-version = "1.98"
license = "Apache-2.0"
repository = "https://github.com/tamnd/zu-python"
authors = ["Tam Nguyen <tamnd87@gmail.com>"]
publish = false
[lib]
name = "_zudb"
crate-type = ["cdylib"]
[dependencies]
# The engine, by revision rather than by version. Nothing is published
# yet, and a binding is built against the engine commit it will ship
# with (ADR 0002), so a revision is the honest way to say which one.
# A local checkout is used instead with a `paths` override in
# `.cargo/config.toml`, which is untracked on purpose.
zudb = { package = "zu", git = "https://github.com/tamnd/zu", rev = "cfdc70f291719309b96a8300dc8425154d0fd5d5" }
zu-common = { git = "https://github.com/tamnd/zu", rev = "cfdc70f291719309b96a8300dc8425154d0fd5d5" }
# The one translation from a result into Arrow, which lives in the
# engine tree so that every client agrees about what a column becomes.
# `ffi` is the only feature this client turns on: what Python wants is
# the C Data Interface, which is how a result reaches pyarrow, pandas
# and polars without a Python object per cell.
zu-arrow = { git = "https://github.com/tamnd/zu", rev = "cfdc70f291719309b96a8300dc8425154d0fd5d5", features = ["ffi"] }
# `extension-module` is asked for by maturin, in pyproject.toml, and
# not here. Only the build backend knows how an extension is linked on
# the platform it is building for, and a crate that turns the feature
# on by default is a crate `cargo build` cannot link on its own.
pyo3 = { version = "0.29" }
# Arrow again, directly, because reading one is this client's job too:
# `register` takes a frame from pandas or polars over the same C Data
# Interface, and that side is a reader and not a writer.
arrow = { version = "59", default-features = false, features = ["ffi"] }
numpy = "0.29"
# Which ABI to build against, which is the one thing a wheel cannot be
# told after it is built. The default is the stable ABI from 3.11 up,
# which is the wheel almost everybody installs. The other two are
# asked for by the release job and by nothing else:
# `--no-default-features` builds against whichever interpreter is
# given, which is what the free-threaded 3.14 wheel needs because that
# build has no stable ABI at all, and `abi3t` is PEP 803's, which is
# the one that ends the need for a wheel per free-threaded version.
[features]
default = ["abi3"]
abi3 = ["pyo3/abi3-py311"]
abi3t = ["pyo3/abi3t-py315"]
[profile.release]
lto = "thin"
strip = true