forked from benruijl/symbolica
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
70 lines (63 loc) · 1.81 KB
/
Cargo.toml
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
[package]
authors = ["Ben Ruijl <[email protected]>"]
build = "build.rs"
categories = ["science"]
description = "A blazing fast computer algebra system"
edition = "2021"
keywords = ["algebra", "symbolic", "manipulation", "mathematics", "physics"]
license-file = "License.md"
name = "symbolica"
readme = "Readme.md"
repository = "https://github.com/benruijl/symbolica"
rust-version = "1.73"
version = "0.9.0"
[profile.release]
codegen-units = 1
lto = true
[profile.dev-optim]
inherits = "dev"
opt-level = 3
[lib]
crate-type = ["lib"]
name = "symbolica"
[features]
default = []
# if using this, make sure jemalloc is compiled with --disable-initial-exec-tls
# if symbolica is used as a dynamic library (as is the case for the Python API)
faster_alloc = ["tikv-jemallocator"]
# sort functions based on an argument-by-argument comparison
full_fn_cmp = []
mathematica_api = ["wolfram-library-link"]
python_api = ["pyo3", "bincode"]
# build a module that is independent of the specific Python version
python_abi3 = ["pyo3/abi3", "pyo3/abi3-py37"]
[dependencies.pyo3]
features = ["extension-module", "abi3"]
optional = true
version = "0.20"
[dev-dependencies]
tracing-subscriber = {version = "0.3.18", features = ["env-filter"]}
[dependencies]
ahash = "0.8.7"
append-only-vec = "0.1"
bincode = {version = "1.3", optional = true}
brotli = "5.0"
byteorder = "1.5"
bytes = "1.5"
colored = "2.1"
dyn-clone = "1.0"
libloading = "0.8.4"
once_cell = "1.19"
rand = "0.8.5"
rand_xoshiro = "0.6"
rayon = "1.8"
rug = "=1.25.0"
self_cell = "1.0"
serde = {version = "1.0", features = ["derive"]}
smallvec = "1.13"
smartstring = "1.0"
tikv-jemallocator = {version = "0.5.4", optional = true}
tinyjson = "2.5"
tracing = {version = "0.1", features = ["max_level_trace", "release_max_level_warn"]}
wide = "0.7"
wolfram-library-link = {version = "0.2.9", optional = true}