pyo3/Cargo.toml

149 lines
4.3 KiB
TOML
Raw Normal View History

2015-01-05 16:05:53 +00:00
[package]
2017-05-13 05:05:00 +00:00
name = "pyo3"
2021-11-18 07:34:22 +00:00
version = "0.15.1"
2017-08-12 16:31:14 +00:00
description = "Bindings to Python interpreter"
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
2015-04-19 05:50:50 +00:00
readme = "README.md"
2018-05-30 13:03:31 +00:00
keywords = ["pyo3", "python", "cpython", "ffi"]
2017-05-13 05:05:00 +00:00
homepage = "https://github.com/pyo3/pyo3"
2018-08-30 21:19:23 +00:00
repository = "https://github.com/pyo3/pyo3"
2018-11-02 21:32:18 +00:00
documentation = "https://docs.rs/crate/pyo3/"
2017-01-20 23:41:44 +00:00
categories = ["api-bindings", "development-tools::ffi"]
2017-07-23 18:21:01 +00:00
license = "Apache-2.0"
2022-01-16 16:12:40 +00:00
exclude = ["/.gitignore", ".cargo/config", "/codecov.yml", "/Makefile", "/pyproject.toml", "/noxfile.py"]
2019-02-01 13:01:18 +00:00
edition = "2018"
2021-08-21 19:51:37 +00:00
links = "python"
2015-01-05 16:05:53 +00:00
2015-03-08 14:29:44 +00:00
[dependencies]
cfg-if = "1.0"
libc = "0.2.62"
parking_lot = "0.11.0"
# ffi bindings to the python interpreter, split into a seperate crate so they can be used independently
pyo3-ffi = { path = "pyo3-ffi", version = "=0.15.1" }
# support crates for macros feature
2021-11-18 07:34:22 +00:00
pyo3-macros = { path = "pyo3-macros", version = "=0.15.1", optional = true }
2021-11-18 11:38:47 +00:00
indoc = { version = "1.0.3", optional = true }
unindent = { version = "0.1.4", optional = true }
# support crate for multiple-pymethods feature
2021-11-22 19:49:56 +00:00
inventory = { version = "0.2.0", optional = true }
# crate integrations that can be added using the eponymous features
anyhow = { version = "1.0", optional = true }
2021-11-18 11:38:47 +00:00
eyre = { version = ">= 0.4, < 0.7", optional = true }
2021-03-24 22:29:00 +00:00
hashbrown = { version = ">= 0.9, < 0.12", optional = true }
indexmap = { version = ">= 1.6, < 1.8", optional = true }
num-bigint = { version = "0.4", optional = true }
num-complex = { version = ">= 0.2, < 0.5", optional = true }
serde = { version = "1.0", optional = true }
2017-06-18 15:41:20 +00:00
2018-04-21 18:01:41 +00:00
[dev-dependencies]
2019-02-01 14:05:37 +00:00
assert_approx_eq = "1.1.0"
2021-11-18 11:38:47 +00:00
criterion = "0.3.5"
trybuild = "1.0.49"
2020-06-18 09:49:43 +00:00
rustversion = "1.0"
# 1.0.0 requires Rust 1.50
proptest = { version = "0.10.1", default-features = false, features = ["std"] }
send_wrapper = "0.5"
serde_json = "1.0.61"
[build-dependencies]
2021-11-18 07:34:22 +00:00
pyo3-build-config = { path = "pyo3-build-config", version = "0.15.1", features = ["resolve-config"] }
[features]
default = ["macros", "pyproto"]
# Enables macros: #[pyclass], #[pymodule], #[pyfunction] etc.
2021-12-28 01:25:01 +00:00
macros = ["pyo3-macros", "indoc", "unindent"]
2021-03-02 22:34:25 +00:00
# Enables multiple #[pymethods] per #[pyclass]
2021-08-19 20:55:39 +00:00
multiple-pymethods = ["inventory", "pyo3-macros/multiple-pymethods"]
# Enables deprecated #[pyproto] macro
pyproto = ["pyo3-macros/pyproto"]
# Use this feature when building an extension module.
# It tells the linker to keep the python symbols unresolved,
# so that the module can also be used with statically linked python interpreters.
extension-module = ["pyo3-ffi/extension-module"]
2020-10-31 07:35:14 +00:00
# Use the Python limited API. See https://www.python.org/dev/peps/pep-0384/ for more.
abi3 = ["pyo3-build-config/abi3", "pyo3-ffi/abi3"]
2020-10-31 07:35:14 +00:00
# With abi3, we can manually set the minimum Python version.
abi3-py37 = ["abi3-py38", "pyo3-build-config/abi3-py37", "pyo3-ffi/abi3-py37"]
abi3-py38 = ["abi3-py39", "pyo3-build-config/abi3-py38", "pyo3-ffi/abi3-py38"]
abi3-py39 = ["abi3-py310", "pyo3-build-config/abi3-py39", "pyo3-ffi/abi3-py39"]
abi3-py310 = ["abi3", "pyo3-build-config/abi3-py310", "pyo3-ffi/abi3-py310"]
# Changes `Python::with_gil` and `Python::acquire_gil` to automatically initialize the
# Python interpreter if needed.
auto-initialize = []
# Optimizes PyObject to Vec conversion and so on.
2020-06-17 08:10:00 +00:00
nightly = []
2017-06-11 23:35:24 +00:00
# Activates all additional features
# This is mostly intended for testing purposes - activating *all* of these isn't particularly useful.
full = ["macros", "pyproto", "multiple-pymethods", "num-bigint", "num-complex", "hashbrown", "serde", "indexmap", "eyre", "anyhow"]
2021-05-26 06:25:00 +00:00
[[bench]]
name = "bench_call"
harness = false
2021-07-13 20:22:19 +00:00
[[bench]]
name = "bench_err"
harness = false
2021-05-26 06:25:00 +00:00
[[bench]]
name = "bench_dict"
harness = false
2021-12-22 00:27:13 +00:00
[[bench]]
name = "bench_frompyobject"
harness = false
required-features = ["macros"]
2021-12-22 00:27:13 +00:00
2021-05-16 07:11:37 +00:00
[[bench]]
name = "bench_gil"
harness = false
2021-05-26 06:25:00 +00:00
[[bench]]
name = "bench_list"
harness = false
[[bench]]
name = "bench_pyclass"
harness = false
required-features = ["macros"]
2021-05-26 06:25:00 +00:00
[[bench]]
name = "bench_pyobject"
harness = false
[[bench]]
name = "bench_set"
harness = false
[[bench]]
name = "bench_tuple"
harness = false
[workspace]
members = [
"pyo3-ffi",
"pyo3-build-config",
2020-12-13 11:29:39 +00:00
"pyo3-macros",
"pyo3-macros-backend",
"pytests",
2021-12-21 22:21:42 +00:00
"examples",
"xtask"
2018-08-21 22:02:37 +00:00
]
[package.metadata.docs.rs]
no-default-features = true
features = ["macros", "num-bigint", "num-complex", "hashbrown", "serde", "multiple-pymethods", "indexmap", "eyre"]
2021-05-16 07:11:37 +00:00
rustdoc-args = ["--cfg", "docsrs"]