[package] name = "pyo3-async-runtimes" description = "PyO3 bridges from Rust runtimes to Python's Asyncio library" version = "0.23.0" authors = [ "Andrew J Westlake ", "David Hewitt ", ] readme = "README.md" keywords = ["pyo3", "python", "ffi", "async", "asyncio"] homepage = "https://github.com/PyO3/pyo3-async-runtimes" repository = "https://github.com/PyO3/pyo3-async-runtimes" documentation = "https://docs.rs/crate/pyo3-async-runtimes/" categories = ["api-bindings", "development-tools::ffi"] license = "Apache-2.0" exclude = ["/.gitignore", "/codecov.yml", "/Makefile"] edition = "2021" rust-version = "1.63" [workspace] members = ["pyo3-async-runtimes-macros"] [features] async-std-runtime = ["async-std"] attributes = ["pyo3-async-runtimes-macros"] testing = ["clap", "inventory"] tokio-runtime = ["tokio"] unstable-streams = ["async-channel"] default = [] [package.metadata.docs.rs] features = ["attributes", "testing", "async-std-runtime", "tokio-runtime"] [[example]] name = "async_std" path = "examples/async_std.rs" required-features = ["attributes", "async-std-runtime"] [[example]] name = "tokio" path = "examples/tokio.rs" required-features = ["attributes", "tokio-runtime"] [[example]] name = "tokio_current_thread" path = "examples/tokio_current_thread.rs" required-features = ["attributes", "tokio-runtime"] [[example]] name = "tokio_multi_thread" path = "examples/tokio_multi_thread.rs" required-features = ["attributes", "tokio-runtime"] [[test]] name = "test_async_std_asyncio" path = "pytests/test_async_std_asyncio.rs" harness = false required-features = ["async-std-runtime", "testing", "attributes"] [[test]] name = "test_async_std_run_forever" path = "pytests/test_async_std_run_forever.rs" harness = false required-features = ["async-std-runtime", "testing"] [[test]] name = "test_tokio_current_thread_asyncio" path = "pytests/test_tokio_current_thread_asyncio.rs" harness = false required-features = ["tokio-runtime", "testing", "attributes"] [[test]] name = "test_tokio_current_thread_run_forever" path = "pytests/test_tokio_current_thread_run_forever.rs" harness = false required-features = ["tokio-runtime", "testing"] [[test]] name = "test_tokio_multi_thread_asyncio" path = "pytests/test_tokio_multi_thread_asyncio.rs" harness = false required-features = ["tokio-runtime", "testing", "attributes"] [[test]] name = "test_tokio_multi_thread_run_forever" path = "pytests/test_tokio_multi_thread_run_forever.rs" harness = false required-features = ["tokio-runtime", "testing"] [[test]] name = "test_async_std_uvloop" path = "pytests/test_async_std_uvloop.rs" harness = false required-features = ["async-std-runtime", "testing"] [[test]] name = "test_tokio_current_thread_uvloop" path = "pytests/test_tokio_current_thread_uvloop.rs" harness = false required-features = ["tokio-runtime", "testing"] [[test]] name = "test_tokio_multi_thread_uvloop" path = "pytests/test_tokio_multi_thread_uvloop.rs" harness = false required-features = ["tokio-runtime", "testing"] [[test]] name = "test_race_condition_regression" path = "pytests/test_race_condition_regression.rs" harness = false required-features = ["async-std-runtime", "testing"] [dependencies] async-channel = { version = "2.3", optional = true } clap = { version = "4.5", optional = true } futures = "0.3" inventory = { version = "0.3", optional = true } once_cell = "1.14" pin-project-lite = "0.2" pyo3 = "0.23" pyo3-async-runtimes-macros = { path = "pyo3-async-runtimes-macros", version = "=0.23.0", optional = true } [dev-dependencies] pyo3 = { version = "0.23", features = ["macros"] } [dependencies.async-std] version = "1.12" features = ["unstable"] optional = true [dependencies.tokio] version = "1.13" features = ["rt", "rt-multi-thread", "time"] optional = true